From 6c3ed373a05dfaff4ad46de03761936721331f86 Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Tue, 7 Nov 2023 16:07:59 -0800 Subject: [PATCH 001/198] Add IP Streamer interface This interface is used to push TS data from a socket to test IPTV frontend. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: I95f0f74cb6bb9b73c9584d335b52937ab56830e1 --- .../aidl/vts/functional/utils/IpStreamer.cpp | 57 +++++++++++++++++++ .../aidl/vts/functional/utils/IpStreamer.h | 48 ++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 tv/tuner/aidl/vts/functional/utils/IpStreamer.cpp create mode 100644 tv/tuner/aidl/vts/functional/utils/IpStreamer.h diff --git a/tv/tuner/aidl/vts/functional/utils/IpStreamer.cpp b/tv/tuner/aidl/vts/functional/utils/IpStreamer.cpp new file mode 100644 index 0000000000..02b2633256 --- /dev/null +++ b/tv/tuner/aidl/vts/functional/utils/IpStreamer.cpp @@ -0,0 +1,57 @@ +#include "IpStreamer.h" + +IpStreamer::IpStreamer() {} + +IpStreamer::~IpStreamer() {} + +void IpStreamer::startIpStream() { + ALOGI("Starting IP Stream thread"); + mFp = fopen(mFilePath.c_str(), "rb"); + if (mFp == nullptr) { + ALOGE("Failed to open file at path: %s", mFilePath.c_str()); + return; + } + mIpStreamerThread = std::thread(&IpStreamer::ipStreamThreadLoop, this, mFp); +} + +void IpStreamer::stopIpStream() { + ALOGI("Stopping IP Stream thread"); + close(mSockfd); + if (mFp != nullptr) fclose(mFp); + if (mIpStreamerThread.joinable()) { + mIpStreamerThread.join(); + } +} + +void IpStreamer::ipStreamThreadLoop(FILE* fp) { + mSockfd = socket(AF_INET, SOCK_DGRAM, 0); + if (mSockfd < 0) { + ALOGE("IpStreamer::ipStreamThreadLoop: Socket creation failed (%s)", strerror(errno)); + exit(1); + } + + if (mFp == NULL) { + ALOGE("IpStreamer::ipStreamThreadLoop: Cannot open file %s: (%s)", mFilePath.c_str(), + strerror(errno)); + exit(1); + } + + struct sockaddr_in destaddr; + memset(&destaddr, 0, sizeof(destaddr)); + destaddr.sin_family = mIsIpV4 ? AF_INET : AF_INET6; + destaddr.sin_port = htons(mPort); + destaddr.sin_addr.s_addr = inet_addr(mIpAddress.c_str()); + + char buf[mBufferSize]; + int n; + while (1) { + if (fp == nullptr) break; + n = fread(buf, 1, mBufferSize, fp); + ALOGI("IpStreamer::ipStreamThreadLoop: Bytes read from fread(): %d\n", n); + if (n <= 0) { + break; + } + sendto(mSockfd, buf, n, 0, (struct sockaddr*)&destaddr, sizeof(destaddr)); + sleep(mSleepTime); + } +} diff --git a/tv/tuner/aidl/vts/functional/utils/IpStreamer.h b/tv/tuner/aidl/vts/functional/utils/IpStreamer.h new file mode 100644 index 0000000000..d073003c98 --- /dev/null +++ b/tv/tuner/aidl/vts/functional/utils/IpStreamer.h @@ -0,0 +1,48 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/** + * IP Streamer class to send TS data to a specified socket for testing IPTV frontend functions + * e.g. tuning and playback. + */ + +class IpStreamer { + public: + // Constructor for IP Streamer object + IpStreamer(); + + // Destructor for IP Streamer object + ~IpStreamer(); + + // Starts a thread to read data from a socket + void startIpStream(); + + // Stops the reading thread started by startIpStream + void stopIpStream(); + + // Thread function that consumes data from a socket + void ipStreamThreadLoop(FILE* fp); + + std::string getFilePath() { return mFilePath; }; + + private: + int mSockfd = -1; + FILE* mFp; + bool mIsIpV4 = true; // By default, set to IPV4 + int mPort = 12345; // default port + int mBufferSize = 188; // bytes + int mSleepTime = 1; // second + std::string mIpAddress = "127.0.0.1"; // default IP address + std::string mFilePath = "/data/local/tmp/segment000000.ts"; // default path for TS file + std::thread mIpStreamerThread; +}; \ No newline at end of file From 7a19139503a3204c3ddc1a3a0254d1932d027ef8 Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Tue, 7 Nov 2023 16:09:09 -0800 Subject: [PATCH 002/198] Update VTS cases for IPTV tuning IPTV tuning relies on a socket streaming TS data. This CL uses the interface defined in IpStreamer to test whether TS data is availble on a socket, and decides to send LOCKED event based on the result. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: I79c933458f01f18d35e85c53f67f3c1d3d21dbce --- tv/tuner/aidl/vts/functional/Android.bp | 1 + .../aidl/vts/functional/FrontendTests.cpp | 7 +++ tv/tuner/aidl/vts/functional/FrontendTests.h | 1 + .../functional/VtsHalTvTunerTargetTest.cpp | 60 +++++++++++++++++++ 4 files changed, 69 insertions(+) diff --git a/tv/tuner/aidl/vts/functional/Android.bp b/tv/tuner/aidl/vts/functional/Android.bp index 513007b4a8..09e63fc56b 100644 --- a/tv/tuner/aidl/vts/functional/Android.bp +++ b/tv/tuner/aidl/vts/functional/Android.bp @@ -37,6 +37,7 @@ cc_test { "FrontendTests.cpp", "LnbTests.cpp", "VtsHalTvTunerTargetTest.cpp", + "utils/IpStreamer.cpp", ], generated_headers: [ "tuner_testing_dynamic_configuration_V1_0_enums", diff --git a/tv/tuner/aidl/vts/functional/FrontendTests.cpp b/tv/tuner/aidl/vts/functional/FrontendTests.cpp index b0f614ed9b..b7b01859b2 100644 --- a/tv/tuner/aidl/vts/functional/FrontendTests.cpp +++ b/tv/tuner/aidl/vts/functional/FrontendTests.cpp @@ -475,6 +475,10 @@ AssertionResult FrontendTests::tuneFrontend(FrontendConfig config, bool testWith << "FrontendConfig does not match the frontend info of the given id."; mIsSoftwareFe = config.isSoftwareFe; + std::unique_ptr ipThread = std::make_unique(); + if (config.type == FrontendType::IPTV) { + ipThread->startIpStream(); + } if (mIsSoftwareFe && testWithDemux) { if (getDvrTests()->openDvrInDemux(mDvrConfig.type, mDvrConfig.bufferSize) != success()) { ALOGW("[vts] Software frontend dvr configure openDvr failed."); @@ -494,6 +498,9 @@ AssertionResult FrontendTests::tuneFrontend(FrontendConfig config, bool testWith getDvrTests()->startDvrPlayback(); } mFrontendCallback->tuneTestOnLock(mFrontend, config.settings); + if (config.type == FrontendType::IPTV) { + ipThread->stopIpStream(); + } return AssertionResult(true); } diff --git a/tv/tuner/aidl/vts/functional/FrontendTests.h b/tv/tuner/aidl/vts/functional/FrontendTests.h index 1746c8efcc..9c2ffc07d4 100644 --- a/tv/tuner/aidl/vts/functional/FrontendTests.h +++ b/tv/tuner/aidl/vts/functional/FrontendTests.h @@ -27,6 +27,7 @@ #include "DvrTests.h" #include "VtsHalTvTunerTestConfigurations.h" +#include "utils/IpStreamer.h" #define WAIT_TIMEOUT 3000000000 #define INVALID_ID -1 diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp index 3664b6cfdf..1b507e1f88 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp @@ -683,6 +683,10 @@ TEST_P(TunerDemuxAidlTest, openDemux) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -779,6 +783,10 @@ TEST_P(TunerFilterAidlTest, StartFilterInDemux) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } // TODO use parameterized tests auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { @@ -793,6 +801,10 @@ TEST_P(TunerFilterAidlTest, ConfigIpFilterInDemuxWithCid) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -808,6 +820,10 @@ TEST_P(TunerFilterAidlTest, ReconfigFilterToReceiveStartId) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } // TODO use parameterized tests auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { @@ -1111,6 +1127,10 @@ TEST_P(TunerRecordAidlTest, RecordDataFlowWithTsRecordFilterTest) { if (!record.support) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto record_configs = generateRecordConfigurations(); for (auto& configuration : record_configs) { record = configuration; @@ -1125,6 +1145,10 @@ TEST_P(TunerRecordAidlTest, AttachFiltersToRecordTest) { if (!record.support) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto record_configs = generateRecordConfigurations(); for (auto& configuration : record_configs) { record = configuration; @@ -1157,6 +1181,10 @@ TEST_P(TunerRecordAidlTest, SetStatusCheckIntervalHintToRecordTest) { if (!record.support) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto record_configs = generateRecordConfigurations(); for (auto& configuration : record_configs) { record = configuration; @@ -1194,6 +1222,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontend) { if (!scan.hasFrontendConnection) { return; } + // Blind scan is not applicable for IPTV frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; @@ -1218,6 +1250,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontendWithEndFrequency) { if (!scan.hasFrontendConnection) { return; } + // Blind scan is not application for IPTV frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; @@ -1242,6 +1278,10 @@ TEST_P(TunerFrontendAidlTest, LinkToCiCam) { TEST_P(TunerFrontendAidlTest, getHardwareInfo) { description("Test Frontend get hardware info"); + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } if (!live.hasFrontendConnection) { return; } @@ -1289,6 +1329,10 @@ TEST_P(TunerBroadcastAidlTest, BroadcastDataFlowAudioFilterTest) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1316,6 +1360,10 @@ TEST_P(TunerBroadcastAidlTest, IonBufferTest) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1345,6 +1393,10 @@ TEST_P(TunerBroadcastAidlTest, MediaFilterWithSharedMemoryHandle) { if (!live.hasFrontendConnection) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1358,6 +1410,10 @@ TEST_P(TunerDescramblerAidlTest, CreateDescrambler) { if (!descrambling.support) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } vector descrambling_configs = generateDescramblingConfigurations(); if (descrambling_configs.empty()) { @@ -1394,6 +1450,10 @@ TEST_P(TunerDescramblerAidlTest, ScrambledBroadcastDataFlowMediaFiltersTest) { if (!descrambling.support) { return; } + // Do not execute tests for IPTV Frontend + if (frontendMap[live.frontendId].type == FrontendType::IPTV) { + return; + } vector descrambling_configs = generateDescramblingConfigurations(); if (descrambling_configs.empty()) { From e88a10c8e072b38788ea1a3caefae7732a29943f Mon Sep 17 00:00:00 2001 From: Xiang Wang Date: Tue, 12 Sep 2023 17:29:38 -0700 Subject: [PATCH 003/198] Add VTS to check temperature and thresholds are set for SKIN type The test will only run if the product or board first API level is >= 35. Bug: b/288119641 Bug: b/302018405 Test: atest VtsHalThermalTargetTest Change-Id: I0954e23ea674cdc5f92842f7f72a66334deb386c --- thermal/aidl/vts/VtsHalThermalTargetTest.cpp | 44 ++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp index 4b0eb655b5..ecb64a706e 100644 --- a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp +++ b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #define LOG_TAG "thermal_aidl_hal_test" @@ -227,6 +228,49 @@ TEST_P(ThermalAidlTest, TemperatureThresholdTest) { } } +// Test Thermal->getTemperatureThresholdsWithType(SKIN). +// @VsrTest = GMS-VSR-3.2.5-001 +// @VsrTest = VSR-3.2.5-001 +// @VsrTest = GMS-VSR-3.2.5-002 +// @VsrTest = VSR-3.2.5-002 +TEST_P(ThermalAidlTest, SkinTemperatureThresholdsTest) { + auto apiLevel = ::android::base::GetIntProperty("ro.vendor.api_level", 0); + if (apiLevel < 35) { + GTEST_SKIP() << "Skipping test as the vendor level is below 35: " << apiLevel; + } + std::vector temperatures; + ::ndk::ScopedAStatus status = + mThermal->getTemperaturesWithType(TemperatureType::SKIN, &temperatures); + ASSERT_TRUE(status.isOk()) << "getTemperaturesWithType(SKIN) failed"; + ASSERT_FALSE(temperatures.empty()) << "getTemperaturesWithType(SKIN) returns empty"; + ASSERT_EQ(1, temperatures.size()) + << "getTemperaturesWithType(SKIN) returns multiple temperatures"; + + std::vector thresholds; + status = mThermal->getTemperatureThresholdsWithType(TemperatureType::SKIN, &thresholds); + ASSERT_TRUE(status.isOk()) << "getTemperatureThresholdsWithType(SKIN) failed"; + ASSERT_FALSE(thresholds.empty()) << "getTemperatureThresholdsWithType(SKIN) returns empty"; + ASSERT_EQ(1, thresholds.size()) + << "getTemperatureThresholdsWithType(SKIN) returns multiple thresholds"; + auto temperature = temperatures[0]; + auto threshold = thresholds[0]; + ASSERT_EQ(temperature.name, threshold.name); + auto severities = ::ndk::enum_range(); + auto cardinality = std::distance(severities.begin(), severities.end()); + ASSERT_NE(NAN, temperature.value); + ASSERT_EQ(cardinality, threshold.hotThrottlingThresholds.size()); + float lastThreshold = threshold.hotThrottlingThresholds[1]; + // skip NONE, and check that the rest should be set and non-decreasing + for (auto i = 2; i < cardinality; i++) { + float t = threshold.hotThrottlingThresholds[i]; + ASSERT_NE(NAN, t); + ASSERT_TRUE(t >= lastThreshold) << "Temperature thresholds should be non-decreasing " + << "but got " << t << " for status " << i << " and " + << lastThreshold << " for status " << i - 1; + lastThreshold = t; + } +} + // Test Thermal->getCoolingDevices(). TEST_P(ThermalAidlTest, CoolingDeviceTest) { std::vector ret; From 77ffcf9da67b00d0ca75f90c324ff15c66ae2b68 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Tue, 12 Dec 2023 16:27:58 +0900 Subject: [PATCH 004/198] Set min_sdk_version:34 Change-Id: If43a2327bf3d4fa1ef10fc1965c8901b57b021f5 --- wifi/aidl/Android.bp | 3 +++ wifi/aidl/default/Android.bp | 1 + wifi/common/aidl/Android.bp | 3 +++ 3 files changed, 7 insertions(+) diff --git a/wifi/aidl/Android.bp b/wifi/aidl/Android.bp index ac95f85c2b..1a7c6d8335 100644 --- a/wifi/aidl/Android.bp +++ b/wifi/aidl/Android.bp @@ -48,6 +48,9 @@ aidl_interface { cpp: { enabled: false, }, + ndk: { + min_sdk_version: "34", + }, }, versions_with_info: [ { diff --git a/wifi/aidl/default/Android.bp b/wifi/aidl/default/Android.bp index 31a3531046..2e3af1924a 100644 --- a/wifi/aidl/default/Android.bp +++ b/wifi/aidl/default/Android.bp @@ -67,6 +67,7 @@ cc_library_static { name: "android.hardware.wifi-service-lib", defaults: ["android.hardware.wifi-service-cppflags-defaults"], proprietary: true, + min_sdk_version: "34", compile_multilib: "first", cppflags: [ "-Wall", diff --git a/wifi/common/aidl/Android.bp b/wifi/common/aidl/Android.bp index 1913451fd7..6ee2f42903 100644 --- a/wifi/common/aidl/Android.bp +++ b/wifi/common/aidl/Android.bp @@ -43,5 +43,8 @@ aidl_interface { cpp: { enabled: false, }, + ndk: { + min_sdk_version: "34", + }, }, } From 756617334f37e3b4a59d41dec1b96234998e37b9 Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Wed, 6 Dec 2023 01:51:40 -0800 Subject: [PATCH 005/198] Add ULTRASONICS_SENSOR_MEASURED_DISTANCE to HAL layer. Bug: 292141998 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: I1bdd4fe5bd56a8af24c9b720a3e191a55a6a120b --- .../cpp/AccessForVehicleProperty.h | 1 + .../cpp/ChangeModeForVehicleProperty.h | 1 + .../java/AccessForVehicleProperty.java | 1 + .../java/ChangeModeForVehicleProperty.java | 1 + .../automotive/vehicle/VehicleProperty.aidl | 1 + .../automotive/vehicle/VehicleProperty.aidl | 26 +++++++++++++++++++ .../VtsHalAutomotiveVehicle_TargetTest.cpp | 7 +++++ 7 files changed, 38 insertions(+) diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index 36fc459f47..4d3ae86f98 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -203,6 +203,7 @@ std::unordered_map AccessForVehiclePrope {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}, diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index 0e05cff5fc..19ae5bc83b 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -203,6 +203,7 @@ std::unordered_map ChangeModeForVehi {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}, diff --git a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java index f274612f32..4cfb178592 100644 --- a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java @@ -195,6 +195,7 @@ public final class AccessForVehicleProperty { 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), diff --git a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java index 24860f52d6..f42fa1d34b 100644 --- a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java @@ -195,6 +195,7 @@ public final class ChangeModeForVehicleProperty { 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), diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index 1f69a52400..517860c383 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -201,6 +201,7 @@ enum VehicleProperty { ULTRASONICS_SENSOR_FIELD_OF_VIEW = (((0x0C22 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916130 */, ULTRASONICS_SENSOR_DETECTION_RANGE = (((0x0C23 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916131 */, ULTRASONICS_SENSOR_SUPPORTED_RANGES = (((0x0C24 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916132 */, + ULTRASONICS_SENSOR_MEASURED_DISTANCE = (((0x0C25 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916133 */, OBD2_LIVE_FRAME = (((0x0D00 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896064 */, OBD2_FREEZE_FRAME = (((0x0D01 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896065 */, OBD2_FREEZE_FRAME_INFO = (((0x0D02 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896066 */, diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 83fde0e4c0..5ff0a2ef1a 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -3454,6 +3454,32 @@ enum VehicleProperty { ULTRASONICS_SENSOR_SUPPORTED_RANGES = 0x0C24 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, + /** + * The distance reading of the nearest detected object per sensor in millimeters. + * + * Each individual sensor is identified by its VehicleAreaConfig#areaId and returns the sensor's + * measured distance formatted as [distance, distance_error] where: + * + * int32Values[0] = distance, the measured distance of the nearest object in millimeters. + * If only a range is supported, this value must be set to the minimum + * supported distance in the detected range as specified in + * ULTRASONICS_SENSOR_SUPPORTED_RANGES. + * int32Values[1] = distance_error, the error of the measured distance value in + * millimeters. + * + * If no object is detected, an empty vector must be returned. If distance_error is not + * available then an array of only the measured distance must be returned. + * + * If the data is aggregated by another ECU, then OEMs have the option of reporting the same + * reading across all included sensors or reporting a virtual representation of all the included + * sensors as if they were one sensor. + * + * @change_mode VehiclePropertyChangeMode.CONTINUOUS + * @access VehiclePropertyAccess.READ + */ + ULTRASONICS_SENSOR_MEASURED_DISTANCE = 0x0C25 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + + VehiclePropertyType.INT32_VEC, + /** * OBD2 Live Sensor Data * diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index ab2e4e7b74..737e0085fa 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -579,6 +579,13 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyUltrasonicsSensorSupportedRanges VehiclePropertyType::INT32_VEC); } +TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyUltrasonicsSensorMeasuredDistanceConfig) { + verifyProperty(VehicleProperty::ULTRASONICS_SENSOR_MEASURED_DISTANCE, + VehiclePropertyAccess::READ, VehiclePropertyChangeMode::CONTINUOUS, + VehiclePropertyGroup::SYSTEM, VehicleArea::VENDOR, + VehiclePropertyType::INT32_VEC); +} + TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyEmergencyLaneKeepAssistEnabledConfig) { verifyProperty(VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_ENABLED, VehiclePropertyAccess::READ_WRITE, VehiclePropertyChangeMode::ON_CHANGE, From 31b09489156990e9794466298889d11d506dbd82 Mon Sep 17 00:00:00 2001 From: maheshkkv Date: Wed, 13 Dec 2023 09:42:23 -0800 Subject: [PATCH 006/198] Add I2R and R2I 11az LTF repetition count Add IEEE 802.11az LTF repetition count for both I2R and R2I in 11az RTT ranging result. Also remove the LTF repetition count from RTT capabilities and config. The reason for removing is that vendor software can pick the optimized value without an input from framework. Bug: 295619650 Test: m Change-Id: I54b3ba9f490a9de83ac63b1dcde1e1cb4e1bd8fc --- .../android/hardware/wifi/RttCapabilities.aidl | 1 - .../current/android/hardware/wifi/RttConfig.aidl | 1 - .../current/android/hardware/wifi/RttResult.aidl | 3 ++- wifi/aidl/android/hardware/wifi/RttCapabilities.aidl | 5 ----- wifi/aidl/android/hardware/wifi/RttConfig.aidl | 5 ----- wifi/aidl/android/hardware/wifi/RttResult.aidl | 10 ++++++++-- wifi/aidl/default/aidl_struct_util.cpp | 12 ++++++------ 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl index 56ef2d204d..83f3f7e30d 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl @@ -46,5 +46,4 @@ parcelable RttCapabilities { android.hardware.wifi.RttBw azBwSupport; boolean ntbInitiatorSupported; boolean ntbResponderSupported; - int maxTxLtfRepetitionCount; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl index b7830bd126..16a14eaeb2 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl @@ -50,5 +50,4 @@ parcelable RttConfig { android.hardware.wifi.RttBw bw; int ntbMinMeasurementTimeMillis; int ntbMaxMeasurementTimeMillis; - int txLtfRepetitionCount; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl index 30f5f58b52..93a04acb6f 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl @@ -59,7 +59,8 @@ parcelable RttResult { android.hardware.wifi.WifiInformationElement lcr; int channelFreqMHz; android.hardware.wifi.RttBw packetBw; - int txLtfRepetitionCount; + byte i2rTxLtfRepetitionCount; + byte r2iTxLtfRepetitionCount; int ntbMinMeasurementTimeMillis; int ntbMaxMeasurementTimeMillis; } diff --git a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl index 0352ec8ea6..c4b7d24b6f 100644 --- a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl @@ -78,9 +78,4 @@ parcelable RttCapabilities { * Whether IEEE 802.11az Non-Trigger-based (non-TB) responder mode is supported. */ boolean ntbResponderSupported; - /** - * Maximum HE LTF repetitions the IEEE 802.11az initiator is capable of transmitting in the - * preamble of I2R NDP. - */ - int maxTxLtfRepetitionCount; } diff --git a/wifi/aidl/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/android/hardware/wifi/RttConfig.aidl index e970656229..97b3acfd71 100644 --- a/wifi/aidl/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/android/hardware/wifi/RttConfig.aidl @@ -128,9 +128,4 @@ parcelable RttConfig { * IEEE 802.11az Non-Trigger-based (non-TB) maximum measurement time in milliseconds. */ int ntbMaxMeasurementTimeMillis; - /** - * Multiple transmissions of HE-LTF symbols in an HE Ranging NDP. A value of 1 indicates no - * repetition. - */ - int txLtfRepetitionCount; } diff --git a/wifi/aidl/android/hardware/wifi/RttResult.aidl b/wifi/aidl/android/hardware/wifi/RttResult.aidl index 2cb0afa317..034b0da9f9 100644 --- a/wifi/aidl/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/android/hardware/wifi/RttResult.aidl @@ -146,9 +146,15 @@ parcelable RttResult { */ RttBw packetBw; /** - * IEEE 802.11az Transmit LTF repetitions used to get this result. + * Multiple transmissions of HE-LTF symbols in an HE (I2R) Ranging NDP. An HE-LTF repetition + * value of 1 indicates no repetitions. */ - int txLtfRepetitionCount; + byte i2rTxLtfRepetitionCount; + /** + * Multiple transmissions of HE-LTF symbols in an HE (R2I) Ranging NDP. An HE-LTF repetition + * value of 1 indicates no repetitions. + */ + byte r2iTxLtfRepetitionCount; /** * Minimum non-trigger based (non-TB) dynamic measurement time in milliseconds assigned by the * IEEE 802.11az responder. diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp index b62b3a0774..42f484be70 100644 --- a/wifi/aidl/default/aidl_struct_util.cpp +++ b/wifi/aidl/default/aidl_struct_util.cpp @@ -2741,7 +2741,6 @@ bool convertAidlRttConfigToLegacyV3(const RttConfig& aidl_config, if (!convertAidlRttConfigToLegacy(aidl_config, &(legacy_config->rtt_config))) { return false; } - legacy_config->tx_ltf_repetition_count = aidl_config.txLtfRepetitionCount; legacy_config->ntb_min_measurement_time_millis = aidl_config.ntbMinMeasurementTimeMillis; legacy_config->ntb_max_measurement_time_millis = aidl_config.ntbMaxMeasurementTimeMillis; return true; @@ -2891,7 +2890,6 @@ bool convertLegacyRttCapabilitiesToAidl( aidl_capabilities->azBwSupport = RttBw::BW_UNSPECIFIED; aidl_capabilities->ntbInitiatorSupported = false; aidl_capabilities->ntbResponderSupported = false; - aidl_capabilities->maxTxLtfRepetitionCount = 0; return true; } @@ -2919,7 +2917,6 @@ bool convertLegacyRttCapabilitiesV3ToAidl( convertLegacyRttBwBitmapToAidl(legacy_capabilities_v3.az_bw_support); aidl_capabilities->ntbInitiatorSupported = legacy_capabilities_v3.ntb_initiator_supported; aidl_capabilities->ntbResponderSupported = legacy_capabilities_v3.ntb_responder_supported; - aidl_capabilities->maxTxLtfRepetitionCount = legacy_capabilities_v3.max_tx_ltf_repetition_count; return true; } @@ -2994,7 +2991,8 @@ bool convertLegacyVectorOfRttResultToAidl( } aidl_result.channelFreqMHz = 0; aidl_result.packetBw = RttBw::BW_UNSPECIFIED; - aidl_result.txLtfRepetitionCount = 0; + aidl_result.i2rTxLtfRepetitionCount = 0; + aidl_result.r2iTxLtfRepetitionCount = 0; aidl_result.ntbMinMeasurementTimeMillis = 0; aidl_result.ntbMaxMeasurementTimeMillis = 0; aidl_results->push_back(aidl_result); @@ -3017,7 +3015,8 @@ bool convertLegacyVectorOfRttResultV2ToAidl( aidl_result.channelFreqMHz = legacy_result->frequency != UNSPECIFIED ? legacy_result->frequency : 0; aidl_result.packetBw = convertLegacyRttBwToAidl(legacy_result->packet_bw); - aidl_result.txLtfRepetitionCount = 0; + aidl_result.i2rTxLtfRepetitionCount = 0; + aidl_result.r2iTxLtfRepetitionCount = 0; aidl_result.ntbMinMeasurementTimeMillis = 0; aidl_result.ntbMaxMeasurementTimeMillis = 0; aidl_results->push_back(aidl_result); @@ -3041,7 +3040,8 @@ bool convertLegacyVectorOfRttResultV3ToAidl( ? legacy_result->rtt_result.frequency : 0; aidl_result.packetBw = convertLegacyRttBwToAidl(legacy_result->rtt_result.packet_bw); - aidl_result.txLtfRepetitionCount = legacy_result->tx_ltf_repetition_count; + aidl_result.i2rTxLtfRepetitionCount = legacy_result->i2r_tx_ltf_repetition_count; + aidl_result.r2iTxLtfRepetitionCount = legacy_result->r2i_tx_ltf_repetition_count; aidl_result.ntbMinMeasurementTimeMillis = legacy_result->ntb_min_measurement_time_millis; aidl_result.ntbMaxMeasurementTimeMillis = legacy_result->ntb_max_measurement_time_millis; aidl_results->push_back(aidl_result); From c3301598ec7301708ba4e7ed736845dfd384c74d Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Wed, 6 Dec 2023 16:45:24 -0800 Subject: [PATCH 007/198] Use GTEST_SKIP in bcradio AIDL HAL VTS Use GTEST_SKIP in bcradio AIDL HAL VTS so that the tests with assumption failed are ignored instead of passed. Bug: 315344807 Test: atest VtsHalBroadcastradioAidlTargetTest Change-Id: Ie170b9ed301f0183e8a4b83e53160674b900b658 --- .../VtsHalBroadcastradioAidlTargetTest.cpp | 71 +++++++------------ 1 file changed, 24 insertions(+), 47 deletions(-) diff --git a/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp b/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp index 2668a97c4f..754b05b93d 100644 --- a/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp +++ b/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -76,12 +77,6 @@ const ConfigFlag kConfigFlagValues[] = { constexpr int32_t kAidlVersion1 = 1; constexpr int32_t kAidlVersion2 = 2; -void printSkipped(const std::string& msg) { - const auto testInfo = testing::UnitTest::GetInstance()->current_test_info(); - LOG(INFO) << "[ SKIPPED ] " << testInfo->test_case_name() << "." << testInfo->name() - << " with message: " << msg; -} - bool isValidAmFmFreq(int64_t freq, int aidlVersion) { ProgramIdentifier id = bcutils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, freq); if (aidlVersion == kAidlVersion1) { @@ -385,7 +380,7 @@ std::optional BroadcastRadioHalTest::getProgramList( auto startResult = mModule->startProgramListUpdates(filter); if (startResult.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { - printSkipped("Program list not supported"); + LOG(WARNING) << "Program list not supported"; return std::nullopt; } EXPECT_TRUE(startResult.isOk()); @@ -430,8 +425,7 @@ TEST_P(BroadcastRadioHalTest, GetAmFmRegionConfig) { bool supported = getAmFmRegionConfig(/* full= */ false, &config); if (!supported) { - printSkipped("AM/FM not supported"); - return; + GTEST_SKIP() << "AM/FM not supported"; } EXPECT_LE(popcountll(static_cast(config.fmDeemphasis)), 1); @@ -459,8 +453,7 @@ TEST_P(BroadcastRadioHalTest, GetAmFmRegionConfigRanges) { bool supported = getAmFmRegionConfig(/* full= */ false, &config); if (!supported) { - printSkipped("AM/FM not supported"); - return; + GTEST_SKIP() << "AM/FM not supported"; } EXPECT_GT(config.ranges.size(), 0u); @@ -488,7 +481,7 @@ TEST_P(BroadcastRadioHalTest, GetAmFmRegionConfigCapabilitiesForFM) { if (supported && supportsFM(config)) { EXPECT_GE(popcountll(static_cast(config.fmDeemphasis)), 1); } else { - printSkipped("FM not supported"); + GTEST_SKIP() << "FM not supported"; } } @@ -509,8 +502,7 @@ TEST_P(BroadcastRadioHalTest, GetAmFmRegionConfigCapabilitiesRanges) { bool supported = getAmFmRegionConfig(/* full= */ true, &config); if (!supported) { - printSkipped("AM/FM not supported"); - return; + GTEST_SKIP() << "AM/FM not supported"; } EXPECT_GT(config.ranges.size(), 0u); @@ -536,8 +528,7 @@ TEST_P(BroadcastRadioHalTest, GetDabRegionConfig) { auto halResult = mModule->getDabRegionConfig(&config); if (halResult.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { - printSkipped("DAB not supported"); - return; + GTEST_SKIP() << "DAB not supported"; } ASSERT_TRUE(halResult.isOk()); @@ -671,7 +662,7 @@ TEST_P(BroadcastRadioHalTest, TuneFailsWithEmpty) { * - if it is supported, the method succeeds; * - after a successful tune call, onCurrentProgramInfoChanged callback is * invoked carrying a proper selector; - * - program changes exactly to what was requested. + * - program changes to a program info with the program selector requested. */ TEST_P(BroadcastRadioHalTest, FmTune) { LOG(DEBUG) << "FmTune Test"; @@ -715,8 +706,7 @@ TEST_P(BroadcastRadioHalTest, HdTune) { LOG(DEBUG) << "HdTune Test"; auto programList = getProgramList(); if (!programList) { - printSkipped("Empty station list, tune cannot be performed"); - return; + GTEST_SKIP() << "Empty station list, tune cannot be performed"; } ProgramSelector hdSel = {}; ProgramIdentifier physicallyTunedToExpected = {}; @@ -732,8 +722,7 @@ TEST_P(BroadcastRadioHalTest, HdTune) { break; } if (!hdStationPresent) { - printSkipped("No HD stations in the list, tune cannot be performed"); - return; + GTEST_SKIP() << "No HD stations in the list, tune cannot be performed"; } // try tuning @@ -762,7 +751,7 @@ TEST_P(BroadcastRadioHalTest, HdTune) { * - if it is supported, the method succeeds; * - after a successful tune call, onCurrentProgramInfoChanged callback is * invoked carrying a proper selector; - * - program changes exactly to what was requested. + * - program changes to a program info with the program selector requested. */ TEST_P(BroadcastRadioHalTest, DabTune) { LOG(DEBUG) << "DabTune Test"; @@ -771,8 +760,7 @@ TEST_P(BroadcastRadioHalTest, DabTune) { auto halResult = mModule->getDabRegionConfig(&config); if (halResult.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { - printSkipped("DAB not supported"); - return; + GTEST_SKIP() << "DAB not supported"; } ASSERT_TRUE(halResult.isOk()); ASSERT_NE(config.size(), 0U); @@ -780,8 +768,7 @@ TEST_P(BroadcastRadioHalTest, DabTune) { auto programList = getProgramList(); if (!programList) { - printSkipped("Empty DAB station list, tune cannot be performed"); - return; + GTEST_SKIP() << "Empty DAB station list, tune cannot be performed"; } ProgramSelector sel = {}; @@ -811,8 +798,7 @@ TEST_P(BroadcastRadioHalTest, DabTune) { } if (!dabStationPresent) { - printSkipped("No DAB stations in the list, tune cannot be performed"); - return; + GTEST_SKIP() << "No DAB stations in the list, tune cannot be performed"; } // try tuning @@ -844,7 +830,7 @@ TEST_P(BroadcastRadioHalTest, DabTune) { * Verifies that: * - the method succeeds; * - the program info is changed within kTuneTimeoutMs; - * - works both directions and with or without skipping sub-channel. + * - works both directions and with or without ing sub-channel. */ TEST_P(BroadcastRadioHalTest, Seek) { LOG(DEBUG) << "Seek Test"; @@ -854,8 +840,7 @@ TEST_P(BroadcastRadioHalTest, Seek) { auto result = mModule->seek(/* in_directionUp= */ true, /* in_skipSubChannel= */ true); if (result.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { - printSkipped("Seek not supported"); - return; + GTEST_SKIP() << "Seek not supported"; } EXPECT_TRUE(result.isOk()); @@ -905,8 +890,7 @@ TEST_P(BroadcastRadioHalTest, Step) { auto result = mModule->step(/* in_directionUp= */ true); if (result.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { - printSkipped("Step not supported"); - return; + GTEST_SKIP() << "Step not supported"; } EXPECT_TRUE(result.isOk()); EXPECT_TRUE(mCallback->waitOnCurrentProgramInfoChangedCallback()); @@ -957,8 +941,7 @@ TEST_P(BroadcastRadioHalTest, Cancel) { auto result = mModule->seek(/* in_directionUp= */ true, /* in_skipSubChannel= */ true); if (result.getServiceSpecificError() == notSupportedError) { - printSkipped("Cancel is skipped because of seek not supported"); - return; + GTEST_SKIP() << "Cancel is skipped because of seek not supported"; } EXPECT_TRUE(result.isOk()); @@ -1152,8 +1135,7 @@ TEST_P(BroadcastRadioHalTest, GetProgramListFromAmFmFilter) { std::optional completeList = getProgramList(); if (!completeList) { - printSkipped("No program list available"); - return; + GTEST_SKIP() << "No program list available"; } ProgramFilter amfmFilter = {}; @@ -1178,8 +1160,7 @@ TEST_P(BroadcastRadioHalTest, GetProgramListFromAmFmFilter) { } if (expectedResultSize == 0) { - printSkipped("No Am/FM programs available"); - return; + GTEST_SKIP() << "No Am/FM programs available"; } std::optional amfmList = getProgramList(amfmFilter); ASSERT_EQ(amfmList->size(), expectedResultSize) << "amfm filter result size is wrong"; @@ -1200,8 +1181,7 @@ TEST_P(BroadcastRadioHalTest, GetProgramListFromDabFilter) { std::optional completeList = getProgramList(); if (!completeList) { - printSkipped("No program list available"); - return; + GTEST_SKIP() << "No program list available"; } ProgramFilter dabFilter = {}; @@ -1225,8 +1205,7 @@ TEST_P(BroadcastRadioHalTest, GetProgramListFromDabFilter) { } if (expectedResultSize == 0) { - printSkipped("No DAB programs available"); - return; + GTEST_SKIP() << "No DAB programs available"; } std::optional dabList = getProgramList(dabFilter); ASSERT_EQ(dabList->size(), expectedResultSize) << "dab filter result size is wrong"; @@ -1245,8 +1224,7 @@ TEST_P(BroadcastRadioHalTest, HdRadioStationNameId) { std::optional list = getProgramList(); if (!list) { - printSkipped("No program list"); - return; + GTEST_SKIP() << "No program list"; } for (const auto& program : *list) { @@ -1297,8 +1275,7 @@ TEST_P(BroadcastRadioHalTest, AnnouncementListenerRegistration) { if (halResult.getServiceSpecificError() == resultToInt(Result::NOT_SUPPORTED)) { ASSERT_EQ(closeHandle.get(), nullptr); - printSkipped("Announcements not supported"); - return; + GTEST_SKIP() << "Announcements not supported"; } ASSERT_TRUE(halResult.isOk()); From 555598956efbc37842013143c6674462923bafbd Mon Sep 17 00:00:00 2001 From: shrikar Date: Fri, 1 Dec 2023 23:35:06 +0000 Subject: [PATCH 008/198] Added HEAD_UP_DISPLAY_ENABLED to HAL Bug: 314383237 Test: atest VtsHalAutomotiveVehicle_TargetTest FakeVehicleHardwareTest Change-Id: I38fd94520b66fc329b6e1ec62789357046a3b24d --- .../generated_lib/cpp/AccessForVehicleProperty.h | 1 + .../cpp/ChangeModeForVehicleProperty.h | 1 + .../java/AccessForVehicleProperty.java | 1 + .../java/ChangeModeForVehicleProperty.java | 1 + .../default_config/config/DefaultProperties.json | 13 +++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 1 + .../automotive/vehicle/VehicleProperty.aidl | 16 ++++++++++++++++ .../src/VtsHalAutomotiveVehicle_TargetTest.cpp | 6 ++++++ 8 files changed, 40 insertions(+) diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index ba44e074b5..f31c83e013 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -125,6 +125,7 @@ std::unordered_map AccessForVehiclePrope {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}, diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index a720f2d122..c717f30fd5 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -125,6 +125,7 @@ std::unordered_map ChangeModeForVehi {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}, diff --git a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java index be849f59ee..f59ae71dc9 100644 --- a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java @@ -117,6 +117,7 @@ public final class AccessForVehicleProperty { 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), diff --git a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java index 780eaa3261..156b90af5e 100644 --- a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java @@ -117,6 +117,7 @@ public final class ChangeModeForVehicleProperty { 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), diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 665c10e8e3..0a10105ab7 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3218,6 +3218,19 @@ ] } }, + { + "property": "VehicleProperty::HEAD_UP_DISPLAY_ENABLED", + "defaultValue": { + "int32Values": [ + 0 + ] + }, + "areas": [ + { + "areaId": "Constants::SEAT_1_LEFT" + } + ] + }, { "property": "VehicleProperty::OBD2_LIVE_FRAME", "configArray": [ diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index b6bfb0452c..0179a2adfc 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -123,6 +123,7 @@ enum VehicleProperty { DISPLAY_BRIGHTNESS = (((0x0A03 + 0x10000000) + 0x01000000) + 0x00400000) /* 289409539 */, PER_DISPLAY_BRIGHTNESS = (((0x0A04 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475076 */, VALET_MODE_ENABLED = (((0x0A05 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287312389 */, + HEAD_UP_DISPLAY_ENABLED = (((0x0A06 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421254 */, HW_KEY_INPUT = (((0x0A10 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475088 */, HW_KEY_INPUT_V2 = (((0x0A11 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.MIXED) /* 367004177 */, HW_MOTION_INPUT = (((0x0A12 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.MIXED) /* 367004178 */, diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index ecabe8c3b6..117ecc53b7 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -1589,6 +1589,22 @@ enum VehicleProperty { */ VALET_MODE_ENABLED = 0x0A05 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, + /** + * Head up display (HUD) enabled + * + * This property allows the user to turn on/off the HUD for their seat. + * + * Each HUD in the vehicle should be assigned to the seat that is intended to use it. For + * example, if there is a single HUD in the vehicle that is used by the driver so that they no + * longer need to continuously look at the instrument cluster, then this property should be + * defined with a single area ID equal to the driver's seat area value. + * + * @change_mode VehiclePropertyChangeMode.ON_CHANGE + * @access VehiclePropertyAccess.READ_WRITE + * @access VehiclePropertyAccess.READ + */ + HEAD_UP_DISPLAY_ENABLED = + 0x0A06 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, /** * Property to feed H/W input events to android * diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index ba36f298f4..158129d94a 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -1011,6 +1011,12 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyCrossTrafficMonitoringWarningSta VehiclePropertyGroup::SYSTEM, VehicleArea::GLOBAL, VehiclePropertyType::INT32); } +TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyHeadUpDisplayEnabledConfig) { + verifyProperty(VehicleProperty::HEAD_UP_DISPLAY_ENABLED, VehiclePropertyAccess::READ_WRITE, + VehiclePropertyChangeMode::ON_CHANGE, VehiclePropertyGroup::SYSTEM, + VehicleArea::SEAT, VehiclePropertyType::BOOLEAN); +} + bool VtsHalAutomotiveVehicleTargetTest::checkIsSupported(int32_t propertyId) { auto result = mVhalClient->getPropConfigs({propertyId}); return result.ok(); From d11b9f832f13bec41ebb080c0e741ff89db10120 Mon Sep 17 00:00:00 2001 From: shrikar Date: Mon, 4 Dec 2023 17:39:28 +0000 Subject: [PATCH 009/198] Added LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED to HAL Bug: 314786275 Test: atest VtsHalAutomotiveVehicle_TargetTest Change-Id: Ic80eed8362bba273bac409c175a726317054de7e --- .../cpp/AccessForVehicleProperty.h | 1 + .../cpp/ChangeModeForVehicleProperty.h | 1 + .../java/AccessForVehicleProperty.java | 3 +- .../java/ChangeModeForVehicleProperty.java | 3 +- .../config/DefaultProperties.json | 8 +++++ .../automotive/vehicle/VehicleProperty.aidl | 1 + .../automotive/vehicle/VehicleProperty.aidl | 30 ++++++++++++++++++- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 6 ++++ 8 files changed, 50 insertions(+), 3 deletions(-) diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index f31c83e013..6cc7c782e5 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -294,6 +294,7 @@ std::unordered_map AccessForVehiclePrope {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}, }; } // namespace vehicle diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index c717f30fd5..2040867a30 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -294,6 +294,7 @@ std::unordered_map ChangeModeForVehi {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}, }; } // namespace vehicle diff --git a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java index f59ae71dc9..e846501989 100644 --- a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java @@ -285,7 +285,8 @@ public final class AccessForVehicleProperty { 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.CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyAccess.READ), + Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess.READ_WRITE) ); } diff --git a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java index 156b90af5e..7a348b21e7 100644 --- a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java @@ -285,7 +285,8 @@ public final class ChangeModeForVehicleProperty { 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.CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE), + Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE) ); } diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 0a10105ab7..559725fb99 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -4204,6 +4204,14 @@ ] } ] + }, + { + "property": "VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED", + "defaultValue": { + "int32Values": [ + 1 + ] + } } ] } diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index 0179a2adfc..d3b7f182fd 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -292,4 +292,5 @@ enum VehicleProperty { LOW_SPEED_COLLISION_WARNING_STATE = (((0x1022 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411106 */, CROSS_TRAFFIC_MONITORING_ENABLED = (((0x1023 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313955 */, CROSS_TRAFFIC_MONITORING_WARNING_STATE = (((0x1024 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411108 */, + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = (((0x1025 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313957 */, } diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 117ecc53b7..2f1f3dfa4e 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -4670,7 +4670,9 @@ enum VehicleProperty { * Enable or disable Automatic Emergency Braking (AEB). * * Set true to enable AEB and false to disable AEB. When AEB is enabled, the ADAS system in the - * vehicle should be turned on and monitoring to avoid potential collisions. + * vehicle should be turned on and monitoring to avoid potential collisions. This property + * should apply for higher speed applications only. For enabling low speed automatic emergency + * braking, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED should be used. * * In general, AUTOMATIC_EMERGENCY_BRAKING_ENABLED should always return true or false. If the * feature is not available due to some temporary state, such as the vehicle speed being too @@ -5517,6 +5519,32 @@ enum VehicleProperty { CROSS_TRAFFIC_MONITORING_WARNING_STATE = 0x1024 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, + /** + * Enable or disable Low Speed Automatic Emergency Braking. + * + * Set true to enable Low Speed Automatic Emergency Braking or false to disable Low Speed + * Automatic Emergency Braking. When Low Speed Automatic Emergency Braking is enabled, the ADAS + * system in the vehicle should be turned on and monitoring to avoid potential collisions in low + * speed conditions. This property is different from the pre-existing + * AUTOMATIC_EMERGENCY_BRAKING_ENABLED, which should apply to higher speed applications only. If + * the vehicle doesn't have a separate collision avoidance system for low speed environments, + * this property should not be implemented. + * + * In general, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED should always return true or false. + * If the feature is not available due to some temporary state, such as the vehicle speed being + * too low, that information must be conveyed through the ErrorState values in the + * LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE property. + * + * This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to + * implement it as VehiclePropertyAccess.READ only. + * + * @change_mode VehiclePropertyChangeMode.ON_CHANGE + * @access VehiclePropertyAccess.READ_WRITE + * @access VehiclePropertyAccess.READ + */ + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = + 0x1025 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, + /*************************************************************************** * End of ADAS Properties **************************************************************************/ diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 158129d94a..b963d8e1da 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -1017,6 +1017,12 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyHeadUpDisplayEnabledConfig) { VehicleArea::SEAT, VehiclePropertyType::BOOLEAN); } +TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyLowSpeedAutomaticEmergencyBrakingEnabledConfig) { + verifyProperty(VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, + VehiclePropertyAccess::READ_WRITE, VehiclePropertyChangeMode::ON_CHANGE, + VehiclePropertyGroup::SYSTEM, VehicleArea::GLOBAL, VehiclePropertyType::BOOLEAN); +} + bool VtsHalAutomotiveVehicleTargetTest::checkIsSupported(int32_t propertyId) { auto result = mVhalClient->getPropConfigs({propertyId}); return result.ok(); From bd6ab7324d46813a47322b69156de03b2cab66e4 Mon Sep 17 00:00:00 2001 From: shrikar Date: Mon, 4 Dec 2023 19:07:26 +0000 Subject: [PATCH 010/198] Added LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE to HAL Bug: 314795767 Test: atest VtsHalAutomotiveVehicle_TargetTest FakeVehicleHardwareTest Change-Id: Ib7189abbbd9d9f3870faed146d1c240b03820716 --- .../cpp/AccessForVehicleProperty.h | 1 + .../cpp/ChangeModeForVehicleProperty.h | 1 + .../java/AccessForVehicleProperty.java | 3 +- .../java/ChangeModeForVehicleProperty.java | 3 +- .../java/EnumForVehicleProperty.java | 3 +- .../JsonConfigLoader/src/JsonConfigLoader.cpp | 3 ++ .../config/DefaultProperties.json | 22 ++++++++ .../hardware/src/FakeVehicleHardware.cpp | 7 +++ .../utils/common/include/VehicleHalTypes.h | 1 + ...owSpeedAutomaticEmergencyBrakingState.aidl | 41 +++++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 1 + ...owSpeedAutomaticEmergencyBrakingState.aidl | 52 +++++++++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 30 ++++++++++- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 6 +++ 14 files changed, 170 insertions(+), 4 deletions(-) create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl create mode 100644 automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index 6cc7c782e5..042065a5dc 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -295,6 +295,7 @@ std::unordered_map AccessForVehiclePrope {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 diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index 2040867a30..758d851c26 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -295,6 +295,7 @@ std::unordered_map ChangeModeForVehi {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 diff --git a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java index e846501989..4aefae380e 100644 --- a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java @@ -286,7 +286,8 @@ public final class AccessForVehicleProperty { 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_ENABLED, VehiclePropertyAccess.READ_WRITE), + Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess.READ) ); } diff --git a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java index 7a348b21e7..c9a8d1eaff 100644 --- a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java @@ -286,7 +286,8 @@ public final class ChangeModeForVehicleProperty { 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_ENABLED, VehiclePropertyChangeMode.ON_CHANGE), + Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode.ON_CHANGE) ); } diff --git a/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java index b4f24a6e85..4b8060fbb0 100644 --- a/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java @@ -103,7 +103,8 @@ public final class EnumForVehicleProperty { 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.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)) ); } diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 146da69bd2..3e6e7dcf1d 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -63,6 +63,7 @@ using ::aidl::android::hardware::automotive::vehicle::LaneCenteringAssistState; using ::aidl::android::hardware::automotive::vehicle::LaneDepartureWarningState; using ::aidl::android::hardware::automotive::vehicle::LaneKeepAssistState; using ::aidl::android::hardware::automotive::vehicle::LocationCharacterization; +using ::aidl::android::hardware::automotive::vehicle::LowSpeedAutomaticEmergencyBrakingState; using ::aidl::android::hardware::automotive::vehicle::LowSpeedCollisionWarningState; using ::aidl::android::hardware::automotive::vehicle::RawPropValues; using ::aidl::android::hardware::automotive::vehicle::VehicleAirbagLocation; @@ -297,6 +298,8 @@ JsonValueParser::JsonValueParser() { std::make_unique>(); mConstantParsersByType["CrossTrafficMonitoringWarningState"] = std::make_unique>(); + mConstantParsersByType["LowSpeedAutomaticEmergencyBrakingState"] = + std::make_unique>(); mConstantParsersByType["Constants"] = std::make_unique(); #ifdef ENABLE_VEHICLE_HAL_TEST_PROPERTIES mConstantParsersByType["TestVendorProperty"] = diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 559725fb99..56d8b4bccb 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -4212,6 +4212,28 @@ 1 ] } + }, + { + "property": "VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE", + "defaultValue": { + "int32Values": [ + "LowSpeedAutomaticEmergencyBrakingState::ENABLED" + ] + }, + "areas": [ + { + "areaId": 0, + "supportedEnumValues": [ + "ErrorState::NOT_AVAILABLE_SAFETY", + "ErrorState::NOT_AVAILABLE_POOR_VISIBILITY", + "ErrorState::NOT_AVAILABLE_SPEED_HIGH", + "ErrorState::NOT_AVAILABLE_DISABLED", + "LowSpeedAutomaticEmergencyBrakingState::ENABLED", + "LowSpeedAutomaticEmergencyBrakingState::ACTIVATED", + "LowSpeedAutomaticEmergencyBrakingState::USER_OVERRIDE" + ] + } + ] } ] } diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index dced62446c..385f616628 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -246,6 +246,13 @@ const std::unordered_map> mAdasEnabledPropToAdasPr toInt(VehicleProperty::CROSS_TRAFFIC_MONITORING_WARNING_STATE), }, }, + // LSAEB + { + toInt(VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED), + { + toInt(VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE), + }, + }, }; } // namespace diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h index bbd88dab48..0c8ebbda34 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl new file mode 100644 index 0000000000..70014e1dda --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LowSpeedAutomaticEmergencyBrakingState { + OTHER = 0, + ENABLED = 1, + ACTIVATED = 2, + USER_OVERRIDE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index d3b7f182fd..560fb0ec22 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -293,4 +293,5 @@ enum VehicleProperty { CROSS_TRAFFIC_MONITORING_ENABLED = (((0x1023 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313955 */, CROSS_TRAFFIC_MONITORING_WARNING_STATE = (((0x1024 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411108 */, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = (((0x1025 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313957 */, + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE = (((0x1026 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411110 */, } diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl new file mode 100644 index 0000000000..978da25d15 --- /dev/null +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ + +package android.hardware.automotive.vehicle; + +/** + * Used to enumerate the state of Low Speed Automatic Emergency Braking. + */ +@VintfStability +@Backing(type="int") +enum LowSpeedAutomaticEmergencyBrakingState { + + /** + * This state is used as an alternative to any LowSpeedAutomaticEmergencyBrakingState value that + * is not defined in the platform. Ideally, implementations of + * VehicleProperty#LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE should not use this state. The + * framework can use this field to remain backwards compatible if + * LowSpeedAutomaticEmergencyBrakingState is extended to include additional states. + */ + OTHER = 0, + /** + * Low Speed Automatic Emergency Braking is enabled and monitoring safety, but brakes are not + * activated. + */ + ENABLED = 1, + /** + * Low Speed Automatic Emergency Braking is enabled and currently has the brakes applied for the + * vehicle. + */ + ACTIVATED = 2, + /** + * Many Low Speed Automatic Emergency Braking implementations allow the driver to override Low + * Speed Automatic Emergency Braking. This means that the car has determined it should brake, + * but a user decides to take over and do something else. This is often done for safety reasons + * and to ensure that the driver can always take control of the vehicle. This state should be + * set when the user is actively overriding the low speed automatic emergency braking system. + */ + USER_OVERRIDE = 3, +} diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 2f1f3dfa4e..999197eddf 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -4694,7 +4694,9 @@ enum VehicleProperty { * * Returns the current state of AEB. This property must always return a valid state defined in * AutomaticEmergencyBrakingState or ErrorState. It must not surface errors through StatusCode - * and must use the supported error states instead. + * and must use the supported error states instead. This property should apply for higher speed + * applications only. For representing the state of the low speed automatic emergency braking + * system, LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE should be used. * * If AEB includes forward collision warnings before activating the brakes, those warnings must * be surfaced through the Forward Collision Warning (FCW) properties. @@ -5545,6 +5547,32 @@ enum VehicleProperty { LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = 0x1025 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, + /** + * Low Speed Automatic Emergency Braking state. + * + * Returns the current state of Low Speed Automatic Emergency Braking. This property must always + * return a valid state defined in LowSpeedAutomaticEmergencyBrakingState or ErrorState. It must + * not surface errors through StatusCode and must use the supported error states instead. This + * property is different from the pre-existing AUTOMATIC_EMERGENCY_BRAKING_STATE, which should + * apply to higher speed applications only. If the vehicle doesn't have a separate collision + * avoidance system for low speed environments, this property should not be implemented. + * + * If Low Speed Automatic Emergency Braking includes collision warnings before activating the + * brakes, those warnings must be surfaced through use of LOW_SPEED_COLLISION_WARNING_ENABLED + * and LOW_SPEED_COLLISION_WARNING_STATE. + * + * For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined + * unless all states of both LowSpeedAutomaticEmergencyBrakingState (including OTHER, which is + * not recommended) and ErrorState are supported. + * + * @change_mode VehiclePropertyChangeMode.ON_CHANGE + * @access VehiclePropertyAccess.READ + * @data_enum LowSpeedAutomaticEmergencyBrakingState + * @data_enum ErrorState + */ + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE = + 0x1026 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, + /*************************************************************************** * End of ADAS Properties **************************************************************************/ diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index b963d8e1da..68feea2ff0 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -1023,6 +1023,12 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyLowSpeedAutomaticEmergencyBrakin VehiclePropertyGroup::SYSTEM, VehicleArea::GLOBAL, VehiclePropertyType::BOOLEAN); } +TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyLowSpeedAutomaticEmergencyBrakingStateConfig) { + verifyProperty(VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, + VehiclePropertyAccess::READ, VehiclePropertyChangeMode::ON_CHANGE, + VehiclePropertyGroup::SYSTEM, VehicleArea::GLOBAL, VehiclePropertyType::INT32); +} + bool VtsHalAutomotiveVehicleTargetTest::checkIsSupported(int32_t propertyId) { auto result = mVhalClient->getPropConfigs({propertyId}); return result.ok(); From b9fbd4e3c7fb6d989b92edd10795f3260161f5cd Mon Sep 17 00:00:00 2001 From: Peter Lin Date: Thu, 14 Dec 2023 05:43:25 +0000 Subject: [PATCH 011/198] [VTS] Update SetDisplayBrightness test item Ensure the primary display power on before run the SetDisplayBrightness test item. Bug: 313794734 Test: atest VtsHalGraphicsComposer3_TargetTest:PerInstance/ GraphicsComposerAidlCommandTest#SetDisplayBrightness/ 0_android_hardware_graphics_composer3_IComposer_default -- --abi arm64-v8a Change-Id: I94fb700704bcbd8543f2a608dd75b9e745e40e37 --- .../composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index ca1b6d82de..d3a5dc872e 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1773,6 +1773,7 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerColorTransform) { } TEST_P(GraphicsComposerAidlCommandTest, SetDisplayBrightness) { + EXPECT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::ON).isOk()); const auto& [status, capabilities] = mComposerClient->getDisplayCapabilities(getPrimaryDisplayId()); ASSERT_TRUE(status.isOk()); From 6339cde065062e81196353c491fd1ddd6fccf091 Mon Sep 17 00:00:00 2001 From: maheshkkv Date: Thu, 14 Dec 2023 09:58:57 -0800 Subject: [PATCH 012/198] Fix 11az non-TB measurment time unit Bug: 295619650 Test: m Change-Id: I8a0cc8d59db939cfc5adfd6e3ce5d6817db0a2f8 --- .../current/android/hardware/wifi/RttConfig.aidl | 4 ++-- .../current/android/hardware/wifi/RttResult.aidl | 4 ++-- wifi/aidl/android/hardware/wifi/RttConfig.aidl | 14 ++++++++++---- wifi/aidl/android/hardware/wifi/RttResult.aidl | 16 ++++++++++------ wifi/aidl/default/aidl_struct_util.cpp | 16 ++++++++-------- 5 files changed, 32 insertions(+), 22 deletions(-) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl index 16a14eaeb2..b53ff9b526 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl @@ -48,6 +48,6 @@ parcelable RttConfig { int burstDuration; android.hardware.wifi.RttPreamble preamble; android.hardware.wifi.RttBw bw; - int ntbMinMeasurementTimeMillis; - int ntbMaxMeasurementTimeMillis; + long ntbMinMeasurementTime; + long ntbMaxMeasurementTime; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl index 93a04acb6f..9c6ad267f3 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl @@ -61,6 +61,6 @@ parcelable RttResult { android.hardware.wifi.RttBw packetBw; byte i2rTxLtfRepetitionCount; byte r2iTxLtfRepetitionCount; - int ntbMinMeasurementTimeMillis; - int ntbMaxMeasurementTimeMillis; + long ntbMinMeasurementTime; + long ntbMaxMeasurementTime; } diff --git a/wifi/aidl/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/android/hardware/wifi/RttConfig.aidl index 97b3acfd71..7b18708b8d 100644 --- a/wifi/aidl/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/android/hardware/wifi/RttConfig.aidl @@ -121,11 +121,17 @@ parcelable RttConfig { */ RttBw bw; /** - * IEEE 802.11az Non-Trigger-based (non-TB) minimum measurement time in milliseconds. + * IEEE 802.11az Non-Trigger-based (non-TB) minimum measurement time in units of 100 + * microseconds. + * + * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. */ - int ntbMinMeasurementTimeMillis; + long ntbMinMeasurementTime; /** - * IEEE 802.11az Non-Trigger-based (non-TB) maximum measurement time in milliseconds. + * IEEE 802.11az Non-Trigger-based (non-TB) maximum measurement time in units of 10 + * milliseconds. + * + * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. */ - int ntbMaxMeasurementTimeMillis; + long ntbMaxMeasurementTime; } diff --git a/wifi/aidl/android/hardware/wifi/RttResult.aidl b/wifi/aidl/android/hardware/wifi/RttResult.aidl index 034b0da9f9..ab9abb550e 100644 --- a/wifi/aidl/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/android/hardware/wifi/RttResult.aidl @@ -156,8 +156,8 @@ parcelable RttResult { */ byte r2iTxLtfRepetitionCount; /** - * Minimum non-trigger based (non-TB) dynamic measurement time in milliseconds assigned by the - * IEEE 802.11az responder. + * Minimum non-trigger based (non-TB) dynamic measurement time in units of 100 microseconds + * assigned by the IEEE 802.11az responder. * * After initial non-TB negotiation, if the next ranging request for this peer comes in between * [ntbMinMeasurementTime, ntbMaxMeasurementTime], vendor software shall do the NDPA sounding @@ -166,11 +166,13 @@ parcelable RttResult { * If the ranging request for this peer comes sooner than minimum measurement time, vendor * software shall return the cached result of the last measurement including the time stamp * |RttResult.timestamp|. + * + * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. */ - int ntbMinMeasurementTimeMillis; + long ntbMinMeasurementTime; /** - * Maximum non-trigger based (non-TB) dynamic measurement time in milliseconds assigned by the - * IEEE 802.11az responder. + * Maximum non-trigger based (non-TB) dynamic measurement time in units of 10 milliseconds + * assigned by the IEEE 802.11az responder. * * After initial non-TB negotiation, if the next ranging request for this peer comes in between * [ntbMinMeasurementTime, ntbMaxMeasurementTime], vendor software shall do the NDPA sounding @@ -179,6 +181,8 @@ parcelable RttResult { * If the ranging request for this peer comes later than the maximum measurement time, vendor * software shall clean up any existing IEEE 802.11ax non-TB ranging session and re-do the * non-TB ranging negotiation. + * + * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. */ - int ntbMaxMeasurementTimeMillis; + long ntbMaxMeasurementTime; } diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp index 42f484be70..7e7929d392 100644 --- a/wifi/aidl/default/aidl_struct_util.cpp +++ b/wifi/aidl/default/aidl_struct_util.cpp @@ -2741,8 +2741,8 @@ bool convertAidlRttConfigToLegacyV3(const RttConfig& aidl_config, if (!convertAidlRttConfigToLegacy(aidl_config, &(legacy_config->rtt_config))) { return false; } - legacy_config->ntb_min_measurement_time_millis = aidl_config.ntbMinMeasurementTimeMillis; - legacy_config->ntb_max_measurement_time_millis = aidl_config.ntbMaxMeasurementTimeMillis; + legacy_config->ntb_min_measurement_time = aidl_config.ntbMinMeasurementTime; + legacy_config->ntb_max_measurement_time = aidl_config.ntbMaxMeasurementTime; return true; } @@ -2993,8 +2993,8 @@ bool convertLegacyVectorOfRttResultToAidl( aidl_result.packetBw = RttBw::BW_UNSPECIFIED; aidl_result.i2rTxLtfRepetitionCount = 0; aidl_result.r2iTxLtfRepetitionCount = 0; - aidl_result.ntbMinMeasurementTimeMillis = 0; - aidl_result.ntbMaxMeasurementTimeMillis = 0; + aidl_result.ntbMinMeasurementTime = 0; + aidl_result.ntbMaxMeasurementTime = 0; aidl_results->push_back(aidl_result); } return true; @@ -3017,8 +3017,8 @@ bool convertLegacyVectorOfRttResultV2ToAidl( aidl_result.packetBw = convertLegacyRttBwToAidl(legacy_result->packet_bw); aidl_result.i2rTxLtfRepetitionCount = 0; aidl_result.r2iTxLtfRepetitionCount = 0; - aidl_result.ntbMinMeasurementTimeMillis = 0; - aidl_result.ntbMaxMeasurementTimeMillis = 0; + aidl_result.ntbMinMeasurementTime = 0; + aidl_result.ntbMaxMeasurementTime = 0; aidl_results->push_back(aidl_result); } return true; @@ -3042,8 +3042,8 @@ bool convertLegacyVectorOfRttResultV3ToAidl( aidl_result.packetBw = convertLegacyRttBwToAidl(legacy_result->rtt_result.packet_bw); aidl_result.i2rTxLtfRepetitionCount = legacy_result->i2r_tx_ltf_repetition_count; aidl_result.r2iTxLtfRepetitionCount = legacy_result->r2i_tx_ltf_repetition_count; - aidl_result.ntbMinMeasurementTimeMillis = legacy_result->ntb_min_measurement_time_millis; - aidl_result.ntbMaxMeasurementTimeMillis = legacy_result->ntb_max_measurement_time_millis; + aidl_result.ntbMinMeasurementTime = legacy_result->ntb_min_measurement_time; + aidl_result.ntbMaxMeasurementTime = legacy_result->ntb_max_measurement_time; aidl_results->push_back(aidl_result); } return true; From cbb2468533348a31ef18411d7353781277cce43d Mon Sep 17 00:00:00 2001 From: Yixiao Luo Date: Thu, 14 Dec 2023 11:43:22 -0800 Subject: [PATCH 013/198] Make sideband stream handle validation configurable Bug: 311341683 Test: VtsHalTvInputTargetTest Change-Id: I3f4319793039cc1dce39ce4e6a31f4c5abdbb7e0 --- .../aidl/vts/functional/VtsHalTvInputTargetTest.cpp | 10 ++++++++-- tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.cpp b/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.cpp index 746ae1e1af..7e095f1499 100644 --- a/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.cpp +++ b/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.cpp @@ -14,6 +14,8 @@ * limitations under the License. */ +#define LOG_TAG "tv_input_aidl_hal_test" + #include "VtsHalTvInputTargetTest.h" #include @@ -181,7 +183,9 @@ TEST_P(TvInputAidlTest, OpenAndCloseStreamTest) { ALOGD("OpenAndCloseStreamTest: open stream, device_id=%d, stream_id=%d", device_id, stream_id); ASSERT_TRUE(tv_input_->openStream(device_id, stream_id, &handle).isOk()); - ASSERT_TRUE(isValidHandle(handle)); + if (VERIFY_SIDEBAND_STREAM_HANDLE) { + ASSERT_TRUE(isValidHandle(handle)); + } ALOGD("OpenAndCloseStreamTest: close stream, device_id=%d, stream_id=%d", device_id, stream_id); @@ -283,7 +287,9 @@ TEST_P(TvInputAidlTest, OpenAnOpenedStreamsTest) { ALOGD("OpenAnOpenedStreamsTest: open stream, device_id=%d, stream_id=%d", device_id, stream_id); ASSERT_TRUE(tv_input_->openStream(device_id, stream_id, &handle).isOk()); - ASSERT_TRUE(isValidHandle(handle)); + if (VERIFY_SIDEBAND_STREAM_HANDLE) { + ASSERT_TRUE(isValidHandle(handle)); + } ALOGD("OpenAnOpenedStreamsTest: open stream, device_id=%d, stream_id=%d", device_id, stream_id); ASSERT_TRUE(tv_input_->openStream(device_id, stream_id, &handle).getServiceSpecificError() == diff --git a/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.h b/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.h index 7e66a88a32..fd98a18c47 100644 --- a/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.h +++ b/tv/input/aidl/vts/functional/VtsHalTvInputTargetTest.h @@ -43,6 +43,7 @@ using ::android::AidlMessageQueue; #define WAIT_FOR_EVENT_TIMEOUT 5 #define DEFAULT_ID INT32_MIN +#define VERIFY_SIDEBAND_STREAM_HANDLE 1 namespace VtsHalTvInputTargetTest { From caac147d01566b75c3a8ec0f5d4e8ef577f6ba4e Mon Sep 17 00:00:00 2001 From: Matt Buckley Date: Tue, 12 Dec 2023 03:55:50 +0000 Subject: [PATCH 014/198] Add AIDL API for PowerHAL to send session updates with FMQ This patch adds a set of APIs to PowerHAL to enable hint session communication via FMQ, to reduce both binder overhead and call latency moving forward. Bug: 315894228 Test: atest VtsHalPowerTargetTest Change-Id: I56f89322c7706ab68e640542caf5b70eef36c451 --- power/aidl/Android.bp | 9 ++ .../android/hardware/power/ChannelConfig.aidl | 41 ++++++++ .../hardware/power/ChannelMessage.aidl | 52 ++++++++++ .../android/hardware/power/IPower.aidl | 3 + .../hardware/power/IPowerHintSession.aidl | 1 + .../android/hardware/power/SessionConfig.aidl | 38 ++++++++ .../android/hardware/power/SessionTag.aidl | 41 ++++++++ .../hardware/power/WorkDurationFixedV1.aidl | 42 +++++++++ .../android/hardware/power/ChannelConfig.aidl | 52 ++++++++++ .../hardware/power/ChannelMessage.aidl | 94 +++++++++++++++++++ power/aidl/android/hardware/power/IPower.aidl | 41 ++++++++ .../hardware/power/IPowerHintSession.aidl | 8 ++ .../android/hardware/power/SessionConfig.aidl | 30 ++++++ .../android/hardware/power/SessionTag.aidl | 41 ++++++++ .../hardware/power/WorkDurationFixedV1.aidl | 53 +++++++++++ power/aidl/default/Android.bp | 4 + power/aidl/default/Power.cpp | 27 ++++++ power/aidl/default/Power.h | 8 ++ power/aidl/default/PowerHintSession.cpp | 6 ++ power/aidl/default/PowerHintSession.h | 1 + power/aidl/vts/Android.bp | 5 + power/aidl/vts/VtsHalPowerTargetTest.cpp | 45 +++++++++ 22 files changed, 642 insertions(+) create mode 100644 power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelConfig.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionConfig.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl create mode 100644 power/aidl/android/hardware/power/ChannelConfig.aidl create mode 100644 power/aidl/android/hardware/power/ChannelMessage.aidl create mode 100644 power/aidl/android/hardware/power/SessionConfig.aidl create mode 100644 power/aidl/android/hardware/power/SessionTag.aidl create mode 100644 power/aidl/android/hardware/power/WorkDurationFixedV1.aidl diff --git a/power/aidl/Android.bp b/power/aidl/Android.bp index 76439265af..8900fb8848 100644 --- a/power/aidl/Android.bp +++ b/power/aidl/Android.bp @@ -28,11 +28,20 @@ aidl_interface { "android/hardware/power/*.aidl", ], stability: "vintf", + imports: [ + "android.hardware.common.fmq-V1", + "android.hardware.common-V2", + ], backend: { cpp: { + enabled: false, + }, + ndk: { enabled: true, }, java: { + sdk_version: "module_current", + enabled: true, platform_apis: true, }, }, diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelConfig.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelConfig.aidl new file mode 100644 index 0000000000..d3caca413b --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelConfig.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +parcelable ChannelConfig { + android.hardware.common.fmq.MQDescriptor channelDescriptor; + @nullable android.hardware.common.fmq.MQDescriptor eventFlagDescriptor; + int readFlagBitmask; + int writeFlagBitmask; +} diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl new file mode 100644 index 0000000000..25f01c0d91 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@FixedSize @VintfStability +parcelable ChannelMessage { + int sessionID; + android.hardware.power.ChannelMessage.ChannelMessageContents data; + @FixedSize @VintfStability + union ChannelMessageContents { + int[20] tids = {(-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */}; + long targetDuration; + android.hardware.power.SessionHint hint; + android.hardware.power.ChannelMessage.ChannelMessageContents.SessionModeSetter mode; + android.hardware.power.WorkDurationFixedV1 workDuration; + @FixedSize @VintfStability + parcelable SessionModeSetter { + android.hardware.power.SessionMode modeInt; + boolean enabled; + } + } +} diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPower.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPower.aidl index ae03313f11..8acdaf2014 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPower.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPower.aidl @@ -40,4 +40,7 @@ interface IPower { boolean isBoostSupported(in android.hardware.power.Boost type); android.hardware.power.IPowerHintSession createHintSession(in int tgid, in int uid, in int[] threadIds, in long durationNanos); long getHintSessionPreferredRate(); + android.hardware.power.IPowerHintSession createHintSessionWithConfig(in int tgid, in int uid, in int[] threadIds, in long durationNanos, in android.hardware.power.SessionTag tag, out android.hardware.power.SessionConfig config); + android.hardware.power.ChannelConfig getSessionChannel(in int tgid, in int uid); + oneway void closeSessionChannel(in int tgid, in int uid); } diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPowerHintSession.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPowerHintSession.aidl index 6bc663e125..010f815476 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPowerHintSession.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/IPowerHintSession.aidl @@ -42,4 +42,5 @@ interface IPowerHintSession { oneway void sendHint(android.hardware.power.SessionHint hint); void setThreads(in int[] threadIds); oneway void setMode(android.hardware.power.SessionMode type, boolean enabled); + android.hardware.power.SessionConfig getSessionConfig(); } diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionConfig.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionConfig.aidl new file mode 100644 index 0000000000..b03cfb2db1 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionConfig.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +parcelable SessionConfig { + long id; +} diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl new file mode 100644 index 0000000000..80848a41cb --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum SessionTag { + OTHER, + SURFACEFLINGER, + HWUI, + GAME, +} diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl new file mode 100644 index 0000000000..8cd246d6bf --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@FixedSize @VintfStability +parcelable WorkDurationFixedV1 { + long timeStampNanos; + long durationNanos; + long workPeriodStartTimestampNanos; + long cpuDurationNanos; + long gpuDurationNanos; +} diff --git a/power/aidl/android/hardware/power/ChannelConfig.aidl b/power/aidl/android/hardware/power/ChannelConfig.aidl new file mode 100644 index 0000000000..4da292ed51 --- /dev/null +++ b/power/aidl/android/hardware/power/ChannelConfig.aidl @@ -0,0 +1,52 @@ + +/* + * 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. + */ + +package android.hardware.power; + +import android.hardware.common.fmq.MQDescriptor; +import android.hardware.common.fmq.SynchronizedReadWrite; +import android.hardware.power.ChannelMessage; + +@VintfStability +parcelable ChannelConfig { + /** + * The message queue descriptor that provides the information necessary for + * a client to write to this channel. + */ + MQDescriptor channelDescriptor; + + /** + * A message queue descriptor used to pass an optional event flag to clients, + * used to synchronize multiple message queues using the same flag. If not + * defined, the flag from the channelDescriptor should be used. + */ + @nullable MQDescriptor eventFlagDescriptor; + + /** + * The read flag bitmask to be used with the event flag, specifying the + * bits used by this channel to mark that the buffer has been read from. + * If set to 0, the default bitmask will be used. + */ + int readFlagBitmask; + + /** + * The write flag bitmask to be used with the event flag, specifying the + * bits used by this channel to mark that the buffer has been written to. + * If set to 0, the default bitmask will be used. + */ + int writeFlagBitmask; +} diff --git a/power/aidl/android/hardware/power/ChannelMessage.aidl b/power/aidl/android/hardware/power/ChannelMessage.aidl new file mode 100644 index 0000000000..4747d90463 --- /dev/null +++ b/power/aidl/android/hardware/power/ChannelMessage.aidl @@ -0,0 +1,94 @@ +/* + * 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. + */ + +package android.hardware.power; + +import android.hardware.power.SessionHint; +import android.hardware.power.SessionMode; +import android.hardware.power.WorkDurationFixedV1; + +/** + * Data sent through the FMQ must follow this structure. It's important to note + * that such data may come from the app itself, so the HAL must validate all + * data received through this interface, and reject any calls not guaranteed to be + * valid. Each of the types defined in the inner union maps to an equivalent call + * on IPowerHintSession, and is merely being used to expedite the use of that API + * in cases where it is safe to bypass the HintManagerService. + */ +@FixedSize +@VintfStability +parcelable ChannelMessage { + /** + * The ID of the specific session sending the hint, used to enable a single + * channel to be multiplexed across all sessions in a single process. + */ + int sessionID; + + /** + * A union defining the different messages that can be passed through the + * channel. Each type corresponds to a different call in IPowerHintSession. + */ + ChannelMessageContents data; + + @FixedSize + @VintfStability + union ChannelMessageContents { + /** + * List of TIDs for this session to change to. Can be used in cases + * where HintManagerService is not needed to validate the TIDs, such as + * when all TIDs directly belong to the process that owns the session. + */ + int[20] tids = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + + /** + * Setting this field will update the session’s target duration, equivalent + * to calling updateTargetWorkDuration(targetDuration). + */ + long targetDuration; + + /** + * Setting this field will send a hint to the session, equivalent to + * calling sendHint(hint). + */ + SessionHint hint; + + /** + * Setting this field will send a hint to the session, equivalent to + * calling setMode(mode.modeInt, mode.enabled). + */ + SessionModeSetter mode; + + /** + * Setting this field will update the session’s actual duration, equivalent + * to calling reportActualWorkDuration([workDuration]). Only one duration + * can be passed at a time; this API expects durations to be reported + * immediately each frame, since the overhead of this call is much lower. + */ + WorkDurationFixedV1 workDuration; + + /** + * This structure is used to fit both the mode and the state within one + * entry in the union. + */ + @FixedSize + @VintfStability + parcelable SessionModeSetter { + SessionMode modeInt; + boolean enabled; + } + } +} diff --git a/power/aidl/android/hardware/power/IPower.aidl b/power/aidl/android/hardware/power/IPower.aidl index ee8e5a3a61..e25714fda5 100644 --- a/power/aidl/android/hardware/power/IPower.aidl +++ b/power/aidl/android/hardware/power/IPower.aidl @@ -17,8 +17,11 @@ package android.hardware.power; import android.hardware.power.Boost; +import android.hardware.power.ChannelConfig; import android.hardware.power.IPowerHintSession; import android.hardware.power.Mode; +import android.hardware.power.SessionConfig; +import android.hardware.power.SessionTag; @VintfStability interface IPower { @@ -103,4 +106,42 @@ interface IPower { * EX_UNSUPPORTED_OPERATION if hint session is not supported. */ long getHintSessionPreferredRate(); + + /** + * A version of createHintSession that returns an additional bundle of session + * data, useful to help the session immediately communicate via an FMQ channel + * for more efficient updates. + * + * @return the new session if it is supported on this device, otherwise return + * with EX_UNSUPPORTED_OPERATION error if hint session is not + * supported on this device. + * @param tgid The TGID to be associated with this session. + * @param uid The UID to be associated with this session. + * @param threadIds The list of threads to be associated with this session. + * @param durationNanos The desired duration in nanoseconds for this session. + * @param config Extra session metadata to be returned to the caller. + */ + IPowerHintSession createHintSessionWithConfig(in int tgid, in int uid, in int[] threadIds, + in long durationNanos, in SessionTag tag, out SessionConfig config); + + /** + * Used to get an FMQ channel, per-process. The channel should be unique to + * that process, and should return the same ChannelConfig if called multiple + * times from that same process. + * + * @return the channel config if hint sessions are supported on this device, + * otherwise return with EX_UNSUPPORTED_OPERATION. + * @param tgid The TGID to be associated with this channel. + * @param uid The UID to be associated with this channel. + */ + ChannelConfig getSessionChannel(in int tgid, in int uid); + + /** + * Used to close a channel once it is no longer needed by a process, or that + * process dies. + * + * @param tgid The TGID to be associated with this channel. + * @param uid The UID to be associated with this channel. + */ + oneway void closeSessionChannel(in int tgid, in int uid); } diff --git a/power/aidl/android/hardware/power/IPowerHintSession.aidl b/power/aidl/android/hardware/power/IPowerHintSession.aidl index 62263c8aa9..9dd251fba9 100644 --- a/power/aidl/android/hardware/power/IPowerHintSession.aidl +++ b/power/aidl/android/hardware/power/IPowerHintSession.aidl @@ -16,6 +16,7 @@ package android.hardware.power; +import android.hardware.power.SessionConfig; import android.hardware.power.SessionHint; import android.hardware.power.SessionMode; import android.hardware.power.WorkDuration; @@ -91,4 +92,11 @@ interface IPowerHintSession { * @param enabled True to enable the mode, false to disable it */ oneway void setMode(SessionMode type, boolean enabled); + + /** + * This method provides direct access to a session's config data. + * + * @return the config data for this session + */ + SessionConfig getSessionConfig(); } diff --git a/power/aidl/android/hardware/power/SessionConfig.aidl b/power/aidl/android/hardware/power/SessionConfig.aidl new file mode 100644 index 0000000000..93dc9a278e --- /dev/null +++ b/power/aidl/android/hardware/power/SessionConfig.aidl @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package android.hardware.power; + +/** + * Additional session to be passed to the hint session during creation, or acquired + * after creation from the session directly. + */ +@VintfStability +parcelable SessionConfig { + /** + * The session's unique ID, used to identify the session for debugging and + * for multiplexing on the per-process FMQ channel. + */ + long id; +} diff --git a/power/aidl/android/hardware/power/SessionTag.aidl b/power/aidl/android/hardware/power/SessionTag.aidl new file mode 100644 index 0000000000..c1d48e4318 --- /dev/null +++ b/power/aidl/android/hardware/power/SessionTag.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ + +package android.hardware.power; + +@VintfStability +@Backing(type="int") +enum SessionTag { + /** + * This tag is used to mark uncategorized hint sessions. + */ + OTHER, + + /** + * This tag is used to mark the SurfaceFlinger hint session. + */ + SURFACEFLINGER, + + /** + * This tag is used to mark HWUI hint sessions. + */ + HWUI, + + /** + * This tag is used to mark Game hint sessions. + */ + GAME, +} diff --git a/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl b/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl new file mode 100644 index 0000000000..2d202ff198 --- /dev/null +++ b/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ + +package android.hardware.power; + +@FixedSize +@VintfStability +parcelable WorkDurationFixedV1 { + /** + * Timestamp in nanoseconds based on CLOCK_MONOTONIC when the duration + * sample was measured. + */ + long timeStampNanos; + + /** + * Total work duration in nanoseconds. + */ + long durationNanos; + + /** + * Timestamp in nanoseconds based on CLOCK_MONOTONIC when the work starts. + * The work period start timestamp could be zero if the call is from + * the legacy SDK/NDK reportActualWorkDuration API. + */ + long workPeriodStartTimestampNanos; + + /** + * CPU work duration in nanoseconds. + * The CPU work duration could be the same as the total work duration if + * the call is from the legacy SDK/NDK reportActualWorkDuration API. + */ + long cpuDurationNanos; + + /** + * GPU work duration in nanoseconds. + * The GPU work duration could be zero if the call is from the legacy + * SDK/NDK reportActualWorkDuration API. + */ + long gpuDurationNanos; +} diff --git a/power/aidl/default/Android.bp b/power/aidl/default/Android.bp index e3af179ea9..b4ccc7db6b 100644 --- a/power/aidl/default/Android.bp +++ b/power/aidl/default/Android.bp @@ -29,8 +29,12 @@ cc_binary { vintf_fragments: [":android.hardware.power.xml"], vendor: true, shared_libs: [ + "android.hardware.common-V2-ndk", + "android.hardware.common.fmq-V1-ndk", "libbase", "libbinder_ndk", + "libcutils", + "libfmq", ], srcs: [ "main.cpp", diff --git a/power/aidl/default/Power.cpp b/power/aidl/default/Power.cpp index 8fe370c3e4..8f15663db9 100644 --- a/power/aidl/default/Power.cpp +++ b/power/aidl/default/Power.cpp @@ -18,6 +18,8 @@ #include "PowerHintSession.h" #include +#include +#include namespace aidl { namespace android { @@ -27,6 +29,10 @@ namespace impl { namespace example { using namespace std::chrono_literals; +using ::aidl::android::hardware::common::fmq::MQDescriptor; +using ::aidl::android::hardware::common::fmq::SynchronizedReadWrite; +using ::aidl::android::hardware::power::ChannelMessage; +using ::android::AidlMessageQueue; using ndk::ScopedAStatus; @@ -70,6 +76,27 @@ ScopedAStatus Power::createHintSession(int32_t, int32_t, const std::vector& threadIds, int64_t durationNanos, + SessionTag, SessionConfig* config, std::shared_ptr* _aidl_return) { + auto out = createHintSession(tgid, uid, threadIds, durationNanos, _aidl_return); + static_cast(_aidl_return->get())->getSessionConfig(config); + return out; +} + +ndk::ScopedAStatus Power::getSessionChannel(int32_t, int32_t, ChannelConfig* _aidl_return) { + static AidlMessageQueue stubQueue{1, true}; + _aidl_return->channelDescriptor = stubQueue.dupeDesc(); + _aidl_return->readFlagBitmask = 0; + _aidl_return->writeFlagBitmask = 0; + _aidl_return->eventFlagDescriptor = std::nullopt; + return ndk::ScopedAStatus::ok(); +} + +ndk::ScopedAStatus Power::closeSessionChannel(int32_t, int32_t) { + return ndk::ScopedAStatus::ok(); +} + ScopedAStatus Power::getHintSessionPreferredRate(int64_t* outNanoseconds) { *outNanoseconds = std::chrono::nanoseconds(1ms).count(); return ScopedAStatus::ok(); diff --git a/power/aidl/default/Power.h b/power/aidl/default/Power.h index 7f8405eff3..baabaa7271 100644 --- a/power/aidl/default/Power.h +++ b/power/aidl/default/Power.h @@ -17,6 +17,7 @@ #pragma once #include +#include "aidl/android/hardware/power/SessionTag.h" namespace aidl { namespace android { @@ -35,7 +36,14 @@ class Power : public BnPower { const std::vector& threadIds, int64_t durationNanos, std::shared_ptr* _aidl_return) override; + ndk::ScopedAStatus createHintSessionWithConfig( + int32_t tgid, int32_t uid, const std::vector& threadIds, int64_t durationNanos, + SessionTag tag, SessionConfig* config, + std::shared_ptr* _aidl_return) override; ndk::ScopedAStatus getHintSessionPreferredRate(int64_t* outNanoseconds) override; + ndk::ScopedAStatus getSessionChannel(int32_t tgid, int32_t uid, + ChannelConfig* _aidl_return) override; + ndk::ScopedAStatus closeSessionChannel(int32_t tgid, int32_t uid) override; private: std::vector> mPowerHintSessions; diff --git a/power/aidl/default/PowerHintSession.cpp b/power/aidl/default/PowerHintSession.cpp index 452e435c29..847a42e7c3 100644 --- a/power/aidl/default/PowerHintSession.cpp +++ b/power/aidl/default/PowerHintSession.cpp @@ -17,6 +17,7 @@ #include "PowerHintSession.h" #include +#include "android/binder_auto_utils.h" namespace aidl::android::hardware::power::impl::example { @@ -63,4 +64,9 @@ ScopedAStatus PowerHintSession::setMode(SessionMode /* mode */, bool /* enabled return ScopedAStatus::ok(); } +ScopedAStatus PowerHintSession::getSessionConfig(SessionConfig* _aidl_return) { + _aidl_return->id = 1; + return ScopedAStatus::ok(); +} + } // namespace aidl::android::hardware::power::impl::example diff --git a/power/aidl/default/PowerHintSession.h b/power/aidl/default/PowerHintSession.h index b488bf108e..2ed55885f4 100644 --- a/power/aidl/default/PowerHintSession.h +++ b/power/aidl/default/PowerHintSession.h @@ -35,6 +35,7 @@ class PowerHintSession : public BnPowerHintSession { ndk::ScopedAStatus sendHint(SessionHint hint) override; ndk::ScopedAStatus setThreads(const std::vector& threadIds) override; ndk::ScopedAStatus setMode(SessionMode mode, bool enabled) override; + ndk::ScopedAStatus getSessionConfig(SessionConfig* _aidl_return) override; }; } // namespace aidl::android::hardware::power::impl::example diff --git a/power/aidl/vts/Android.bp b/power/aidl/vts/Android.bp index eb98b8b5bf..c9285f4eaa 100644 --- a/power/aidl/vts/Android.bp +++ b/power/aidl/vts/Android.bp @@ -31,6 +31,11 @@ cc_test { srcs: ["VtsHalPowerTargetTest.cpp"], shared_libs: [ "libbinder_ndk", + "libfmq", + ], + static_libs: [ + "android.hardware.common.fmq-V1-ndk", + "android.hardware.common-V2-ndk", ], test_suites: [ "general-tests", diff --git a/power/aidl/vts/VtsHalPowerTargetTest.cpp b/power/aidl/vts/VtsHalPowerTargetTest.cpp index 96995a0acc..11d44b8ab5 100644 --- a/power/aidl/vts/VtsHalPowerTargetTest.cpp +++ b/power/aidl/vts/VtsHalPowerTargetTest.cpp @@ -24,12 +24,22 @@ #include #include +#include +#include + #include +#include +#include "aidl/android/hardware/common/fmq/SynchronizedReadWrite.h" +#include "fmq/EventFlag.h" namespace aidl::android::hardware::power { namespace { +using ::aidl::android::hardware::common::fmq::SynchronizedReadWrite; +using ::android::AidlMessageQueue; using android::hardware::power::Boost; +using android::hardware::power::ChannelConfig; +using android::hardware::power::ChannelMessage; using android::hardware::power::IPower; using android::hardware::power::IPowerHintSession; using android::hardware::power::Mode; @@ -37,6 +47,8 @@ using android::hardware::power::SessionHint; using android::hardware::power::SessionMode; using android::hardware::power::WorkDuration; +using SessionMessageQueue = AidlMessageQueue; + const std::vector kBoosts{ndk::enum_range().begin(), ndk::enum_range().end()}; const std::vector kModes{ndk::enum_range().begin(), ndk::enum_range().end()}; @@ -190,6 +202,31 @@ TEST_P(PowerAidl, getHintSessionPreferredRate) { ASSERT_GE(rate, 1000000); } +TEST_P(PowerAidl, createHintSessionWithConfig) { + if (mServiceVersion < 5) { + GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; + } + std::shared_ptr session; + SessionConfig config; + + auto status = power->createHintSessionWithConfig(getpid(), getuid(), kSelfTids, 16666666L, + SessionTag::OTHER, &config, &session); + ASSERT_TRUE(status.isOk()); + ASSERT_NE(nullptr, session); +} + +TEST_P(PowerAidl, getAndCloseSessionChannel) { + if (mServiceVersion < 5) { + GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; + } + ChannelConfig config; + auto status = power->getSessionChannel(getpid(), getuid(), &config); + ASSERT_TRUE(status.isOk()); + auto messageQueue = std::make_shared(config.channelDescriptor, true); + ASSERT_TRUE(messageQueue->isValid()); + ASSERT_TRUE(power->closeSessionChannel(getpid(), getuid()).isOk()); +} + TEST_P(HintSessionAidl, createAndCloseHintSession) { ASSERT_TRUE(mSession->pause().isOk()); ASSERT_TRUE(mSession->resume().isOk()); @@ -252,6 +289,14 @@ TEST_P(HintSessionAidl, setSessionMode) { } } +TEST_P(HintSessionAidl, getSessionConfig) { + if (mServiceVersion < 5) { + GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; + } + SessionConfig config; + ASSERT_TRUE(mSession->getSessionConfig(&config).isOk()); +} + // FIXED_PERFORMANCE mode is required for all devices which ship on Android 11 // or later TEST_P(PowerAidl, hasFixedPerformance) { From f58c8e09d31e03c9cd2354e3e55f3886fd280d7a Mon Sep 17 00:00:00 2001 From: maheshkkv Date: Thu, 14 Dec 2023 16:41:28 -0800 Subject: [PATCH 015/198] Make TWT wake interval type as long As the TWT Wake Interval Mantissa is a 2-byte field and TWT Wake Interval Exponent is a 5-bit field, Maximum TWT Wake Interval = 65,535 x [2^31] microseconds. So make TWT wake inteval field type as long to avoid overflow. Bug: 296108122 Test: m Change-Id: Id77cd094ae0601839de7f01994072d50ec39cd56 --- .../current/android/hardware/wifi/TwtCapabilities.aidl | 4 ++-- .../current/android/hardware/wifi/TwtRequest.aidl | 4 ++-- .../current/android/hardware/wifi/TwtSession.aidl | 2 +- wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl | 4 ++-- wifi/aidl/android/hardware/wifi/TwtRequest.aidl | 4 ++-- wifi/aidl/android/hardware/wifi/TwtSession.aidl | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl index d8e73fb4b7..d6ed62e943 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl @@ -40,6 +40,6 @@ parcelable TwtCapabilities { boolean isFlexibleTwtScheduleSupported; int minWakeDurationMicros; int maxWakeDurationMicros; - int minWakeIntervalMicros; - int maxWakeIntervalMicros; + long minWakeIntervalMicros; + long maxWakeIntervalMicros; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl index 3051b943a3..06c7ae2433 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl @@ -37,6 +37,6 @@ parcelable TwtRequest { int mloLinkId; int minWakeDurationMicros; int maxWakeDurationMicros; - int minWakeIntervalMicros; - int maxWakeIntervalMicros; + long minWakeIntervalMicros; + long maxWakeIntervalMicros; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl index 92c2533e2c..4e5ca44f17 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl @@ -37,7 +37,7 @@ parcelable TwtSession { int sessionId; int mloLinkId; int wakeDurationMicros; - int wakeIntervalMicros; + long wakeIntervalMicros; android.hardware.wifi.TwtSession.TwtNegotiationType negotiationType; boolean isTriggerEnabled; boolean isAnnounced; diff --git a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl index 9007d0e5be..4012c3ed73 100644 --- a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl @@ -48,9 +48,9 @@ parcelable TwtCapabilities { /** * Minimum TWT wake interval in microseconds. */ - int minWakeIntervalMicros; + long minWakeIntervalMicros; /** * Maximum TWT wake interval in microseconds. */ - int maxWakeIntervalMicros; + long maxWakeIntervalMicros; } diff --git a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl index 5191713f57..b063da3911 100644 --- a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl @@ -36,9 +36,9 @@ parcelable TwtRequest { /** * Minimum TWT wake interval in microseconds. */ - int minWakeIntervalMicros; + long minWakeIntervalMicros; /** * Maximum TWT wake interval in microseconds. */ - int maxWakeIntervalMicros; + long maxWakeIntervalMicros; } diff --git a/wifi/aidl/android/hardware/wifi/TwtSession.aidl b/wifi/aidl/android/hardware/wifi/TwtSession.aidl index 5a7ddb1a0b..6b780f8343 100644 --- a/wifi/aidl/android/hardware/wifi/TwtSession.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtSession.aidl @@ -46,7 +46,7 @@ parcelable TwtSession { /** * Time interval in microseconds between two successive TWT service periods. */ - int wakeIntervalMicros; + long wakeIntervalMicros; /** * TWT negotiation type. From efa6db774e02d224a8b43b2428bd018d4623a454 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 13 Dec 2023 15:41:56 -0800 Subject: [PATCH 016/198] Add enter garage mode bootup reason. Test: m android.hardware.automotive.vehicle.property-update-api Bug: 316217804 Change-Id: I2556e784d6a1b48c8067b06157176743fe6fa5a2 --- .../vehicle/VehicleApPowerBootupReason.aidl | 1 + .../vehicle/VehicleApPowerBootupReason.aidl | 19 ++++++++++++++++++- .../automotive/vehicle/VehicleProperty.aidl | 14 ++++++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl index 9720aca787..55af2ab0fa 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl @@ -37,4 +37,5 @@ enum VehicleApPowerBootupReason { USER_POWER_ON = 0, SYSTEM_USER_DETECTION = 1, SYSTEM_REMOTE_ACCESS = 2, + SYSTEM_ENTER_GARAGE_MODE = 3, } diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl index e325b380b7..8c8c2daefb 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl @@ -34,7 +34,24 @@ enum VehicleApPowerBootupReason { SYSTEM_USER_DETECTION = 1, /** * Automatic power on to execute a remote task. This is triggered by - * receiving a wakeup message from TCU wakeup client. + * receiving a wakeup message from an external system in the vehicle. */ SYSTEM_REMOTE_ACCESS = 2, + /** + * Automatic power on to enter garage mode. This is triggered by + * receiving a wakeup message from an external system in the vehicle. + * + * Note that this does not necessarily mean Android will enter + * the garage mode since user may enter the vehicle after this is set. + * The system will only enter garage mode if VEHICLE_IN_USE is not true + * upon check. + * + * To consider the Time-Of-Check-Time-Of-Use issue, there is a slight chance + * that the vehicle become in-use after car service does the VEHICLE_IN_USE + * check. The external power controller must also check whether the vehicle + * is in use upon receiving the SHUTDOWN_REQUEST, before sending out + * SHUTDOWN_PREPARE, to make sure the system does not enter garage mode or + * shutdown if the vehicle is currently in use. + */ + SYSTEM_ENTER_GARAGE_MODE = 3, } diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index ecabe8c3b6..3d63a0629e 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -4545,12 +4545,22 @@ enum VehicleProperty { /** * Request the head unit to be shutdown. * + *

This is required for executing a task when the head unit is powered off (remote task + * feature). After the head unit is powered-on to execute the task, the head unit should + * be shutdown. The head unit will send this message once the task is finished. + * + *

This is not for the case when a user wants to shutdown the head unit. + * *

This usually involves telling a separate system outside the head unit (e.g. a power * controller) to prepare shutting down the head unit. * - *

This does not mean the head unit will shutdown immediately. + *

Note that the external system must validate whether this request is valid by checking + * whether the vehicle is currently in use. If a user enters the vehicle after a + * SHUTDOWN_REQUEST is sent, then the system must ignore this request. It + * is recommended to store a VehicleInUse property in the power controller and exposes it + * through VEHICLE_IN_USE property. A shutdown request must be ignored if VehicleInUse is true. * - *

This means that another system will start sending a shutdown signal to the head unit, + *

If allowed, the external system will start sending a shutdown signal to the head unit, * which will cause VHAL to send SHUTDOWN_PREPARE message to Android. Android will then start * the shut down process by handling the message. * From 8459a068388d9804cc1beee2dd005556d021d257 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 13 Dec 2023 17:49:37 -0800 Subject: [PATCH 017/198] Add TaskType to ScheduleInfo. Add a task type field to schedule serverless remote task. We want to introduce an ENTER_GARAGE_MODE type where the external system can set the AP_POWER_BOOT_UP_REASON and makes android enter garage mode. Test: atest RemoteAccessServiceUnitTest Bug: 316233421 Change-Id: Iddbd2a14aa6f4672a2e27f0a05ec2b73b7d1aab2 --- .../remoteaccess/IRemoteAccess.aidl | 1 + .../automotive/remoteaccess/ScheduleInfo.aidl | 1 + .../automotive/remoteaccess/TaskType.aidl | 39 ++++++++++++++++ .../remoteaccess/IRemoteAccess.aidl | 46 +++++++++++++++++-- .../remoteaccess/IRemoteTaskCallback.aidl | 2 +- .../automotive/remoteaccess/ScheduleInfo.aidl | 8 ++++ .../automotive/remoteaccess/TaskType.aidl | 41 +++++++++++++++++ .../hal/default/include/RemoteAccessService.h | 3 ++ .../hal/default/src/RemoteAccessService.cpp | 8 ++++ .../test/RemoteAccessServiceUnitTest.cpp | 10 ++++ 10 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/TaskType.aidl create mode 100644 automotive/remoteaccess/android/hardware/automotive/remoteaccess/TaskType.aidl diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl index ccfa22de4e..e6f480856b 100644 --- a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -41,6 +41,7 @@ interface IRemoteAccess { void clearRemoteTaskCallback(); void notifyApStateChange(in android.hardware.automotive.remoteaccess.ApState state); boolean isTaskScheduleSupported(); + android.hardware.automotive.remoteaccess.TaskType[] getSupportedTaskTypesForScheduling(); void scheduleTask(in android.hardware.automotive.remoteaccess.ScheduleInfo scheduleInfo); void unscheduleTask(String clientId, String scheduleId); void unscheduleAllTasks(String clientId); diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl index a929e10827..a5d81cf9fc 100644 --- a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl @@ -36,6 +36,7 @@ package android.hardware.automotive.remoteaccess; parcelable ScheduleInfo { String clientId; String scheduleId; + android.hardware.automotive.remoteaccess.TaskType taskType; byte[] taskData; int count; long startTimeInEpochSeconds; diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/TaskType.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/TaskType.aidl new file mode 100644 index 0000000000..da706269f0 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/TaskType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@Backing(type="int") @VintfStability +enum TaskType { + CUSTOM = 0, + ENTER_GARAGE_MODE = 1, +} diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl index 4912651294..9863ed728d 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -19,12 +19,39 @@ package android.hardware.automotive.remoteaccess; import android.hardware.automotive.remoteaccess.ApState; import android.hardware.automotive.remoteaccess.IRemoteTaskCallback; import android.hardware.automotive.remoteaccess.ScheduleInfo; +import android.hardware.automotive.remoteaccess.TaskType; /** - * Interface representing a remote wakeup client. + * The remote access HAL. * - * A wakeup client is a binary outside Android framework that communicates with - * a wakeup server and receives wake up command. + *

This HAL represents an external system that is always on even when Android + * is powered off. It is capable of wakeing up and notifying Android when a + * remote task arrives. + * + *

For cloud-based remote access, a cloud server will issue the remote task + * to the external system, which will then be forwarded to Android. The client + * is expected to call {@code setRemoteTaskCallback} to register the remote + * task callback and uses the information returned from {@code getVehicleId}, + * {@code getWakeupServiceName} and {@code getProcessorId} to register with + * a remote server. + * + *

For serverless remote access, the remote task comes from the external + * system alone and no server is involved. The external system may support + * scheduling a remote task to executed later through {@code scheduleTask}. + * + *

For both cloud-based and serverless remote access, the ideal use case + * is to wake up Android when the vehicle is not in use and then shutdown + * Android after the task is complete. However, user may access the vehicle + * during this period, and Android must not be shutdown if this happens. + * + *

If this interface is implemented, then VHAL property + * {@code VEHICLE_IN_USE} must be supported to represent whether the vehicle is + * currently in use. Android will check this before sending the shutdown + * request. + * + *

The external power controller system must also check whether vehicle is + * in use upon receiving the shutdown request and makes sure that an + * user-unexpected shutdown must not happen. */ @VintfStability interface IRemoteAccess { @@ -109,6 +136,17 @@ interface IRemoteAccess { */ boolean isTaskScheduleSupported(); + /** + * Returns the supported task types for scheduling. + * + *

If task scheduling is not supported, this returns an empty array. + * + *

Otherwise, at least {@code TaskType.CUSTOM} must be supported. + * + * @return An array of supported task types. + */ + TaskType[] getSupportedTaskTypesForScheduling(); + /** * Schedules a task to be executed later even when the vehicle is off. * @@ -127,6 +165,8 @@ interface IRemoteAccess { * *

Must return {@code EX_ILLEGAL_ARGUMENT} if a pending schedule with the same * {@code scheduleId} for this client exists. + * + *

Must return {@code EX_ILLEGAL_ARGUMENT} if the task type is not supported. */ void scheduleTask(in ScheduleInfo scheduleInfo); diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl index 2cd7a5db6b..ee6f900525 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl @@ -22,7 +22,7 @@ package android.hardware.automotive.remoteaccess; @VintfStability interface IRemoteTaskCallback { /** - * A callback that is called when a remote task is requested. + * A callback that is called when a custom type remote task is requested. * * The data is passed down from the remote server to the remote task client * which is an Android application, and is not interpreted/parsed by the diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl index cf1437bf1b..40fba6f2a3 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl @@ -16,6 +16,8 @@ package android.hardware.automotive.remoteaccess; +import android.hardware.automotive.remoteaccess.TaskType; + @VintfStability @JavaDerive(equals=true, toString=true) parcelable ScheduleInfo { @@ -30,9 +32,15 @@ parcelable ScheduleInfo { * scheduleId will return {@code EX_ILLEGAL_ARGUMENT}. */ String scheduleId; + /** + * The type for the task. + */ + TaskType taskType; /** * The opaque task data that will be sent back to the remote task client app when the task is * executed. It is not interpreted/parsed by the Android system. + * + *

This is only used for {@code TaskType.CUSTOM}. */ byte[] taskData; /** diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/TaskType.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/TaskType.aidl new file mode 100644 index 0000000000..761eb1515b --- /dev/null +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/TaskType.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ + +package android.hardware.automotive.remoteaccess; + +@VintfStability +@Backing(type="int") +enum TaskType { + /** + * A custom task that is opaque to anyone other than the remote task client app. + * + *

The opaque task data in the {@code ScheduleInfo} will be sent back to the app when the + * task is to be executed. + */ + CUSTOM = 0, + /** + * Enters the garage mode if allowed. + * + *

Make the Android system enters garage mode if vehicle is currently not in use and + * entering garage mode is allowed (e.g. battery level is high enough). + * + *

This is based on best-effort and it is not guaranteed. + * + *

If allowed, the external system should set {@code AP_POWER_BOOTUP_REASON} to + * {@code SYSTEM_ENTER_GARAGE_MODE} and then boot up (or resume) the head unit. + */ + ENTER_GARAGE_MODE = 1, +} diff --git a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h index 1fc4037ae2..23b4ebe505 100644 --- a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h +++ b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h @@ -81,6 +81,9 @@ class RemoteAccessService ndk::ScopedAStatus isTaskScheduleSupported(bool* out) override; + ndk::ScopedAStatus getSupportedTaskTypesForScheduling( + std::vector* out) override; + ndk::ScopedAStatus scheduleTask( const aidl::android::hardware::automotive::remoteaccess::ScheduleInfo& scheduleInfo) override; diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp index 0944d8699d..55211345b9 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp @@ -40,6 +40,7 @@ namespace { using ::aidl::android::hardware::automotive::remoteaccess::ApState; using ::aidl::android::hardware::automotive::remoteaccess::IRemoteTaskCallback; using ::aidl::android::hardware::automotive::remoteaccess::ScheduleInfo; +using ::aidl::android::hardware::automotive::remoteaccess::TaskType; using ::aidl::android::hardware::automotive::vehicle::VehicleProperty; using ::android::base::Error; using ::android::base::ParseInt; @@ -319,6 +320,13 @@ ScopedAStatus RemoteAccessService::isTaskScheduleSupported(bool* out) { return ScopedAStatus::ok(); } +ndk::ScopedAStatus RemoteAccessService::getSupportedTaskTypesForScheduling( + std::vector* out) { + // TODO(b/316233421): support ENTER_GARAGE_MODE type. + out->push_back(TaskType::CUSTOM); + return ScopedAStatus::ok(); +} + ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo) { ClientContext context; ScheduleTaskRequest request = {}; diff --git a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp index c0038c270b..4af0003920 100644 --- a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp +++ b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp @@ -48,6 +48,7 @@ using ::android::frameworks::automotive::vhal::VhalClientResult; using ::aidl::android::hardware::automotive::remoteaccess::ApState; using ::aidl::android::hardware::automotive::remoteaccess::BnRemoteTaskCallback; using ::aidl::android::hardware::automotive::remoteaccess::ScheduleInfo; +using ::aidl::android::hardware::automotive::remoteaccess::TaskType; using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue; using ::grpc::ClientAsyncReaderInterface; @@ -61,6 +62,7 @@ using ::grpc::testing::MockClientReader; using ::ndk::ScopedAStatus; using ::testing::_; using ::testing::DoAll; +using ::testing::ElementsAre; using ::testing::Return; using ::testing::SetArgPointee; @@ -434,6 +436,14 @@ TEST_F(RemoteAccessServiceUnitTest, TestIsTaskScheduleSupported) { EXPECT_TRUE(out); } +TEST_F(RemoteAccessServiceUnitTest, TestGetSupportedTaskTypesForScheduling) { + std::vector out; + ScopedAStatus status = getService()->getSupportedTaskTypesForScheduling(&out); + + EXPECT_TRUE(status.isOk()); + EXPECT_THAT(out, ElementsAre(TaskType::CUSTOM)); +} + TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask) { ScheduleTaskRequest grpcRequest = {}; EXPECT_CALL(*getGrpcWakeupClientStub(), ScheduleTask) From e6fcf244014c04c9a585d537ef2bbbb29945b4a9 Mon Sep 17 00:00:00 2001 From: Sukhwan Mun Date: Fri, 15 Dec 2023 09:14:52 +0000 Subject: [PATCH 018/198] rename TRIGGER_CLEAR_RAT_BLOCK to _BLOCKS Rename TRIGGER_CLEAR_RAT_BLOCK to TRIGGER_CLEAR_RAT_BLOCKS and update comments for TRIGGER_RAT_BLOCK Bug: 315094087 Test: FrameworksTelephonyTests:ImsPhoneCallTrackerTest#testUpdateImsRegistrationInfo Change-Id: I5c3f60c80caae0f66c40c18c0dd80e1e01b3ec42 --- .../android/hardware/radio/ims/SuggestedAction.aidl | 2 +- .../aidl/android/hardware/radio/ims/SuggestedAction.aidl | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/current/android/hardware/radio/ims/SuggestedAction.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/current/android/hardware/radio/ims/SuggestedAction.aidl index 6dbf09ddc9..98460061ac 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.ims/current/android/hardware/radio/ims/SuggestedAction.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/current/android/hardware/radio/ims/SuggestedAction.aidl @@ -39,5 +39,5 @@ enum SuggestedAction { TRIGGER_PLMN_BLOCK, TRIGGER_PLMN_BLOCK_WITH_TIMEOUT, TRIGGER_RAT_BLOCK, - TRIGGER_CLEAR_RAT_BLOCK, + TRIGGER_CLEAR_RAT_BLOCKS, } diff --git a/radio/aidl/android/hardware/radio/ims/SuggestedAction.aidl b/radio/aidl/android/hardware/radio/ims/SuggestedAction.aidl index f0e28fc8e0..73c57fada3 100644 --- a/radio/aidl/android/hardware/radio/ims/SuggestedAction.aidl +++ b/radio/aidl/android/hardware/radio/ims/SuggestedAction.aidl @@ -37,9 +37,10 @@ enum SuggestedAction { TRIGGER_PLMN_BLOCK_WITH_TIMEOUT, /** * Indicates that the IMS registration on current RAT failed multiple times. - * The radio shall block the current RAT and search for other available RATs in the - * background. If no other RAT is available that meets the carrier requirements, the - * radio may remain on the current RAT for internet service. The radio clears all + * The radio shall block the {@link AccessNetwork} included with this and + * search for other available RATs in the background. + * If no other RAT is available that meets the carrier requirements, the + * radio may remain on the blocked RAT for internet service. The radio clears all * RATs marked as unavailable if {@link IRadioIms#updateImsRegistrationInfo()} API * with REGISTERED state is invoked. */ @@ -48,5 +49,5 @@ enum SuggestedAction { * Indicates that the radio clears all RATs marked as unavailable and tries to find * an available RAT that meets the carrier requirements. */ - TRIGGER_CLEAR_RAT_BLOCK, + TRIGGER_CLEAR_RAT_BLOCKS, } From d635e372fd6ca802cd0f8f637ace71760cc3e9aa Mon Sep 17 00:00:00 2001 From: Maxim Pleshivenkov Date: Fri, 15 Dec 2023 15:47:36 +0000 Subject: [PATCH 019/198] Update comments Updated comments for VehicleApPowerStateShutdownParam values. Bug: 316026370 Change-Id: I8e7b9c0c11755c885588b96b54490f0b70b4f9e0 Test: manual build Change-Id: I8e7b9c0c11755c885588b96b54490f0b70b4f9e0 --- .../VehicleApPowerStateShutdownParam.aidl | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl index 923d42aef1..966ff65d88 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl @@ -20,33 +20,41 @@ package android.hardware.automotive.vehicle; @Backing(type="int") enum VehicleApPowerStateShutdownParam { /** - * AP must shutdown immediately. Postponing is not allowed. + * AP must shutdown without Garage mode. Postponing is not allowed. + * If AP need to shutdown as soon as possible, EMERGENCY_SHUTDOWN shall be used. */ SHUTDOWN_IMMEDIATELY = 1, /** * AP can enter deep sleep instead of shutting down completely. + * AP can postpone entering deep sleep to run Garage mode. */ CAN_SLEEP = 2, /** - * AP can only shutdown with postponing allowed. + * AP can only shutdown. + * AP can postpone shutdown to run Garage mode. */ SHUTDOWN_ONLY = 3, /** - * AP may enter deep sleep, but must either sleep or shut down immediately. + * AP can enter deep sleep, without Garage mode. * Postponing is not allowed. + * Depending on the actual implementation, it may shut down immediately */ SLEEP_IMMEDIATELY = 4, /** - * AP must hibernate (suspend to disk) immediately. Postponing is not allowed. - * Depending on the actual implementation, it may shut down immediately + * AP can hibernate (suspend to disk) without Garage mode. + * Postponing is not allowed. + * Depending on the actual implementation, it may shut down immediately. */ HIBERNATE_IMMEDIATELY = 5, /** * AP can enter hibernation (suspend to disk) instead of shutting down completely. + * AP can postpone hibernation to run Garage mode. */ CAN_HIBERNATE = 6, /** - * AP must shutdown (gracefully) without a delay. + * AP must shutdown (gracefully) without a delay. AP cannot run Garage mode. + * This type must be used only in critical situations when AP must shutdown as soon as possible. + * CarService will only notify listeners, but will not wait for completion reports. */ EMERGENCY_SHUTDOWN = 7, } From 37cc14d02560863b4584bff72299d9157b266a7b Mon Sep 17 00:00:00 2001 From: Grant Menke Date: Wed, 29 Nov 2023 19:28:28 -0800 Subject: [PATCH 020/198] Added Telephony DSDA Support to the HAL. This CL updates the relevant aidl files to allow the modem to dynamically inform telephony of whether simultaneos cellular calling is supported. Bug: 311495663 Test: VTS Change-Id: Ie1e10a50227e8a53fc62a5822a0a115b101ef388 --- .../hardware/radio/config/IRadioConfig.aidl | 1 + .../radio/config/IRadioConfigIndication.aidl | 1 + .../radio/config/IRadioConfigResponse.aidl | 1 + .../radio/config/PhoneCapability.aidl | 2 ++ .../hardware/radio/config/IRadioConfig.aidl | 16 +++++++++ .../radio/config/IRadioConfigIndication.aidl | 11 ++++++ .../radio/config/IRadioConfigResponse.aidl | 23 ++++++++++++ .../radio/config/PhoneCapability.aidl | 7 ++++ .../libradiocompat/config/RadioConfig.cpp | 7 ++++ .../include/libradiocompat/RadioConfig.h | 1 + radio/aidl/vts/radio_config_indication.cpp | 5 +++ radio/aidl/vts/radio_config_response.cpp | 7 ++++ radio/aidl/vts/radio_config_test.cpp | 35 +++++++++++++++++++ radio/aidl/vts/radio_config_utils.h | 6 ++++ 14 files changed, 123 insertions(+) diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl index 0f5e7e4f77..bc1c29236f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl @@ -51,4 +51,5 @@ interface IRadioConfig { oneway void setPreferredDataModem(in int serial, in byte modemId); oneway void setResponseFunctions(in android.hardware.radio.config.IRadioConfigResponse radioConfigResponse, in android.hardware.radio.config.IRadioConfigIndication radioConfigIndication); oneway void setSimSlotsMapping(in int serial, in android.hardware.radio.config.SlotPortMapping[] slotMap); + oneway void getSimultaneousCallingSupport(in int serial); } diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl index 9189f9062f..f786373785 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl @@ -36,4 +36,5 @@ package android.hardware.radio.config; @VintfStability interface IRadioConfigIndication { oneway void simSlotsStatusChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.config.SimSlotStatus[] slotStatus); + oneway void onSimultaneousCallingSupportChanged(in int[] enabledLogicalSlots); } diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl index 348aa348bf..6ff7bd0b1b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl @@ -42,4 +42,5 @@ interface IRadioConfigResponse { oneway void setNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setPreferredDataModemResponse(in android.hardware.radio.RadioResponseInfo info); oneway void setSimSlotsMappingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getSimultaneousCallingSupportResponse(in android.hardware.radio.RadioResponseInfo info, in int[] enabledLogicalSlots); } diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl index 3648866a13..2c66abda59 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl @@ -39,4 +39,6 @@ parcelable PhoneCapability { byte maxActiveInternetData; boolean isInternetLingeringSupported; byte[] logicalModemIds; + byte maxActiveVoice = UNKNOWN /* -1 */; + const byte UNKNOWN = (-1) /* -1 */; } diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl index 9058d9d050..8f4dff4bf6 100644 --- a/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl +++ b/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl @@ -191,4 +191,20 @@ oneway interface IRadioConfig { * This is available when android.hardware.telephony.subscription is defined. */ void setSimSlotsMapping(in int serial, in SlotPortMapping[] slotMap); + + /** + * Get the set of logical slots where simultaneous cellular calling is currently possible. This + * does not include simultaneous calling availability over other non-cellular transports, such + * as IWLAN. + * + * Get the set of slots that currently support simultaneous cellular calling. When a new + * cellular call is placed/received, if another slot is active and handing a call, both the + * active slot and proposed slot must be in this list in order to support simultaneous cellular + * calling for both of those slots. + * + * @param serial Serial number of request + * + * This is available when android.hardware.telephony is defined. + */ + void getSimultaneousCallingSupport(in int serial); } diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl index ed2366bbad..9eacb8e653 100644 --- a/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl +++ b/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl @@ -37,4 +37,15 @@ oneway interface IRadioConfigIndication { */ void simSlotsStatusChanged( in android.hardware.radio.RadioIndicationType type, in SimSlotStatus[] slotStatus); + + /** + * The logical slots supporting simultaneous cellular calling has changed. + * + * @param enabledLogicalSlots The slots that have simultaneous cellular calling enabled. If + * there is a call active on logical slot X, then a simultaneous cellular call is only possible + * on logical slot Y if BOTH slot X and slot Y are in enabledLogicalSlots. If simultaneous + * cellular calling is not currently supported, the expected value of enabledLogicalSLots is an + * empty int array. Sending only one radio slot is not acceptable in any case. + */ + void onSimultaneousCallingSupportChanged(in int[] enabledLogicalSlots); } diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl index df93e3c336..33b0ff0688 100644 --- a/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl +++ b/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl @@ -129,4 +129,27 @@ oneway interface IRadioConfigResponse { * RadioError:INVALID_ARGUMENTS */ void setSimSlotsMappingResponse(in android.hardware.radio.RadioResponseInfo info); + + /** + * Response to the asynchronous + * {@link IRadioConfig#getSimultaneousCallingSupport} request. + * + * @param info Response info struct containing response type, serial no. and error + * @param enabledLogicalSlots The slots that have simultaneous cellular calling enabled. If + * there is a call active on logical slot X, then a simultaneous cellular call is only possible + * on logical slot Y if BOTH slot X and slot Y are in enabledLogicalSlots. If simultaneous + * cellular calling is not currently supported, the expected value of enabledLogicalSLots is an + * empty int array. Sending only one radio slot is not acceptable in any case. + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED when android.hardware.telephony is not defined + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * + * @see IRadioConfig#getSimultaneousCallingSupport for more information. + */ + void getSimultaneousCallingSupportResponse( + in android.hardware.radio.RadioResponseInfo info, in int[] enabledLogicalSlots); } diff --git a/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl index 35d6b5d86d..7936eb6cd7 100644 --- a/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl +++ b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl @@ -25,6 +25,7 @@ package android.hardware.radio.config; @VintfStability @JavaDerive(toString=true) parcelable PhoneCapability { + const byte UNKNOWN = -1; /** * maxActiveData defines how many logical modems can have * PS attached simultaneously. For example, for L+L modem it @@ -47,4 +48,10 @@ parcelable PhoneCapability { * List of logical modem IDs. */ byte[] logicalModemIds; + /** + * maxActiveVoice defines how many logical modems can have + * cellular voice calls simultaneously. For example, for cellular DSDA + * with simultaneous calling support, it should be 2. + */ + byte maxActiveVoice = UNKNOWN; } diff --git a/radio/aidl/compat/libradiocompat/config/RadioConfig.cpp b/radio/aidl/compat/libradiocompat/config/RadioConfig.cpp index b45041811d..837c62656a 100644 --- a/radio/aidl/compat/libradiocompat/config/RadioConfig.cpp +++ b/radio/aidl/compat/libradiocompat/config/RadioConfig.cpp @@ -62,6 +62,13 @@ ScopedAStatus RadioConfig::getPhoneCapability(int32_t serial) { return ok(); } +ScopedAStatus RadioConfig::getSimultaneousCallingSupport(int32_t serial) { + LOG_CALL << serial; + LOG(ERROR) << " getSimultaneousCallingSupport is unsupported by HIDL HALs"; + respond()->getSimultaneousCallingSupportResponse(notSupported(serial), {}); + return ok(); +} + ScopedAStatus RadioConfig::getSimSlotsStatus(int32_t serial) { LOG_CALL << serial; mHal1_1->getSimSlotsStatus(serial); diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioConfig.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioConfig.h index 89ddea0d49..17d59858a4 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioConfig.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/RadioConfig.h @@ -42,6 +42,7 @@ class RadioConfig : public aidl::android::hardware::radio::config::BnRadioConfig ::ndk::ScopedAStatus getHalDeviceCapabilities(int32_t serial) override; ::ndk::ScopedAStatus getNumOfLiveModems(int32_t serial) override; ::ndk::ScopedAStatus getPhoneCapability(int32_t serial) override; + ::ndk::ScopedAStatus getSimultaneousCallingSupport(int32_t serial) override; ::ndk::ScopedAStatus getSimSlotsStatus(int32_t serial) override; ::ndk::ScopedAStatus setNumOfLiveModems(int32_t serial, int8_t numOfLiveModems) override; ::ndk::ScopedAStatus setPreferredDataModem(int32_t serial, int8_t modemId) override; diff --git a/radio/aidl/vts/radio_config_indication.cpp b/radio/aidl/vts/radio_config_indication.cpp index a84c20b4b7..c7076632f2 100644 --- a/radio/aidl/vts/radio_config_indication.cpp +++ b/radio/aidl/vts/radio_config_indication.cpp @@ -22,3 +22,8 @@ ndk::ScopedAStatus RadioConfigIndication::simSlotsStatusChanged( RadioIndicationType /*type*/, const std::vector& /*slotStatus*/) { return ndk::ScopedAStatus::ok(); } + +ndk::ScopedAStatus RadioConfigIndication::onSimultaneousCallingSupportChanged( + const std::vector& /*enabledLogicalSlots*/) { + return ndk::ScopedAStatus::ok(); +} diff --git a/radio/aidl/vts/radio_config_response.cpp b/radio/aidl/vts/radio_config_response.cpp index 7384f87adc..dccbd0e9c5 100644 --- a/radio/aidl/vts/radio_config_response.cpp +++ b/radio/aidl/vts/radio_config_response.cpp @@ -40,6 +40,13 @@ ndk::ScopedAStatus RadioConfigResponse::getPhoneCapabilityResponse( return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus RadioConfigResponse::getSimultaneousCallingSupportResponse( + const RadioResponseInfo& info, const std::vector& /* enabledLogicalSlots */) { + rspInfo = info; + parent_config.notify(info.serial); + return ndk::ScopedAStatus::ok(); +} + ndk::ScopedAStatus RadioConfigResponse::setPreferredDataModemResponse( const RadioResponseInfo& info) { rspInfo = info; diff --git a/radio/aidl/vts/radio_config_test.cpp b/radio/aidl/vts/radio_config_test.cpp index d8c0142ccd..f7251367c3 100644 --- a/radio/aidl/vts/radio_config_test.cpp +++ b/radio/aidl/vts/radio_config_test.cpp @@ -121,6 +121,41 @@ TEST_P(RadioConfigTest, getPhoneCapability) { } } +/* + * Test IRadioConfig.getSimultaneousCallingSupport() for the response returned. + */ +TEST_P(RadioConfigTest, getSimultaneousCallingSupport) { + if (telephony_flags::enforce_telephony_feature_mapping()) { + if (!deviceSupportsFeature(FEATURE_TELEPHONY)) { + GTEST_SKIP() << "Skipping getSimultaneousCallingSupport " + "due to undefined FEATURE_TELEPHONY"; + } + } + + int32_t aidl_version; + ndk::ScopedAStatus aidl_status = radio_config->getInterfaceVersion(&aidl_version); + ASSERT_OK(aidl_status); + if (aidl_version < 3) { + ALOGI("Skipped the test since" + " getSimultaneousCallingSupport is not supported on version < 3."); + GTEST_SKIP(); + } + + serial = GetRandomSerialNumber(); + ndk::ScopedAStatus res = radio_config->getSimultaneousCallingSupport(serial); + ASSERT_OK(res); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_config->rspInfo.type); + EXPECT_EQ(serial, radioRsp_config->rspInfo.serial); + ALOGI("getSimultaneousCallingSupport, rspInfo.error = %s\n", + toString(radioRsp_config->rspInfo.error).c_str()); + + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_config->rspInfo.error, + {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::INTERNAL_ERR, + RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); +} + /* * Test IRadioConfig.setPreferredDataModem() for the response returned. */ diff --git a/radio/aidl/vts/radio_config_utils.h b/radio/aidl/vts/radio_config_utils.h index f79aedbf9e..9e809ff4ef 100644 --- a/radio/aidl/vts/radio_config_utils.h +++ b/radio/aidl/vts/radio_config_utils.h @@ -48,6 +48,9 @@ class RadioConfigResponse : public BnRadioConfigResponse { virtual ndk::ScopedAStatus getPhoneCapabilityResponse( const RadioResponseInfo& info, const PhoneCapability& phoneCapability) override; + virtual ndk::ScopedAStatus getSimultaneousCallingSupportResponse( + const RadioResponseInfo& info, const std::vector& enabledLogicalSlots) override; + virtual ndk::ScopedAStatus setPreferredDataModemResponse( const RadioResponseInfo& info) override; @@ -71,6 +74,9 @@ class RadioConfigIndication : public BnRadioConfigIndication { virtual ndk::ScopedAStatus simSlotsStatusChanged( RadioIndicationType type, const std::vector& slotStatus) override; + + virtual ndk::ScopedAStatus onSimultaneousCallingSupportChanged( + const std::vector& /*enabledLogicalSlots*/) override; }; // The main test class for Radio AIDL Config. From 54382a1f72b3779002e9fcaca9ab5d9905e3dd9a Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Fri, 15 Dec 2023 22:28:31 +0000 Subject: [PATCH 021/198] Check interface version when running the VTS test for disableEht. New AIDL methods are not available on the next configuration. Bug: 314851431 Test: atest VtsHalWifiSupplicantStaNetworkTargetTest # Test runs on the trunk configuration, but # gets skipped on the next configuration. Change-Id: I13bcfa51146e14932a8f377b1590719a683cea4f --- .../aidl/vts/functional/supplicant_sta_network_aidl_test.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp index 757414195e..e5e9735a18 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp @@ -110,6 +110,7 @@ class SupplicantStaNetworkAidlTest initializeService(); supplicant_ = getSupplicant(GetParam().c_str()); ASSERT_NE(supplicant_, nullptr); + ASSERT_TRUE(supplicant_->getInterfaceVersion(&interface_version_).isOk()); ASSERT_TRUE(supplicant_ ->setDebugParams(DebugLevel::EXCESSIVE, true, // show timestamps @@ -131,6 +132,7 @@ class SupplicantStaNetworkAidlTest std::shared_ptr supplicant_; std::shared_ptr sta_iface_; std::shared_ptr sta_network_; + int interface_version_; void removeNetwork() { ASSERT_NE(sta_iface_, nullptr); @@ -826,6 +828,9 @@ TEST_P(SupplicantStaNetworkAidlTest, SetMinimumTlsVersionEapPhase1Param) { * disableEht */ TEST_P(SupplicantStaNetworkAidlTest, DisableEht) { + if (interface_version_ < 3) { + GTEST_SKIP() << "disableEht is available as of Supplicant V3"; + } EXPECT_TRUE(sta_network_->disableEht().isOk()); } From bd65531e3b2f7900437af902f07d032f0e617d97 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 14 Dec 2023 17:28:35 -0800 Subject: [PATCH 022/198] Fix empty array object obtain. Test: atest VehicleHalVehicleUtilsTest Bug: 316432606 Change-Id: I6b2009cf3e96be33cc4abdfaa4c781b46a0f49f8 --- .../impl/utils/common/include/VehicleObjectPool.h | 2 +- .../aidl/impl/utils/common/include/VehicleUtils.h | 1 - .../impl/utils/common/src/VehicleObjectPool.cpp | 7 ------- .../utils/common/test/VehicleObjectPoolTest.cpp | 14 ++++++++++++++ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleObjectPool.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleObjectPool.h index 6e812d1d40..501ce40b38 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleObjectPool.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleObjectPool.h @@ -235,7 +235,7 @@ class VehiclePropValuePool { bool isDisposable(aidl::android::hardware::automotive::vehicle::VehiclePropertyType type, size_t vectorSize) const { - return vectorSize > mMaxRecyclableVectorSize || isComplexType(type); + return vectorSize == 0 || vectorSize > mMaxRecyclableVectorSize || isComplexType(type); } RecyclableType obtainDisposable( diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h index 546421e109..523cac527e 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h @@ -124,7 +124,6 @@ createVehiclePropValueVec(aidl::android::hardware::automotive::vehicle::VehicleP break; // Valid, but nothing to do. default: ALOGE("createVehiclePropValue: unknown type: %d", toInt(type)); - val.reset(nullptr); } return val; } diff --git a/automotive/vehicle/aidl/impl/utils/common/src/VehicleObjectPool.cpp b/automotive/vehicle/aidl/impl/utils/common/src/VehicleObjectPool.cpp index 2480a7362e..7e0276739e 100644 --- a/automotive/vehicle/aidl/impl/utils/common/src/VehicleObjectPool.cpp +++ b/automotive/vehicle/aidl/impl/utils/common/src/VehicleObjectPool.cpp @@ -55,13 +55,6 @@ VehiclePropValuePool::RecyclableType VehiclePropValuePool::obtain(const VehicleP int propId = src.prop; VehiclePropertyType type = getPropType(propId); size_t vectorSize = getVehicleRawValueVectorSize(src.value, type); - if (vectorSize == 0 && !isComplexType(type)) { - ALOGW("empty vehicle prop value, contains no content"); - ALOGW("empty vehicle prop value, contains no content, prop: %d", propId); - // Return any empty VehiclePropValue. - return RecyclableType{new VehiclePropValue{}, mDisposableDeleter}; - } - auto dest = obtain(type, vectorSize); dest->prop = propId; diff --git a/automotive/vehicle/aidl/impl/utils/common/test/VehicleObjectPoolTest.cpp b/automotive/vehicle/aidl/impl/utils/common/test/VehicleObjectPoolTest.cpp index a62532c911..6226e8943c 100644 --- a/automotive/vehicle/aidl/impl/utils/common/test/VehicleObjectPoolTest.cpp +++ b/automotive/vehicle/aidl/impl/utils/common/test/VehicleObjectPoolTest.cpp @@ -267,6 +267,20 @@ TEST_F(VehicleObjectPoolTest, testObtainCopyInt32Values) { ASSERT_EQ(*gotValue, prop); } +TEST_F(VehicleObjectPoolTest, testObtainCopyInt32ValuesEmptyArray) { + VehiclePropValue prop{ + // INT32_VEC property. + .prop = toInt(VehicleProperty::INFO_FUEL_TYPE), + .areaId = 2, + .timestamp = 3, + .value = {.int32Values = {}}, + }; + auto gotValue = mValuePool->obtain(prop); + + ASSERT_NE(gotValue, nullptr); + ASSERT_EQ(*gotValue, prop); +} + TEST_F(VehicleObjectPoolTest, testObtainCopyInt64Values) { VehiclePropValue prop{ // INT64_VEC property. From 10d37ef3aa10bf5f4ada345b9d9127d7f1ba59b9 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Fri, 15 Dec 2023 12:45:27 -0800 Subject: [PATCH 023/198] Add version annotation. Add aidl_property interface version annotation. This prepares us for adding VTS test to make sure newly introduced properties are not supported in older versions. Test: None Bug: 316614617 Change-Id: Id16ebc4888160e9a48999bc91e02884805a5189b --- .../automotive/vehicle/VehicleProperty.aidl | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index fb8f730398..026c040139 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -52,6 +52,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_VIN = 0x0100 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -60,6 +61,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_MAKE = 0x0101 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -68,6 +70,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_MODEL = 0x0102 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -77,6 +80,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:YEAR + * @version 2 */ INFO_MODEL_YEAR = 0x0103 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -86,6 +90,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLILITER + * @version 2 */ INFO_FUEL_CAPACITY = 0x0104 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -105,6 +110,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @data_enum FuelType + * @version 2 */ INFO_FUEL_TYPE = 0x0105 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -119,6 +125,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:WH + * @version 2 */ INFO_EV_BATTERY_CAPACITY = 0x0106 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -128,6 +135,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @data_enum EvConnectorType * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_EV_CONNECTOR_TYPE = 0x0107 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -137,6 +145,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @data_enum PortLocationType * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_FUEL_DOOR_LOCATION = 0x0108 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -146,6 +155,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @data_enum PortLocationType + * @version 2 */ INFO_EV_PORT_LOCATION = 0x0109 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -156,6 +166,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @data_enum VehicleAreaSeat * @access VehiclePropertyAccess.READ + * @version 2 */ INFO_DRIVER_SEAT = 0x010A + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -174,6 +185,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLIMETER + * @version 2 */ INFO_EXTERIOR_DIMENSIONS = 0x010B + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -189,6 +201,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @data_enum PortLocationType + * @version 2 */ INFO_MULTI_EV_PORT_LOCATIONS = 0x010C + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -198,6 +211,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:KILOMETER + * @version 2 */ PERF_ODOMETER = 0x0204 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -213,6 +227,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:METER_PER_SEC + * @version 2 */ PERF_VEHICLE_SPEED = 0x0207 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -225,6 +240,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:METER_PER_SEC + * @version 2 */ PERF_VEHICLE_SPEED_DISPLAY = 0x0208 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -236,6 +252,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:DEGREES + * @version 2 */ PERF_STEERING_ANGLE = 0x0209 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -247,6 +264,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:DEGREES + * @version 2 */ PERF_REAR_STEERING_ANGLE = 0x0210 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -256,6 +274,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 2 */ ENGINE_COOLANT_TEMP = 0x0301 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -265,6 +284,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleOilLevel + * @version 2 */ ENGINE_OIL_LEVEL = 0x0303 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -274,6 +294,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 2 */ ENGINE_OIL_TEMP = 0x0304 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -283,6 +304,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:RPM + * @version 2 */ ENGINE_RPM = 0x0305 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -323,6 +345,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ + * @version 2 */ WHEEL_TICK = 0x0306 + 0x10000000 + 0x01000000 + 0x00510000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT64_VEC @@ -334,6 +357,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLILITER + * @version 2 */ FUEL_LEVEL = 0x0307 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -346,6 +370,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ FUEL_DOOR_OPEN = 0x0308 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -359,6 +384,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:WH + * @version 2 */ EV_BATTERY_LEVEL = 0x0309 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -373,6 +399,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:WH + * @version 2 */ EV_CURRENT_BATTERY_CAPACITY = 0x030D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.FLOAT, @@ -385,6 +412,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ EV_CHARGE_PORT_OPEN = 0x030A + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -393,6 +421,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ EV_CHARGE_PORT_CONNECTED = 0x030B + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -405,6 +434,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MW + * @version 2 */ EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 0x030C + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -423,6 +453,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:METER + * @version 2 */ RANGE_REMAINING = 0x0308 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -436,6 +467,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 3 */ EV_BATTERY_AVERAGE_TEMPERATURE = 0x030E + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.FLOAT, @@ -463,6 +495,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:KILOPASCAL + * @version 2 */ TIRE_PRESSURE = 0x0309 + 0x10000000 + 0x07000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WHEEL,VehiclePropertyType:FLOAT @@ -478,6 +511,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:KILOPASCAL + * @version 2 */ CRITICALLY_LOW_TIRE_PRESSURE = 0x030A + 0x10000000 + 0x07000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WHEEL,VehiclePropertyType:FLOAT @@ -493,6 +527,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ ENGINE_IDLE_AUTO_STOP_ENABLED = 0x0320 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -509,6 +544,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum ImpactSensorLocation + * @version 3 */ IMPACT_DETECTED = 0x0330 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -529,6 +565,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleGear + * @version 2 */ GEAR_SELECTION = 0x0400 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -548,6 +585,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleGear + * @version 2 */ CURRENT_GEAR = 0x0401 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -559,6 +597,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ PARKING_BRAKE_ON = 0x0402 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -576,6 +615,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ PARKING_BRAKE_AUTO_APPLY = 0x0403 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -594,6 +634,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ EV_BRAKE_REGENERATION_LEVEL = 0x040C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -612,6 +653,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ FUEL_LEVEL_LOW = 0x0405 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -624,6 +666,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ NIGHT_MODE = 0x0407 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -633,6 +676,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleTurnSignal + * @version 2 */ TURN_SIGNAL_STATE = 0x0408 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -642,6 +686,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleIgnitionState + * @version 2 */ IGNITION_STATE = 0x0409 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -654,6 +699,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ ABS_ACTIVE = 0x040A + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -666,6 +712,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ TRACTION_CONTROL_ACTIVE = 0x040B + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -684,6 +731,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum EvStoppingMode + * @version 2 */ EV_STOPPING_MODE = 0x040D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -705,6 +753,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ ELECTRONIC_STABILITY_CONTROL_ENABLED = 0x040E + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -723,6 +772,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum ElectronicStabilityControlState * @data_enum ErrorState + * @version 2 */ ELECTRONIC_STABILITY_CONTROL_STATE = 0x040F + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -789,6 +839,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_FAN_SPEED = 0x0500 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -802,6 +853,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleHvacFanDirection + * @version 2 */ HVAC_FAN_DIRECTION = 0x0501 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -811,6 +863,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 2 */ HVAC_TEMPERATURE_CURRENT = 0x0502 + 0x10000000 + 0x05000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:FLOAT @@ -842,6 +895,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 2 */ HVAC_TEMPERATURE_SET = 0x0503 + 0x10000000 + 0x05000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:FLOAT @@ -854,6 +908,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_DEFROSTER = 0x0504 + 0x10000000 + 0x03000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:BOOLEAN @@ -867,6 +922,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @config_flags Supported areaIds + * @version 2 */ HVAC_AC_ON = 0x0505 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -884,6 +940,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_MAX_AC_ON = 0x0506 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -907,6 +964,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_MAX_DEFROST_ON = 0x0507 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -924,6 +982,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_RECIRC_ON = 0x0508 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -963,6 +1022,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_DUAL_ON = 0x0509 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -985,6 +1045,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_AUTO_ON = 0x050A + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -1007,6 +1068,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_SEAT_TEMPERATURE = 0x050B + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -1030,6 +1092,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_SIDE_MIRROR_HEAT = 0x050C + 0x10000000 + 0x04000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:MIRROR,VehiclePropertyType:INT32 @@ -1053,6 +1116,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_STEERING_WHEEL_HEAT = 0x050D + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1079,6 +1143,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleUnit + * @version 2 */ HVAC_TEMPERATURE_DISPLAY_UNITS = 0x050E + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1087,6 +1152,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_ACTUAL_FAN_SPEED_RPM = 0x050F + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -1133,6 +1199,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_POWER_ON = 0x0510 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -1152,6 +1219,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @data_enum VehicleHvacFanDirection + * @version 2 */ HVAC_FAN_DIRECTION_AVAILABLE = 0x0511 + 0x10000000 + 0x05000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32_VEC @@ -1168,6 +1236,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_AUTO_RECIRC_ON = 0x0512 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -1193,6 +1262,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_SEAT_VENTILATION = 0x0513 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -1205,6 +1275,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HVAC_ELECTRIC_DEFROSTER_ON = 0x0514 + 0x10000000 + 0x03000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:BOOLEAN @@ -1245,6 +1316,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ HVAC_TEMPERATURE_VALUE_SUGGESTION = 0x0515 + 0x10000000 + 0x01000000 + 0x00610000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT_VEC @@ -1270,6 +1342,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleUnit + * @version 2 */ DISTANCE_DISPLAY_UNITS = 0x0600 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1294,6 +1367,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleUnit + * @version 2 */ FUEL_VOLUME_DISPLAY_UNITS = 0x0601 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1319,6 +1393,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleUnit + * @version 2 */ TIRE_PRESSURE_DISPLAY_UNITS = 0x0602 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1344,6 +1419,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleUnit + * @version 2 */ EV_BATTERY_DISPLAY_UNITS = 0x0603 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1360,6 +1436,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = 0x0604 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -1383,6 +1460,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ VEHICLE_SPEED_DISPLAY_UNITS = 0x0605 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1427,6 +1505,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLI_SECS + * @version 2 */ EXTERNAL_CAR_TIME = 0x0608 + 0x10000000 // VehiclePropertyGroup:SYSTEM + 0x01000000 // VehicleArea:GLOBAL @@ -1456,6 +1535,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE * @unit VehicleUnit:MILLI_SECS + * @version 2 */ ANDROID_EPOCH_TIME = 0x0606 + 0x10000000 + 0x01000000 + 0x00500000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT64 @@ -1470,6 +1550,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ STORAGE_ENCRYPTION_BINDING_SEED = 0x0607 + 0x10000000 + 0x01000000 + 0x00700000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BYTES @@ -1479,6 +1560,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:CELSIUS + * @version 2 */ ENV_OUTSIDE_TEMPERATURE = 0x0703 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -1497,6 +1579,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ AP_POWER_STATE_REQ = 0x0A00 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1511,6 +1594,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ AP_POWER_STATE_REPORT = 0x0A01 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1525,6 +1609,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ AP_POWER_BOOTUP_REASON = 0x0A02 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1547,6 +1632,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ DISPLAY_BRIGHTNESS = 0x0A03 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -1570,6 +1656,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ PER_DISPLAY_BRIGHTNESS = 0x0A04 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1586,6 +1673,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ VALET_MODE_ENABLED = 0x0A05 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -1602,6 +1690,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ HEAD_UP_DISPLAY_ENABLED = 0x0A06 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, @@ -1619,6 +1708,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @config_flags + * @version 2 */ HW_KEY_INPUT = 0x0A10 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1641,6 +1731,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @config_flags + * @version 2 */ HW_KEY_INPUT_V2 = 0x0A11 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.MIXED, @@ -1675,6 +1766,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @config_flags + * @version 2 */ HW_MOTION_INPUT = 0x0A12 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.MIXED, @@ -1698,6 +1790,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @data_enum RotaryInputType * @access VehiclePropertyAccess.READ + * @version 2 */ HW_ROTARY_INPUT = 0x0A20 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1721,6 +1814,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @data_enum CustomInputType * @access VehiclePropertyAccess.READ + * @version 2 */ HW_CUSTOM_INPUT = 0X0A30 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -1765,6 +1859,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ DOOR_POS = 0x0B00 + 0x10000000 + 0x06000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:DOOR,VehiclePropertyType:INT32 @@ -1790,6 +1885,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ DOOR_MOVE = 0x0B01 + 0x10000000 + 0x06000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:DOOR,VehiclePropertyType:INT32 @@ -1804,6 +1900,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ DOOR_LOCK = 0x0B02 + 0x10000000 + 0x06000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:DOOR,VehiclePropertyType:BOOLEAN @@ -1820,6 +1917,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ DOOR_CHILD_LOCK_ENABLED = 0x0B03 + VehiclePropertyGroup.SYSTEM + VehicleArea.DOOR + VehiclePropertyType.BOOLEAN, @@ -1846,6 +1944,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_Z_POS = 0x0B40 + 0x10000000 + 0x04000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:MIRROR,VehiclePropertyType:INT32 @@ -1872,6 +1971,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_Z_MOVE = 0x0B41 + 0x10000000 + 0x04000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:MIRROR,VehiclePropertyType:INT32 @@ -1898,6 +1998,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_Y_POS = 0x0B42 + 0x10000000 + 0x04000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:MIRROR,VehiclePropertyType:INT32 @@ -1923,6 +2024,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_Y_MOVE = 0x0B43 + 0x10000000 + 0x04000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:MIRROR,VehiclePropertyType:INT32 @@ -1937,6 +2039,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_LOCK = 0x0B44 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -1951,6 +2054,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_FOLD = 0x0B45 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -1968,6 +2072,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_AUTO_FOLD_ENABLED = @@ -1986,6 +2091,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ MIRROR_AUTO_TILT_ENABLED = @@ -2005,6 +2111,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ SEAT_MEMORY_SELECT = 0x0B80 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2018,6 +2125,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ SEAT_MEMORY_SET = 0x0B81 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2035,6 +2143,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BELT_BUCKLED = 0x0B82 + 0x10000000 + 0x05000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:BOOLEAN @@ -2060,6 +2169,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BELT_HEIGHT_POS = 0x0B83 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2088,6 +2198,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BELT_HEIGHT_MOVE = 0x0B84 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2113,6 +2224,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_FORE_AFT_POS = 0x0B85 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2140,6 +2252,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_FORE_AFT_MOVE = 0x0B86 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2167,6 +2280,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BACKREST_ANGLE_1_POS = 0x0B87 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2194,6 +2308,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BACKREST_ANGLE_1_MOVE = 0x0B88 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2223,6 +2338,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BACKREST_ANGLE_2_POS = 0x0B89 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2250,6 +2366,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_BACKREST_ANGLE_2_MOVE = 0x0B8A + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2273,6 +2390,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEIGHT_POS = 0x0B8B + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2298,6 +2416,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEIGHT_MOVE = 0x0B8C + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2326,6 +2445,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_DEPTH_POS = 0x0B8D + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2352,6 +2472,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_DEPTH_MOVE = 0x0B8E + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2379,6 +2500,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_TILT_POS = 0x0B8F + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2406,6 +2528,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_TILT_MOVE = 0x0B90 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2431,6 +2554,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_FORE_AFT_POS = 0x0B91 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2459,6 +2583,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_FORE_AFT_MOVE = 0x0B92 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2484,6 +2609,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_SIDE_SUPPORT_POS = 0x0B93 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2512,6 +2638,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 0x0B94 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2532,6 +2659,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_HEIGHT_POS = 0x0B95 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -2559,6 +2687,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_HEIGHT_POS_V2 = 0x0BA4 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2588,6 +2717,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_HEIGHT_MOVE = 0x0B96 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2611,6 +2741,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_ANGLE_POS = 0x0B97 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2639,6 +2770,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_ANGLE_MOVE = 0x0B98 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2662,6 +2794,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_FORE_AFT_POS = 0x0B99 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2690,6 +2823,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_HEADREST_FORE_AFT_MOVE = 0x0B9A + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2711,6 +2845,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ SEAT_FOOTWELL_LIGHTS_STATE = 0x0B9B + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2736,6 +2871,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ SEAT_FOOTWELL_LIGHTS_SWITCH = 0x0B9C + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2752,6 +2888,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_EASY_ACCESS_ENABLED = 0x0B9D + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, @@ -2772,6 +2909,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ SEAT_AIRBAG_ENABLED = 0x0B9E + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, @@ -2794,6 +2932,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleAirbagLocation + * @version 2 */ SEAT_AIRBAGS_DEPLOYED = 0x0BA5 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2819,6 +2958,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_CUSHION_SIDE_SUPPORT_POS = 0x0B9F + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2847,6 +2987,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_CUSHION_SIDE_SUPPORT_MOVE = 0x0BA0 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2870,6 +3011,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_VERTICAL_POS = 0x0BA1 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2896,6 +3038,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_LUMBAR_VERTICAL_MOVE = 0x0BA2 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2922,6 +3065,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ SEAT_WALK_IN_POS = 0x0BA3 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -2940,6 +3084,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 3 */ SEAT_BELT_PRETENSIONER_DEPLOYED = 0x0BA6 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, @@ -2952,6 +3097,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleSeatOccupancyState + * @version 2 */ SEAT_OCCUPANCY = 0x0BB0 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -2988,6 +3134,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ WINDOW_POS = 0x0BC0 + 0x10000000 + 0x03000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 @@ -3030,6 +3177,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ WINDOW_MOVE = 0x0BC1 + 0x10000000 + 0x03000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 @@ -3044,6 +3192,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ WINDOW_LOCK = 0x0BC4 + 0x10000000 + 0x03000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:BOOLEAN @@ -3064,6 +3213,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLI_SECS + * @version 2 */ WINDSHIELD_WIPERS_PERIOD = 0x0BC5 + VehiclePropertyGroup.SYSTEM + VehicleArea.WINDOW + VehiclePropertyType.INT32, @@ -3085,6 +3235,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum WindshieldWipersState + * @version 2 */ WINDSHIELD_WIPERS_STATE = 0x0BC6 + VehiclePropertyGroup.SYSTEM + VehicleArea.WINDOW + VehiclePropertyType.INT32, @@ -3111,6 +3262,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum WindshieldWipersSwitch + * @version 2 */ WINDSHIELD_WIPERS_SWITCH = 0x0BC7 + VehiclePropertyGroup.SYSTEM + VehicleArea.WINDOW + VehiclePropertyType.INT32, @@ -3137,6 +3289,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_DEPTH_POS = 0x0BE0 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3163,6 +3316,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_DEPTH_MOVE = 0x0BE1 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3186,6 +3340,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_HEIGHT_POS = 0x0BE2 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3212,6 +3367,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_HEIGHT_MOVE = 0x0BE3 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3227,6 +3383,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_THEFT_LOCK_ENABLED = 0x0BE4 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -3241,6 +3398,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_LOCKED = 0x0BE5 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -3256,6 +3414,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ STEERING_WHEEL_EASY_ACCESS_ENABLED = 0x0BE6 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -3283,6 +3442,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ GLOVE_BOX_DOOR_POS = 0x0BF0 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32, @@ -3302,6 +3462,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ GLOVE_BOX_LOCKED = 0x0BF1 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN, @@ -3321,6 +3482,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ VEHICLE_MAP_SERVICE = 0x0C00 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -3340,6 +3502,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ LOCATION_CHARACTERIZATION = 0x0C10 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3363,6 +3526,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_POSITION = 0x0C20 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3394,6 +3558,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_ORIENTATION = 0x0C21 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3417,6 +3582,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_FIELD_OF_VIEW = 0x0C22 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3438,6 +3604,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_DETECTION_RANGE = 0x0C23 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3484,6 +3651,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_SUPPORTED_RANGES = 0x0C24 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3510,6 +3678,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ + * @version 3 */ ULTRASONICS_SENSOR_MEASURED_DISTANCE = 0x0C25 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR + VehiclePropertyType.INT32_VEC, @@ -3554,6 +3723,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ OBD2_LIVE_FRAME = 0x0D00 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -3580,6 +3750,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ OBD2_FREEZE_FRAME = 0x0D01 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -3597,6 +3768,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ OBD2_FREEZE_FRAME_INFO = 0x0D02 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -3619,6 +3791,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ OBD2_FREEZE_FRAME_CLEAR = 0x0D03 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -3630,6 +3803,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ HEADLIGHTS_STATE = 0x0E00 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3641,6 +3815,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ HIGH_BEAM_LIGHTS_STATE = 0x0E01 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3668,6 +3843,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ FOG_LIGHTS_STATE = 0x0E02 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3679,6 +3855,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ HAZARD_LIGHTS_STATE = 0x0E03 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3694,6 +3871,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ HEADLIGHTS_SWITCH = 0x0E10 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3709,6 +3887,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ HIGH_BEAM_LIGHTS_SWITCH = 0x0E11 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3740,6 +3919,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ FOG_LIGHTS_SWITCH = 0x0E12 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3755,6 +3935,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ HAZARD_LIGHTS_SWITCH = 0x0E13 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3766,6 +3947,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ CABIN_LIGHTS_STATE = 0x0F01 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3784,6 +3966,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ CABIN_LIGHTS_SWITCH = 0x0F02 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -3795,6 +3978,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ READING_LIGHTS_STATE = 0x0F03 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -3813,6 +3997,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ READING_LIGHTS_SWITCH = 0x0F04 + 0x10000000 + 0x05000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:INT32 @@ -3834,6 +4019,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ STEERING_WHEEL_LIGHTS_STATE = 0x0F0C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3859,6 +4045,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ STEERING_WHEEL_LIGHTS_SWITCH = 0x0F0D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -3887,6 +4074,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ SUPPORT_CUSTOMIZE_VENDOR_PERMISSION = 0x0F05 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -3903,6 +4091,7 @@ enum VehicleProperty { * ex) "com.android.car.user.CarUserNoticeService,storage_monitoring" * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ DISABLED_OPTIONAL_FEATURES = 0x0F06 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -3953,6 +4142,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ INITIAL_USER_INFO = 0x0F07 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4119,6 +4309,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ SWITCH_USER = 0x0F08 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4165,6 +4356,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ CREATE_USER = 0x0F09 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4196,6 +4388,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.WRITE + * @version 2 */ REMOVE_USER = 0x0F0A + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4271,6 +4464,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ USER_IDENTIFICATION_ASSOCIATION = 0x0F0B + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4290,6 +4484,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ EVS_SERVICE_REQUEST = 0x0F10 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -4307,6 +4502,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ POWER_POLICY_REQ = 0x0F21 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -4326,6 +4522,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ POWER_POLICY_GROUP_REQ = 0x0F22 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -4338,6 +4535,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE + * @version 2 */ CURRENT_POWER_POLICY = 0x0F23 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING @@ -4349,6 +4547,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ WATCHDOG_ALIVE = 0xF31 + 0x10000000 + 0x01000000 + 0x00500000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT64 @@ -4360,6 +4559,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ WATCHDOG_TERMINATED_PROCESS = 0x0F32 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4375,6 +4575,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ VHAL_HEARTBEAT = 0x0F33 + 0x10000000 + 0x01000000 + 0x00500000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT64 @@ -4388,6 +4589,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ CLUSTER_SWITCH_UI = 0x0F34 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4412,6 +4614,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ + * @version 2 */ CLUSTER_DISPLAY_STATE = 0x0F35 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -4447,6 +4650,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ CLUSTER_REPORT_STATE = 0x0F36 + 0x10000000 + 0x01000000 + 0x00e00000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:MIXED @@ -4461,6 +4665,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ CLUSTER_REQUEST_DISPLAY = 0x0F37 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4471,6 +4676,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 2 */ CLUSTER_NAVIGATION_STATE = 0x0F38 + 0x10000000 + 0x01000000 + 0x00700000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BYTES @@ -4484,6 +4690,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum ElectronicTollCollectionCardType + * @version 2 */ ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = 0x0F39 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4498,6 +4705,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum ElectronicTollCollectionCardStatus + * @version 2 */ ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = 0x0F3A + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4511,6 +4719,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ FRONT_FOG_LIGHTS_STATE = 0x0F3B + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4529,6 +4738,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ FRONT_FOG_LIGHTS_SWITCH = 0x0F3C + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4543,6 +4753,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightState + * @version 2 */ REAR_FOG_LIGHTS_STATE = 0x0F3D + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4561,6 +4772,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @data_enum VehicleLightSwitch + * @version 2 */ REAR_FOG_LIGHTS_SWITCH = 0x0F3E + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4578,6 +4790,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:AMPERE + * @version 2 */ EV_CHARGE_CURRENT_DRAW_LIMIT = 0x0F3F + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -4599,6 +4812,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ EV_CHARGE_PERCENT_LIMIT = 0x0F40 + 0x10000000 + 0x01000000 + 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT @@ -4611,6 +4825,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum EvChargeState + * @version 2 */ EV_CHARGE_STATE = 0x0F41 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4627,6 +4842,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ EV_CHARGE_SWITCH = 0x0F42 + 0x10000000 + 0x01000000 + 0x00200000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:BOOLEAN @@ -4639,6 +4855,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:SECS + * @version 2 */ EV_CHARGE_TIME_REMAINING = 0x0F43 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4652,6 +4869,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum EvRegenerativeBrakingState + * @version 2 */ EV_REGENERATIVE_BRAKING_STATE = 0x0F44 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4664,6 +4882,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum TrailerState + * @version 2 */ TRAILER_PRESENT = 0x0F45 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4687,6 +4906,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @unit VehicleUnit:KILOGRAM + * @version 2 */ VEHICLE_CURB_WEIGHT = 0x0F46 + 0x10000000 + 0x01000000 @@ -4701,6 +4921,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ * @data_enum GsrComplianceRequirementType + * @version 2 */ GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT = 0x0F47 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -4725,6 +4946,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ + * @version 2 */ SUPPORTED_PROPERTY_IDS = 0x0F48 + 0x10000000 + 0x01000000 + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC @@ -4772,6 +4994,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE * @data_enum VehicleApPowerStateShutdownParam + * @version 2 */ SHUTDOWN_REQUEST = 0x0F49 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -4804,6 +5027,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ VEHICLE_IN_USE = 0x0F4A + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -4818,6 +5042,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE + * @version 3 */ CLUSTER_HEARTBEAT = 0x0F4B + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.MIXED, @@ -4837,6 +5062,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @data_enum VehicleAutonomousState + * @version 3 */ VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL = 0x0F4C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -4866,6 +5092,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ AUTOMATIC_EMERGENCY_BRAKING_ENABLED = 0x1000 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -4890,6 +5117,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum AutomaticEmergencyBrakingState * @data_enum ErrorState + * @version 2 */ AUTOMATIC_EMERGENCY_BRAKING_STATE = 0x1001 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -4911,6 +5139,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ FORWARD_COLLISION_WARNING_ENABLED = 0x1002 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -4930,6 +5159,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum ForwardCollisionWarningState * @data_enum ErrorState + * @version 2 */ FORWARD_COLLISION_WARNING_STATE = 0x1003 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -4951,6 +5181,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ BLIND_SPOT_WARNING_ENABLED = 0x1004 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -4970,6 +5201,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum BlindSpotWarningState * @data_enum ErrorState + * @version 2 */ BLIND_SPOT_WARNING_STATE = 0x1005 + VehiclePropertyGroup.SYSTEM + VehicleArea.MIRROR + VehiclePropertyType.INT32, @@ -4992,6 +5224,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ LANE_DEPARTURE_WARNING_ENABLED = 0x1006 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5011,6 +5244,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum LaneDepartureWarningState * @data_enum ErrorState + * @version 2 */ LANE_DEPARTURE_WARNING_STATE = 0x1007 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5037,6 +5271,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ LANE_KEEP_ASSIST_ENABLED = 0x1008 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5059,6 +5294,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum LaneKeepAssistState * @data_enum ErrorState + * @version 2 */ LANE_KEEP_ASSIST_STATE = 0x1009 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5086,6 +5322,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ LANE_CENTERING_ASSIST_ENABLED = 0x100A + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5116,6 +5353,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE * @data_enum LaneCenteringAssistCommand + * @version 2 */ LANE_CENTERING_ASSIST_COMMAND = 0x100B + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5138,6 +5376,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum LaneCenteringAssistState * @data_enum ErrorState + * @version 2 */ LANE_CENTERING_ASSIST_STATE = 0x100C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5161,6 +5400,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ EMERGENCY_LANE_KEEP_ASSIST_ENABLED = 0x100D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5181,6 +5421,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum EmergencyLaneKeepAssistState * @data_enum ErrorState + * @version 2 */ EMERGENCY_LANE_KEEP_ASSIST_STATE = 0x100E + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5205,6 +5446,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ CRUISE_CONTROL_ENABLED = 0x100F + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5233,6 +5475,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum CruiseControlType * @data_enum ErrorState + * @version 2 */ CRUISE_CONTROL_TYPE = 0x1010 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5253,6 +5496,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum CruiseControlState * @data_enum ErrorState + * @version 2 */ CRUISE_CONTROL_STATE = 0x1011 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5276,6 +5520,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE * @data_enum CruiseControlCommand + * @version 2 */ CRUISE_CONTROL_COMMAND = 0x1012 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5299,6 +5544,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:METER_PER_SEC + * @version 2 */ CRUISE_CONTROL_TARGET_SPEED = 0x1013 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.FLOAT, @@ -5330,6 +5576,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLI_SECS + * @version 2 */ ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP = 0x1014 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5360,6 +5607,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ * @unit VehicleUnit:MILLIMETER + * @version 2 */ ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE = 0x1015 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5381,6 +5629,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ HANDS_ON_DETECTION_ENABLED = 0x1016 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5405,6 +5654,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum HandsOnDetectionDriverState * @data_enum ErrorState + * @version 2 */ HANDS_ON_DETECTION_DRIVER_STATE = 0x1017 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5427,6 +5677,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum HandsOnDetectionWarning * @data_enum ErrorState + * @version 2 */ HANDS_ON_DETECTION_WARNING = 0x1018 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5449,6 +5700,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED = 0x1019 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5475,6 +5727,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum DriverDrowsinessAttentionState * @data_enum ErrorState + * @version 3 */ DRIVER_DROWSINESS_ATTENTION_STATE = 0x101A + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5499,6 +5752,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED = 0x101B + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5520,6 +5774,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum DriverDrowsinessAttentionWarning * @data_enum ErrorState + * @version 3 */ DRIVER_DROWSINESS_ATTENTION_WARNING = 0x101C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5542,6 +5797,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ DRIVER_DISTRACTION_SYSTEM_ENABLED = 0x101D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5566,6 +5822,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum DriverDistractionState * @data_enum ErrorState + * @version 3 */ DRIVER_DISTRACTION_STATE = 0x101E + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5589,6 +5846,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 2 */ DRIVER_DISTRACTION_WARNING_ENABLED = 0x101F + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5610,6 +5868,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum DriverDistractionWarning * @data_enum ErrorState + * @version 3 */ DRIVER_DISTRACTION_WARNING = 0x1020 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5635,6 +5894,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ LOW_SPEED_COLLISION_WARNING_ENABLED = 0x1021 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5657,6 +5917,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum LowSpeedCollisionWarningState * @data_enum ErrorState + * @version 3 */ LOW_SPEED_COLLISION_WARNING_STATE = 0x1022 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5679,6 +5940,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ CROSS_TRAFFIC_MONITORING_ENABLED = 0x1023 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5698,6 +5960,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum CrossTrafficMonitoringWarningState * @data_enum ErrorState + * @version 3 */ CROSS_TRAFFIC_MONITORING_WARNING_STATE = 0x1024 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, @@ -5724,6 +5987,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ + * @version 3 */ LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = 0x1025 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN, @@ -5750,6 +6014,7 @@ enum VehicleProperty { * @access VehiclePropertyAccess.READ * @data_enum LowSpeedAutomaticEmergencyBrakingState * @data_enum ErrorState + * @version 3 */ LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE = 0x1026 + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, From 7881e82bf025db9f745b44fa9bd54f9a2ba557e8 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Fri, 15 Dec 2023 13:12:01 -0800 Subject: [PATCH 024/198] Generate VersionForVehicleProperty.h. This will be used in VHAL implementation to filter out properties that are not supported by the client version. Test: presubmit Bug: 115764870 Change-Id: I89d8421debde15677b0fbd6da69335f43b681eff --- .../cpp/AccessForVehicleProperty.h | 5 +- .../cpp/ChangeModeForVehicleProperty.h | 5 +- .../cpp/VersionForVehicleProperty.h | 309 ++++++++++++++++++ .../tools/generate_annotation_enums.py | 198 +++++++---- 4 files changed, 443 insertions(+), 74 deletions(-) create mode 100644 automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index a8effcbeb9..15056e2436 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -22,8 +22,7 @@ // clang-format off -#ifndef android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ -#define android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ +#pragma once #include #include @@ -309,5 +308,3 @@ std::unordered_map AccessForVehiclePrope } // namespace hardware } // namespace android } // aidl - -#endif // android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index 3321c20c39..d3f97e313e 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -22,8 +22,7 @@ // clang-format off -#ifndef android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ -#define android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ +#pragma once #include #include @@ -309,5 +308,3 @@ std::unordered_map ChangeModeForVehi } // namespace hardware } // namespace android } // aidl - -#endif // android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ diff --git a/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h new file mode 100644 index 0000000000..70c914da7a --- /dev/null +++ b/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h @@ -0,0 +1,309 @@ +/* + * 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 + +#include + +namespace aidl { +namespace android { +namespace hardware { +namespace automotive { +namespace vehicle { + +std::unordered_map 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, 2}, + {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, 3}, + {VehicleProperty::SEAT_AIRBAGS_DEPLOYED, 2}, + {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::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, 2}, + {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 diff --git a/automotive/vehicle/tools/generate_annotation_enums.py b/automotive/vehicle/tools/generate_annotation_enums.py index 05fc99a231..87e9bdc851 100755 --- a/automotive/vehicle/tools/generate_annotation_enums.py +++ b/automotive/vehicle/tools/generate_annotation_enums.py @@ -42,6 +42,8 @@ ACCESS_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_ 'AccessForVehicleProperty.java') ENUM_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/java/' + 'EnumForVehicleProperty.java') +VERSION_CPP_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/cpp/' + + 'VersionForVehicleProperty.h') SCRIPT_PATH = 'hardware/interfaces/automotive/vehicle/tools/generate_annotation_enums.py' TAB = ' ' @@ -50,6 +52,7 @@ RE_ENUM_END = re.compile('\s*\}\;') RE_COMMENT_BEGIN = re.compile('\s*\/\*\*?') RE_COMMENT_END = re.compile('\s*\*\/') RE_CHANGE_MODE = re.compile('\s*\* @change_mode (\S+)\s*') +RE_VERSION = re.compile('\s*\* @version (\S+)\s*') RE_ACCESS = re.compile('\s*\* @access (\S+)\s*') RE_DATA_ENUM = re.compile('\s*\* @data_enum (\S+)\s*') RE_UNIT = re.compile('\s*\* @unit (\S+)\s+') @@ -81,8 +84,7 @@ LICENSE = """/* """ -CHANGE_MODE_CPP_HEADER = """#ifndef android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ -#define android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ +CHANGE_MODE_CPP_HEADER = """#pragma once #include #include @@ -98,7 +100,7 @@ namespace vehicle { std::unordered_map ChangeModeForVehicleProperty = { """ -CHANGE_MODE_CPP_FOOTER = """ +CPP_FOOTER = """ }; } // namespace vehicle @@ -106,12 +108,9 @@ CHANGE_MODE_CPP_FOOTER = """ } // namespace hardware } // namespace android } // aidl - -#endif // android_hardware_automotive_vehicle_aidl_generated_lib_ChangeModeForVehicleProperty_H_ """ -ACCESS_CPP_HEADER = """#ifndef android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ -#define android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ +ACCESS_CPP_HEADER = """#pragma once #include #include @@ -127,16 +126,19 @@ namespace vehicle { std::unordered_map AccessForVehicleProperty = { """ -ACCESS_CPP_FOOTER = """ -}; +VERSION_CPP_HEADER = """#pragma once -} // namespace vehicle -} // namespace automotive -} // namespace hardware -} // namespace android -} // aidl +#include -#endif // android_hardware_automotive_vehicle_aidl_generated_lib_AccessForVehicleProperty_H_ +#include + +namespace aidl { +namespace android { +namespace hardware { +namespace automotive { +namespace vehicle { + +std::unordered_map VersionForVehicleProperty = { """ CHANGE_MODE_JAVA_HEADER = """package android.hardware.automotive.vehicle; @@ -148,7 +150,7 @@ public final class ChangeModeForVehicleProperty { public static final Map values = Map.ofEntries( """ -CHANGE_MODE_JAVA_FOOTER = """ +JAVA_FOOTER = """ ); } @@ -163,12 +165,6 @@ public final class AccessForVehicleProperty { public static final Map values = Map.ofEntries( """ -ACCESS_JAVA_FOOTER = """ - ); - -} -""" - ENUM_JAVA_HEADER = """package android.hardware.automotive.vehicle; import java.util.List; @@ -179,12 +175,6 @@ public final class EnumForVehicleProperty { public static final Map>> values = Map.ofEntries( """ -ENUM_JAVA_FOOTER = """ - ); - -} -""" - class PropertyConfig: """Represents one VHAL property definition in VehicleProperty.aidl.""" @@ -196,6 +186,7 @@ class PropertyConfig: self.access_modes = [] self.enum_types = [] self.unit_type = None + self.version = None def __repr__(self): return self.__str__() @@ -258,6 +249,11 @@ class FileParser: match = RE_DATA_ENUM.match(line) if match: config.enum_types.append(match.group(1)) + match = RE_VERSION.match(line) + if match: + if config.version != None: + raise Exception('Duplicate version annotation for property: ' + prop_name) + config.version = match.group(1) else: match = RE_VALUE.match(line) if match: @@ -270,6 +266,9 @@ class FileParser: if not config.access_modes: raise Exception( 'No access_mode annotation for property: ' + prop_name) + if not config.version: + raise Exception( + 'no version annotation for property: ' + prop_name) config.name = prop_name configs.append(config) @@ -295,6 +294,9 @@ class FileParser: continue; if not cpp: annotation = "List.of(" + ', '.join([class_name + ".class" for class_name in config.enum_types]) + ")" + elif field == 'version': + if cpp: + annotation = config.version else: raise Exception('Unknown field: ' + field) if counter != 0: @@ -347,6 +349,69 @@ def createTempFile(): return f.name +class GeneratedFile: + + def __init__(self, type): + self.type = type + self.cpp_file_path = None + self.java_file_path = None + self.cpp_header = None + self.java_header = None + self.cpp_footer = None + self.java_footer = None + self.cpp_output_file = None + self.java_output_file = None + + def setCppFilePath(self, cpp_file_path): + self.cpp_file_path = cpp_file_path + + def setJavaFilePath(self, java_file_path): + self.java_file_path = java_file_path + + def setCppHeader(self, cpp_header): + self.cpp_header = cpp_header + + def setCppFooter(self, cpp_footer): + self.cpp_footer = cpp_footer + + def setJavaHeader(self, java_header): + self.java_header = java_header + + def setJavaFooter(self, java_footer): + self.java_footer = java_footer + + def convert(self, file_parser, check_only, temp_files): + if self.cpp_file_path: + output_file = GeneratedFile._getOutputFile(self.cpp_file_path, check_only, temp_files) + file_parser.convert(output_file, self.cpp_header, self.cpp_footer, True, self.type) + self.cpp_output_file = output_file + + if self.java_file_path: + output_file = GeneratedFile._getOutputFile(self.java_file_path, check_only, temp_files) + file_parser.convert(output_file, self.java_header, self.java_footer, False, self.type) + self.java_output_file = output_file + + def cmp(self): + if self.cpp_file_path: + if not filecmp.cmp(self.cpp_output_file, self.cpp_file_path): + return False + + if self.java_file_path: + if not filecmp.cmp(self.java_output_file, self.java_file_path): + return False + + return True + + @staticmethod + def _getOutputFile(file_path, check_only, temp_files): + if not check_only: + return file_path + + temp_file = createTempFile() + temp_files.append(temp_file) + return temp_file + + def main(): parser = argparse.ArgumentParser( description='Generate Java and C++ enums based on annotations in VehicleProperty.aidl') @@ -382,51 +447,52 @@ def main(): f.outputAsCsv(args.output_csv) return - change_mode_cpp_file = os.path.join(android_top, CHANGE_MODE_CPP_FILE_PATH); - access_cpp_file = os.path.join(android_top, ACCESS_CPP_FILE_PATH); - change_mode_java_file = os.path.join(android_top, CHANGE_MODE_JAVA_FILE_PATH); - access_java_file = os.path.join(android_top, ACCESS_JAVA_FILE_PATH); - enum_java_file = os.path.join(android_top, ENUM_JAVA_FILE_PATH); + generated_files = [] + + change_mode = GeneratedFile('change_mode') + change_mode.setCppFilePath(os.path.join(android_top, CHANGE_MODE_CPP_FILE_PATH)) + change_mode.setJavaFilePath(os.path.join(android_top, CHANGE_MODE_JAVA_FILE_PATH)) + change_mode.setCppHeader(CHANGE_MODE_CPP_HEADER) + change_mode.setCppFooter(CPP_FOOTER) + change_mode.setJavaHeader(CHANGE_MODE_JAVA_HEADER) + change_mode.setJavaFooter(JAVA_FOOTER) + generated_files.append(change_mode) + + access_mode = GeneratedFile('access_mode') + access_mode.setCppFilePath(os.path.join(android_top, ACCESS_CPP_FILE_PATH)) + access_mode.setJavaFilePath(os.path.join(android_top, ACCESS_JAVA_FILE_PATH)) + access_mode.setCppHeader(ACCESS_CPP_HEADER) + access_mode.setCppFooter(CPP_FOOTER) + access_mode.setJavaHeader(ACCESS_JAVA_HEADER) + access_mode.setJavaFooter(JAVA_FOOTER) + generated_files.append(access_mode) + + enum_types = GeneratedFile('enum_types') + enum_types.setJavaFilePath(os.path.join(android_top, ENUM_JAVA_FILE_PATH)) + enum_types.setJavaHeader(ENUM_JAVA_HEADER) + enum_types.setJavaFooter(JAVA_FOOTER) + generated_files.append(enum_types) + + version = GeneratedFile('version') + version.setCppFilePath(os.path.join(android_top, VERSION_CPP_FILE_PATH)) + version.setCppHeader(VERSION_CPP_HEADER) + version.setCppFooter(CPP_FOOTER) + generated_files.append(version) + temp_files = [] - if not args.check_only: - change_mode_cpp_output = change_mode_cpp_file - access_cpp_output = access_cpp_file - change_mode_java_output = change_mode_java_file - access_java_output = access_java_file - enum_java_output = enum_java_file - else: - change_mode_cpp_output = createTempFile() - temp_files.append(change_mode_cpp_output) - access_cpp_output = createTempFile() - temp_files.append(access_cpp_output) - change_mode_java_output = createTempFile() - temp_files.append(change_mode_java_output) - access_java_output = createTempFile() - temp_files.append(access_java_output) - enum_java_output = createTempFile() - temp_files.append(enum_java_output) - try: - f.convert(change_mode_cpp_output, CHANGE_MODE_CPP_HEADER, CHANGE_MODE_CPP_FOOTER, - True, 'change_mode') - f.convert(change_mode_java_output, CHANGE_MODE_JAVA_HEADER, - CHANGE_MODE_JAVA_FOOTER, False, 'change_mode') - f.convert(access_cpp_output, ACCESS_CPP_HEADER, ACCESS_CPP_FOOTER, True, 'access_mode') - f.convert(access_java_output, ACCESS_JAVA_HEADER, ACCESS_JAVA_FOOTER, False, 'access_mode') - f.convert(enum_java_output, ENUM_JAVA_HEADER, ENUM_JAVA_FOOTER, False, 'enum_types') + for generated_file in generated_files: + generated_file.convert(f, args.check_only, temp_files) if not args.check_only: return - if ((not filecmp.cmp(change_mode_cpp_output, change_mode_cpp_file)) or - (not filecmp.cmp(change_mode_java_output, change_mode_java_file)) or - (not filecmp.cmp(access_cpp_output, access_cpp_file)) or - (not filecmp.cmp(access_java_output, access_java_file)) or - (not filecmp.cmp(enum_java_output, enum_java_file))): - print('The generated enum files for VehicleProperty.aidl requires update, ') - print('Run \npython ' + android_top + '/' + SCRIPT_PATH) - sys.exit(1) + for generated_file in generated_files: + if not generated_file.cmp(): + print('The generated enum files for VehicleProperty.aidl requires update, ') + print('Run \npython ' + android_top + '/' + SCRIPT_PATH) + sys.exit(1) except Exception as e: print('Error parsing VehicleProperty.aidl') print(e) From d9657be6d91a4e116739e6c6b534754caf91ddb5 Mon Sep 17 00:00:00 2001 From: Gil Cukierman Date: Mon, 18 Dec 2023 14:56:18 +0000 Subject: [PATCH 025/198] Fix case on SIP HMAC enums null -> NULL Change-Id: I283bae1e8820db1e862f03372041796db5daa204 Test: m Bug: 283336425 --- .../android/hardware/radio/network/SecurityAlgorithm.aidl | 4 ++-- .../android/hardware/radio/network/SecurityAlgorithm.aidl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl index 166450154c..3eb51e7e83 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -64,9 +64,9 @@ enum SecurityAlgorithm { DES_EDE3_CBC = 72, AES_EDE3_CBC = 73, HMAC_SHA1_96 = 74, - HMAC_SHA1_96_null = 75, + HMAC_SHA1_96_NULL = 75, HMAC_MD5_96 = 76, - HMAC_MD5_96_null = 77, + HMAC_MD5_96_NULL = 77, SRTP_AES_COUNTER = 87, SRTP_AES_F8 = 88, SRTP_HMAC_SHA1 = 89, diff --git a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl index 71c654c53d..fefa26edd0 100644 --- a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -67,9 +67,9 @@ enum SecurityAlgorithm { DES_EDE3_CBC = 72, AES_EDE3_CBC = 73, HMAC_SHA1_96 = 74, - HMAC_SHA1_96_null = 75, + HMAC_SHA1_96_NULL = 75, HMAC_MD5_96 = 76, - HMAC_MD5_96_null = 77, + HMAC_MD5_96_NULL = 77, // RTP (see 3GPP TS 33.328) SRTP_AES_COUNTER = 87, From 83baf0e3789a7d292da96d28765b22cc71151bdd Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Fri, 15 Dec 2023 16:43:40 -0800 Subject: [PATCH 026/198] Filter unsupported propIds for current version. Do not return properties that are not supported by the current VHAL version. Note that even though compile time we are implementing VHAL V3, but V2 might be used at runtime. Test: atest DefaultVehicleHalTest Bug: 115764870 Change-Id: If830d93f93fff7d4370798342aa0d047d413674c --- automotive/vehicle/aidl/impl/vhal/Android.bp | 1 + .../impl/vhal/include/DefaultVehicleHal.h | 7 ++ .../aidl/impl/vhal/src/DefaultVehicleHal.cpp | 50 +++++++++- .../impl/vhal/test/DefaultVehicleHalTest.cpp | 94 +++++++++++++------ 4 files changed, 117 insertions(+), 35 deletions(-) diff --git a/automotive/vehicle/aidl/impl/vhal/Android.bp b/automotive/vehicle/aidl/impl/vhal/Android.bp index c29345f622..20bba7fe10 100644 --- a/automotive/vehicle/aidl/impl/vhal/Android.bp +++ b/automotive/vehicle/aidl/impl/vhal/Android.bp @@ -61,6 +61,7 @@ cc_library { ], header_libs: [ "IVehicleHardware", + "IVehicleGeneratedHeaders", ], shared_libs: [ "libbinder_ndk", diff --git a/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h b/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h index f7a71b4587..250b30cac6 100644 --- a/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h +++ b/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h @@ -49,6 +49,9 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi explicit DefaultVehicleHal(std::unique_ptr hardware); + // Test-only + DefaultVehicleHal(std::unique_ptr hardware, int32_t testInterfaceVersion); + ~DefaultVehicleHal(); ndk::ScopedAStatus getAllPropConfigs( @@ -153,6 +156,8 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi mPropertyChangeEventsBatchingConsumer; // Only set once during initialization. std::chrono::nanoseconds mEventBatchingWindow; + // Only used for testing. + int32_t mTestInterfaceVersion = 0; std::mutex mLock; std::unordered_map> mOnBinderDiedContexts @@ -227,6 +232,8 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi std::vector&& batchedEvents); + int32_t getVhalInterfaceVersion(); + // Puts the property change events into a queue so that they can handled in batch. static void batchPropertyChangeEvent( const std::weak_ptr #include #include +#include #include #include @@ -61,6 +62,7 @@ using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyChangeMode; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyStatus; using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue; +using ::aidl::android::hardware::automotive::vehicle::VersionForVehicleProperty; using ::android::automotive::car_binder_lib::LargeParcelableBase; using ::android::base::Error; using ::android::base::expected; @@ -94,8 +96,13 @@ float getDefaultSampleRateHz(float sampleRateHz, float minSampleRateHz, float ma } // namespace DefaultVehicleHal::DefaultVehicleHal(std::unique_ptr vehicleHardware) + : DefaultVehicleHal(std::move(vehicleHardware), /* testInterfaceVersion= */ 0){}; + +DefaultVehicleHal::DefaultVehicleHal(std::unique_ptr vehicleHardware, + int32_t testInterfaceVersion) : mVehicleHardware(std::move(vehicleHardware)), - mPendingRequestPool(std::make_shared(TIMEOUT_IN_NANO)) { + mPendingRequestPool(std::make_shared(TIMEOUT_IN_NANO)), + mTestInterfaceVersion(testInterfaceVersion) { if (!getAllPropConfigsFromHardware()) { return; } @@ -312,13 +319,46 @@ void DefaultVehicleHal::setTimeout(int64_t timeoutInNano) { mPendingRequestPool = std::make_unique(timeoutInNano); } +int32_t DefaultVehicleHal::getVhalInterfaceVersion() { + if (mTestInterfaceVersion != 0) { + return mTestInterfaceVersion; + } + int32_t myVersion = 0; + getInterfaceVersion(&myVersion); + return myVersion; +} + bool DefaultVehicleHal::getAllPropConfigsFromHardware() { auto configs = mVehicleHardware->getAllPropertyConfigs(); + std::vector filteredConfigs; + int32_t myVersion = getVhalInterfaceVersion(); for (auto& config : configs) { + if (!isSystemProp(config.prop)) { + filteredConfigs.push_back(std::move(config)); + continue; + } + VehicleProperty property = static_cast(config.prop); + std::string propertyName = aidl::android::hardware::automotive::vehicle::toString(property); + auto it = VersionForVehicleProperty.find(property); + if (it == VersionForVehicleProperty.end()) { + ALOGE("The property: %s is not a supported system property, ignore", + propertyName.c_str()); + continue; + } + int requiredVersion = it->second; + if (myVersion < requiredVersion) { + ALOGE("The property: %s is not supported for current client VHAL version, " + "require %d, current version: %d, ignore", + propertyName.c_str(), requiredVersion, myVersion); + continue; + } + filteredConfigs.push_back(std::move(config)); + } + for (auto& config : filteredConfigs) { mConfigsByPropId[config.prop] = config; } VehiclePropConfigs vehiclePropConfigs; - vehiclePropConfigs.payloads = std::move(configs); + vehiclePropConfigs.payloads = std::move(filteredConfigs); auto result = LargeParcelableBase::parcelableToStableLargeParcelable(vehiclePropConfigs); if (!result.ok()) { ALOGE("failed to convert configs to shared memory file, error: %s, code: %d", @@ -413,9 +453,9 @@ ScopedAStatus DefaultVehicleHal::getValues(const CallbackType& callback, .status = getErrorCode(result), .prop = {}, }); - } else { - hardwareRequests.push_back(request); + continue; } + hardwareRequests.push_back(request); } // The set of request Ids that we would send to hardware. @@ -816,6 +856,7 @@ VhalResult DefaultVehicleHal::checkPermissionHelper( if (!result.ok()) { return StatusError(StatusCode::INVALID_ARG) << getErrorMsg(result); } + const VehiclePropConfig* config = result.value(); const VehicleAreaConfig* areaConfig = getAreaConfig(value, *config); @@ -900,6 +941,7 @@ binder_status_t DefaultVehicleHal::dump(int fd, const char** args, uint32_t numA dprintf(fd, "Vehicle HAL State: \n"); { std::scoped_lock lockGuard(mLock); + dprintf(fd, "Interface version: %" PRId32 "\n", getVhalInterfaceVersion()); dprintf(fd, "Containing %zu property configs\n", mConfigsByPropId.size()); dprintf(fd, "Currently have %zu getValues clients\n", mGetValuesClients.size()); dprintf(fd, "Currently have %zu setValues clients\n", mSetValuesClients.size()); diff --git a/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp b/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp index a63cb846eb..bb82108c1a 100644 --- a/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp +++ b/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp @@ -79,36 +79,37 @@ using ::ndk::ScopedFileDescriptor; using ::ndk::SpAIBinder; using ::testing::ContainsRegex; +using ::testing::ElementsAre; using ::testing::Eq; using ::testing::UnorderedElementsAre; using ::testing::UnorderedElementsAreArray; using ::testing::WhenSortedBy; constexpr int32_t INVALID_PROP_ID = 0; -// VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 -constexpr int32_t INT32_WINDOW_PROP = 10001 + 0x10000000 + 0x03000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t GLOBAL_ON_CHANGE_PROP = 10002 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t GLOBAL_CONTINUOUS_PROP = 10003 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 -constexpr int32_t AREA_ON_CHANGE_PROP = 10004 + 0x10000000 + 0x03000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 -constexpr int32_t AREA_CONTINUOUS_PROP = 10005 + 0x10000000 + 0x03000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t READ_ONLY_PROP = 10006 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t WRITE_ONLY_PROP = 10007 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t GLOBAL_CONTINUOUS_PROP_NO_VUR = 10008 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 -constexpr int32_t GLOBAL_NONE_ACCESS_PROP = 10009 + 0x10000000 + 0x01000000 + 0x00400000; -// VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32 -constexpr int32_t AREA_NONE_ACCESS_PROP = 10010 + 0x10000000 + 0x03000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:WINDOW,VehiclePropertyType:INT32 +constexpr int32_t INT32_WINDOW_PROP = 10001 + 0x20000000 + 0x03000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t GLOBAL_ON_CHANGE_PROP = 10002 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t GLOBAL_CONTINUOUS_PROP = 10003 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:WINDOW,VehiclePropertyType:INT32 +constexpr int32_t AREA_ON_CHANGE_PROP = 10004 + 0x20000000 + 0x03000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:WINDOW,VehiclePropertyType:INT32 +constexpr int32_t AREA_CONTINUOUS_PROP = 10005 + 0x20000000 + 0x03000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t READ_ONLY_PROP = 10006 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t WRITE_ONLY_PROP = 10007 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t GLOBAL_CONTINUOUS_PROP_NO_VUR = 10008 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32 +constexpr int32_t GLOBAL_NONE_ACCESS_PROP = 10009 + 0x20000000 + 0x01000000 + 0x00400000; +// VehiclePropertyGroup:VENDOR,VehicleArea:WINDOW,VehiclePropertyType:INT32 +constexpr int32_t AREA_NONE_ACCESS_PROP = 10010 + 0x20000000 + 0x03000000 + 0x00400000; int32_t testInt32VecProp(size_t i) { - // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC - return static_cast(i) + 0x10000000 + 0x01000000 + 0x00410000; + // VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC + return static_cast(i) + 0x20000000 + 0x01000000 + 0x00410000; } std::string toString(const std::vector& options) { @@ -556,10 +557,10 @@ class DefaultVehicleHalTest : public testing::Test { TEST_F(DefaultVehicleHalTest, testGetAllPropConfigsSmall) { auto testConfigs = std::vector({ VehiclePropConfig{ - .prop = 1, + .prop = testInt32VecProp(1), }, VehiclePropConfig{ - .prop = 2, + .prop = testInt32VecProp(2), }, }); @@ -580,7 +581,7 @@ TEST_F(DefaultVehicleHalTest, testGetAllPropConfigsLarge) { // 5000 VehiclePropConfig exceeds 4k memory limit, so it would be sent through shared memory. for (size_t i = 0; i < 5000; i++) { testConfigs.push_back(VehiclePropConfig{ - .prop = static_cast(i), + .prop = testInt32VecProp(i), }); } @@ -600,13 +601,42 @@ TEST_F(DefaultVehicleHalTest, testGetAllPropConfigsLarge) { ASSERT_EQ(result.value().getObject()->payloads, testConfigs); } +TEST_F(DefaultVehicleHalTest, testGetAllPropConfigsFilterOutUnsupportedPropIdsForThisVersion) { + auto testConfigs = std::vector({ + // This is supported from V2. + VehiclePropConfig{ + .prop = toInt(VehicleProperty::PERF_VEHICLE_SPEED), + }, + // This is supported from V3 + VehiclePropConfig{ + .prop = toInt(VehicleProperty::ULTRASONICS_SENSOR_POSITION), + }, + }); + + auto hardware = std::make_unique(); + hardware->setPropertyConfigs(testConfigs); + auto vhal = ndk::SharedRefBase::make(std::move(hardware), + /* testInterfaceVersion= */ 2); + std::shared_ptr client = IVehicle::fromBinder(vhal->asBinder()); + + VehiclePropConfigs output; + auto status = client->getAllPropConfigs(&output); + + ASSERT_TRUE(status.isOk()) << "getAllPropConfigs failed: " << status.getMessage(); + ASSERT_THAT(output.payloads, ElementsAre(VehiclePropConfig{ + .prop = toInt(VehicleProperty::PERF_VEHICLE_SPEED), + })); +} + TEST_F(DefaultVehicleHalTest, testGetPropConfigs) { + int32_t propId1 = testInt32VecProp(1); + int32_t propId2 = testInt32VecProp(2); auto testConfigs = std::vector({ VehiclePropConfig{ - .prop = 1, + .prop = propId1, }, VehiclePropConfig{ - .prop = 2, + .prop = propId2, }, }); @@ -616,7 +646,7 @@ TEST_F(DefaultVehicleHalTest, testGetPropConfigs) { std::shared_ptr client = IVehicle::fromBinder(vhal->asBinder()); VehiclePropConfigs output; - auto status = client->getPropConfigs(std::vector({1, 2}), &output); + auto status = client->getPropConfigs(std::vector({propId1, propId2}), &output); ASSERT_TRUE(status.isOk()) << "getPropConfigs failed: " << status.getMessage(); ASSERT_EQ(output.payloads, testConfigs); @@ -625,10 +655,10 @@ TEST_F(DefaultVehicleHalTest, testGetPropConfigs) { TEST_F(DefaultVehicleHalTest, testGetPropConfigsInvalidArg) { auto testConfigs = std::vector({ VehiclePropConfig{ - .prop = 1, + .prop = testInt32VecProp(1), }, VehiclePropConfig{ - .prop = 2, + .prop = testInt32VecProp(2), }, }); @@ -638,7 +668,9 @@ TEST_F(DefaultVehicleHalTest, testGetPropConfigsInvalidArg) { std::shared_ptr client = IVehicle::fromBinder(vhal->asBinder()); VehiclePropConfigs output; - auto status = client->getPropConfigs(std::vector({1, 2, 3}), &output); + auto status = client->getPropConfigs( + std::vector({testInt32VecProp(1), testInt32VecProp(2), testInt32VecProp(3)}), + &output); ASSERT_FALSE(status.isOk()) << "getPropConfigs must fail with invalid prop ID"; ASSERT_EQ(status.getServiceSpecificError(), toInt(StatusCode::INVALID_ARG)); From ef98134aaec38ad3955efd82b4aa3961e89b78b9 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Wed, 13 Dec 2023 16:08:04 -0800 Subject: [PATCH 027/198] Add AM/FM/HD unit test for bcradio utils lib Added unit tests for utils method related to AM, FM and HD radio in AIDL broadcast radio utils library. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I2ba334bb5c0e76cd7fa3b31e79d310bf2a8fa0c2 --- broadcastradio/common/utilsaidl/Android.bp | 21 +++- .../test/BroadcastRadioUtilsTest.cpp | 115 ++++++++++++++++++ 2 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp diff --git a/broadcastradio/common/utilsaidl/Android.bp b/broadcastradio/common/utilsaidl/Android.bp index 4ec635b173..4814778cd6 100644 --- a/broadcastradio/common/utilsaidl/Android.bp +++ b/broadcastradio/common/utilsaidl/Android.bp @@ -26,7 +26,7 @@ package { cc_library_static { name: "android.hardware.broadcastradio@common-utils-aidl-lib", defaults: [ - "VtsBroadcastRadioDefaults", + "BroadcastRadioUtilsDefaults", ], shared_libs: [ "android.hardware.broadcastradio-V1-ndk", @@ -36,7 +36,7 @@ cc_library_static { cc_library_static { name: "android.hardware.broadcastradio@common-utils-aidl-lib-V2", defaults: [ - "VtsBroadcastRadioDefaults", + "BroadcastRadioUtilsDefaults", ], srcs: [ "src/UtilsV2.cpp", @@ -46,8 +46,23 @@ cc_library_static { ], } +cc_test { + name: "broadcastradio_utils_aidl_test", + defaults: [ + "BroadcastRadioUtilsDefaults", + ], + srcs: [ + "test/*.cpp", + ], + static_libs: [ + "android.hardware.broadcastradio@common-utils-aidl-lib-V2", + "android.hardware.broadcastradio-V2-ndk", + ], + test_suites: ["general-tests"], +} + cc_defaults { - name: "VtsBroadcastRadioDefaults", + name: "BroadcastRadioUtilsDefaults", vendor_available: true, relative_install_path: "hw", cflags: [ diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp new file mode 100644 index 0000000000..07509495a4 --- /dev/null +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -0,0 +1,115 @@ +/* + * 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. + */ + +#include +#include + +namespace aidl::android::hardware::broadcastradio { + +namespace { +constexpr int64_t kFmFrequencyKHz = 97900; +constexpr uint64_t kDabSidExt = 0x0E10000C221u; +constexpr uint32_t kDabEnsemble = 0xCE15u; +constexpr uint64_t kDabFrequencyKhz = 225648u; +constexpr uint64_t kHdStationId = 0xA0000001u; +constexpr uint64_t kHdSubChannel = 1u; +constexpr uint64_t kHdFrequency = 97700u; +} // namespace + +TEST(BroadcastRadioUtilsTest, hasIdWithPrimaryIdType) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_TRUE(utils::hasId(sel, IdentifierType::AMFM_FREQUENCY_KHZ)); +} + +TEST(BroadcastRadioUtilsTest, makeIdentifier) { + ProgramIdentifier id = + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz); + + ASSERT_EQ(id.type, IdentifierType::AMFM_FREQUENCY_KHZ); + ASSERT_EQ(id.value, kFmFrequencyKHz); +} + +TEST(BroadcastRadioUtilsTest, makeSelectorAmfm) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_EQ(sel.primaryId.type, IdentifierType::AMFM_FREQUENCY_KHZ); + ASSERT_EQ(sel.primaryId.value, kFmFrequencyKHz); + ASSERT_TRUE(sel.secondaryIds.empty()); +} + +TEST(BroadcastRadioUtilsTest, makeSelectorHd) { + ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + + ASSERT_EQ(sel.primaryId.type, IdentifierType::HD_STATION_ID_EXT); + ASSERT_TRUE(sel.secondaryIds.empty()); + ASSERT_EQ(utils::getHdSubchannel(sel), static_cast(kHdSubChannel)); + ASSERT_EQ(utils::getHdFrequency(sel), static_cast(kHdFrequency)); +} + +TEST(BroadcastRadioUtilsTest, makeHdRadioStationName) { + std::string stationName = "aB1-FM"; + int64_t expectedIdValue = 0x4D46314241; + + ProgramIdentifier stationNameId = utils::makeHdRadioStationName(stationName); + + ASSERT_EQ(stationNameId.type, IdentifierType::HD_STATION_NAME); + ASSERT_EQ(stationNameId.value, expectedIdValue); +} + +TEST(BroadcastRadioUtilsTest, getHdFrequencyWithoutHdId) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getHdFrequency(sel), 0u); +} + +TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithAmFmSelector) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_TRUE(utils::hasAmFmFrequency(sel)); +} + +TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithHdSelector) { + ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + + ASSERT_TRUE(utils::hasAmFmFrequency(sel)); +} + +TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithNonAmFmHdSelector) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_FALSE(utils::hasAmFmFrequency(sel)); +} + +TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithAmFmSelector) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_EQ(utils::getAmFmFrequency(sel), static_cast(kFmFrequencyKHz)); +} + +TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithHdSelector) { + ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + + ASSERT_EQ(utils::getAmFmFrequency(sel), static_cast(kHdFrequency)); +} + +TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithNonAmFmHdSelector) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getAmFmFrequency(sel), 0u); +} + +} // namespace aidl::android::hardware::broadcastradio From 43dd9ab7c7894ed5e212a08f7b5d6e5b2c197e62 Mon Sep 17 00:00:00 2001 From: shrikar Date: Tue, 19 Dec 2023 18:54:22 +0000 Subject: [PATCH 028/198] Fixed documentation for resolution in SubscriptionOptions.aidl Bug: 276124296 Test: m Change-Id: Ia75f4ca8389aedff4636af844dd76dfe8c8b6105 --- .../android/hardware/automotive/vehicle/SubscribeOptions.aidl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl index 69f6190363..14469b547f 100644 --- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl +++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl @@ -45,8 +45,8 @@ parcelable SubscribeOptions { * * This value indicates the resolution at which continuous property updates should be sent to * the platform. For example, if resolution is 0.01, the subscribed property value should be - * rounded to two decimal places. If the incoming resolution value is not an integer multiple of - * 10, VHAL should return a StatusCode::INVALID_ARG. + * rounded to two decimal places. If the incoming resolution value is not an integer power of + * 10 (i.e. 10^-2, 10^-1, 10^2, etc.), VHAL should return a StatusCode::INVALID_ARG. */ float resolution = 0.0f; From e3b5cdade13701aad5aafbab2b35a98dc013b09e Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 029/198] Add unit tests for default bcradio HAL Added unit test for the default broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: I2dac3ff4611fde3836c5235c50057c4f117a62e0 --- broadcastradio/aidl/default/Android.bp | 2 +- broadcastradio/aidl/default/test/Android.bp | 43 ++++++ .../test/DefaultBroadcastRadioHalTest.cpp | 139 ++++++++++++++++++ 3 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 broadcastradio/aidl/default/test/Android.bp create mode 100644 broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp diff --git a/broadcastradio/aidl/default/Android.bp b/broadcastradio/aidl/default/Android.bp index 743365a073..d7bb7514b8 100644 --- a/broadcastradio/aidl/default/Android.bp +++ b/broadcastradio/aidl/default/Android.bp @@ -26,11 +26,11 @@ package { cc_defaults { name: "BroadcastRadioHalDefaults", static_libs: [ + "android.hardware.broadcastradio-V2-ndk", "android.hardware.broadcastradio@common-utils-aidl-lib-V2", "android.hardware.broadcastradio@common-utils-lib", ], shared_libs: [ - "android.hardware.broadcastradio-V2-ndk", "libbase", "libbinder_ndk", "liblog", diff --git a/broadcastradio/aidl/default/test/Android.bp b/broadcastradio/aidl/default/test/Android.bp new file mode 100644 index 0000000000..9e1b89dbab --- /dev/null +++ b/broadcastradio/aidl/default/test/Android.bp @@ -0,0 +1,43 @@ +/* + * 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. + */ + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +cc_test { + name: "DefaultBroadcastRadioHalTestCase", + vendor: true, + srcs: ["*.cpp"], + static_libs: [ + "DefaultBroadcastRadioHal", + "libgtest", + "libgmock", + ], + shared_libs: [ + "libbase", + "libbinder_ndk", + "liblog", + "libutils", + ], + header_libs: [ + "IVehicleHardware", + ], + defaults: [ + "BroadcastRadioHalDefaults", + ], + test_suites: ["device-tests"], +} diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp new file mode 100644 index 0000000000..a3704365bb --- /dev/null +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -0,0 +1,139 @@ +/* + * 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. + */ + +#include +#include +#include + +#include + +namespace aidl::android::hardware::broadcastradio { + +namespace { +using ::std::vector; + +constexpr uint32_t kAmFreq1 = 560u; +constexpr uint32_t kAmFreq2 = 680u; +constexpr uint32_t kAmHdFreq = 1170u; +constexpr uint64_t kAmHdSid = 0xB0000001u; +constexpr uint32_t kFmFreq1 = 94900u; +constexpr uint64_t kFmHdSid1 = 0xA0000001u; +constexpr uint64_t kFmHdSid2 = 0xA0000002u; +constexpr uint32_t kFmHdFreq1 = 98500u; +constexpr uint32_t kFmHdSubChannel0 = 0u; +constexpr uint32_t kFmHdSubChannel1 = 1u; +constexpr uint32_t kFmFreq2 = 99100u; +constexpr uint32_t kFmHdFreq2 = 101100u; + +const ProgramSelector kAmSel1 = utils::makeSelectorAmfm(kAmFreq1); +const ProgramSelector kAmSel2 = utils::makeSelectorAmfm(kAmFreq2); +const ProgramSelector kAmHdSel = utils::makeSelectorHd(kAmHdSid, kFmHdSubChannel0, kAmHdFreq); +const ProgramSelector kFmSel1 = utils::makeSelectorAmfm(kFmFreq1); +const ProgramSelector kFmSel2 = utils::makeSelectorAmfm(kFmFreq2); +const ProgramSelector kFmHdFreq1Sel1 = + utils::makeSelectorHd(kFmHdSid1, kFmHdSubChannel0, kFmHdFreq1); +const ProgramSelector kFmHdFreq1Sel2 = + utils::makeSelectorHd(kFmHdSid1, kFmHdSubChannel1, kFmHdFreq1); +const ProgramSelector kFmHdFreq2Sel1 = + utils::makeSelectorHd(kFmHdSid2, kFmHdSubChannel0, kFmHdFreq2); +const ProgramSelector kFmHdFreq2Sel2 = + utils::makeSelectorHd(kFmHdSid2, kFmHdSubChannel1, kFmHdFreq2); + +const VirtualRadio& getAmFmMockTestRadio() { + static VirtualRadio amFmRadioMockTestRadio( + "AM/FM radio mock for test", + { + {kAmSel1, "ProgramAm1", "ArtistAm1", "TitleAm1"}, + {kAmSel2, "ProgramAm2", "ArtistAm2", "TitleAm2"}, + {kFmSel1, "ProgramFm1", "ArtistFm1", "TitleFm1"}, + {kFmSel2, "ProgramFm2", "ArtistFm2", "TitleFm2"}, + {kAmHdSel, "ProgramAmHd1", "ArtistAmHd1", "TitleAmHd1"}, + {kFmHdFreq1Sel1, "ProgramFmHd1", "ArtistFmHd1", "TitleFmHd1"}, + {kFmHdFreq1Sel2, "ProgramFmHd2", "ArtistFmHd2", "TitleFmHd2"}, + {kFmHdFreq2Sel1, "ProgramFmHd3", "ArtistFmHd3", "TitleFmHd3"}, + {kFmHdFreq2Sel2, "ProgramFmHd4", "ArtistFmHd4", "TitleFmHd4"}, + }); + return amFmRadioMockTestRadio; +} + +} // namespace + +class DefaultBroadcastRadioHalTest : public testing::Test { + public: + void SetUp() override { + const VirtualRadio& amFmRadioMockTest = getAmFmMockTestRadio(); + mBroadcastRadioHal = ::ndk::SharedRefBase::make(amFmRadioMockTest); + } + std::shared_ptr mBroadcastRadioHal; +}; + +TEST_F(DefaultBroadcastRadioHalTest, GetAmFmRegionConfig) { + AmFmRegionConfig config; + + auto halResult = mBroadcastRadioHal->getAmFmRegionConfig(/* full= */ false, &config); + + ASSERT_TRUE(halResult.isOk()); + EXPECT_EQ(config.fmDeemphasis, AmFmRegionConfig::DEEMPHASIS_D50); + EXPECT_EQ(config.fmRds, AmFmRegionConfig::RDS); +} + +TEST_F(DefaultBroadcastRadioHalTest, GetAmFmRegionConfigWithFullBand) { + AmFmRegionConfig config; + + auto halResult = mBroadcastRadioHal->getAmFmRegionConfig(/* full= */ true, &config); + + ASSERT_TRUE(halResult.isOk()); + EXPECT_EQ(config.fmDeemphasis, + AmFmRegionConfig::DEEMPHASIS_D50 | AmFmRegionConfig::DEEMPHASIS_D75); + EXPECT_EQ(config.fmRds, AmFmRegionConfig::RDS | AmFmRegionConfig::RBDS); +} + +TEST_F(DefaultBroadcastRadioHalTest, GetDabRegionConfig) { + vector config; + + auto halResult = mBroadcastRadioHal->getDabRegionConfig(&config); + + ASSERT_TRUE(halResult.isOk()); + ASSERT_FALSE(config.empty()); +} + +TEST_F(DefaultBroadcastRadioHalTest, GetImage) { + vector img; + + auto halResult = mBroadcastRadioHal->getImage(BroadcastRadio::INVALID_IMAGE, &img); + + ASSERT_TRUE(halResult.isOk()); + ASSERT_TRUE(img.empty()); +} + +TEST_F(DefaultBroadcastRadioHalTest, GetProperties) { + vector mockPrograms = getAmFmMockTestRadio().getProgramList(); + Properties prop; + + auto halResult = mBroadcastRadioHal->getProperties(&prop); + + ASSERT_TRUE(halResult.isOk()); + ASSERT_FALSE(prop.supportedIdentifierTypes.empty()); + std::unordered_set supportedTypeSet; + for (const auto& supportedType : prop.supportedIdentifierTypes) { + supportedTypeSet.insert(supportedType); + } + for (const auto& program : mockPrograms) { + EXPECT_NE(supportedTypeSet.find(program.selector.primaryId.type), supportedTypeSet.end()); + } +} + +} // namespace aidl::android::hardware::broadcastradio From 5c3e08bb792658ee9b19fc8decbf2af0da71a233 Mon Sep 17 00:00:00 2001 From: Gil Cukierman Date: Thu, 14 Dec 2023 11:03:26 -0500 Subject: [PATCH 030/198] libradiocompat: Expose AIDL indications Bug: 308985785 Test: m Change-Id: Iecf657e06a00e2beb781ac7ec849950dcb42038d --- radio/aidl/compat/libradiocompat/CallbackManager.cpp | 4 ++++ .../libradiocompat/include/libradiocompat/CallbackManager.h | 1 + 2 files changed, 5 insertions(+) diff --git a/radio/aidl/compat/libradiocompat/CallbackManager.cpp b/radio/aidl/compat/libradiocompat/CallbackManager.cpp index c2eaed1959..96aaebcc4c 100644 --- a/radio/aidl/compat/libradiocompat/CallbackManager.cpp +++ b/radio/aidl/compat/libradiocompat/CallbackManager.cpp @@ -53,6 +53,10 @@ RadioResponse& CallbackManager::response() const { return *mRadioResponse; } +RadioIndication& CallbackManager::indication() const { + return *mRadioIndication; +} + void CallbackManager::setResponseFunctionsDelayed() { std::unique_lock lock(mDelayedSetterGuard); mDelayedSetterDeadline = std::chrono::steady_clock::now() + kDelayedSetterDelay; diff --git a/radio/aidl/compat/libradiocompat/include/libradiocompat/CallbackManager.h b/radio/aidl/compat/libradiocompat/include/libradiocompat/CallbackManager.h index f1a7b49c7a..34ab5d713d 100644 --- a/radio/aidl/compat/libradiocompat/include/libradiocompat/CallbackManager.h +++ b/radio/aidl/compat/libradiocompat/include/libradiocompat/CallbackManager.h @@ -46,6 +46,7 @@ class CallbackManager { ~CallbackManager(); RadioResponse& response() const; + RadioIndication& indication() const; template void setResponseFunctions(const std::shared_ptr& response, From d7f0d0ab4a7082ed38effd8b787d3e49afa0f392 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 13 Dec 2023 18:57:58 +0000 Subject: [PATCH 031/198] Camera: VTS: Require ConstructDefaultSettings for new HAL Test: Run VTS test on Cuttlefish and Pixel Bug: 309627704 Change-Id: Ic65ffef691c6b2e9fefbdcbd27598b3666062a9a --- .../VtsAidlHalCameraProvider_TargetTest.cpp | 28 ++++--------------- camera/provider/aidl/vts/camera_aidl_test.cpp | 9 ++++++ camera/provider/aidl/vts/camera_aidl_test.h | 3 ++ 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e335853c28..e346010759 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -531,11 +531,7 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { } if (ret.isOk()) { - const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); - size_t expectedSize = rawMetadata.metadata.size(); - int result = validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); + validateDefaultRequestMetadata(reqTemplate, rawMetadata); } else { ASSERT_EQ(0u, rawMetadata.metadata.size()); } @@ -546,24 +542,12 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { ndk::ScopedAStatus ret2 = device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2); - // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL - // implementation is in place. - if (static_cast(ret2.getServiceSpecificError()) != - Status::OPERATION_NOT_SUPPORTED) { - ASSERT_EQ(ret.isOk(), ret2.isOk()); - ASSERT_EQ(ret.getStatus(), ret2.getStatus()); + ASSERT_EQ(ret.isOk(), ret2.isOk()); + ASSERT_EQ(ret.getStatus(), ret2.getStatus()); - ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); - if (ret2.isOk()) { - const camera_metadata_t* metadata = - (camera_metadata_t*)rawMetadata2.metadata.data(); - size_t expectedSize = rawMetadata2.metadata.size(); - int result = - validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || - (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); - } + ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); + if (ret2.isOk()) { + validateDefaultRequestMetadata(reqTemplate, rawMetadata2); } } } diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 8e72b3f605..68edce0b04 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -4026,3 +4026,12 @@ void CameraAidlTest::getSupportedDurations(const camera_metadata_t* ch, uint32_t } } } + +void CameraAidlTest::validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata) { + const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); + size_t expectedSize = rawMetadata.metadata.size(); + int result = validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + verifyRequestTemplate(metadata, reqTemplate); +} diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index b51544fb67..dbfadcfa3d 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -588,6 +588,9 @@ class CameraAidlTest : public ::testing::TestWithParam { static void waitForReleaseFence( std::vector& resultOutputBuffers); + static void validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata); + // Map from frame number to the in-flight request state typedef std::unordered_map> InFlightMap; From 51548b2a9ae8526e0341ef7665052035e2267698 Mon Sep 17 00:00:00 2001 From: Gil Cukierman Date: Wed, 20 Dec 2023 17:11:29 +0000 Subject: [PATCH 032/198] Clarify securityALgorithmsUpdated emergency behavior securityAlgorithmsUpdated should be called by modems when the value of isUnprotectedEmergency changes. Bug: 317205446 Change-Id: I5e1815458119038495c1c38089bea7db69ae183c Test: m --- .../hardware/radio/network/IRadioNetworkIndication.aidl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl index 9c2502d931..dde4128f09 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -234,10 +234,10 @@ oneway interface IRadioNetworkIndication { * signaling, or data connection attempt for a given PLMN and/or access network. Due to * power concerns, once a connection type has been reported on, follow-up reports about that * connection type are only generated if there is any change to the previously reported - * encryption or integrity. Thus the AP is only to be notified when there is new information. - * List is reset upon rebooting thus info about initial connections is always passed to the - * AP after a reboot. List is also reset if the SIM is changed or if there has been a change - * in the access network. + * encryption or integrity, or if the value of SecurityAlgorithmUpdate#isUnprotectedEmergency + * changes. Thus the AP is only to be notified when there is new information. List is reset upon + * rebooting thus info about initial connections is always passed to the AP after a reboot. + * List is also reset if the SIM is changed or if there has been a change in the access network. * * Note: a change only in cell ID should not trigger an update, as the design is intended to * be agnostic to dual connectivity ("secondary serving cells"). From 7a237d1545b47ff785a0f3225bba568542a592e8 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 20 Dec 2023 22:08:30 +0000 Subject: [PATCH 033/198] Revert "Camera: VTS: Require ConstructDefaultSettings for new HAL" Revert submission 25658204-EnableFeatureCombination Reason for revert: b/317270728 Reverted changes: /q/submissionid:25658204-EnableFeatureCombination Change-Id: Id048e9bd5ba08f7856ccf88fd7bfdca06ce0727c --- .../VtsAidlHalCameraProvider_TargetTest.cpp | 28 +++++++++++++++---- camera/provider/aidl/vts/camera_aidl_test.cpp | 9 ------ camera/provider/aidl/vts/camera_aidl_test.h | 3 -- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e346010759..e335853c28 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -531,7 +531,11 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { } if (ret.isOk()) { - validateDefaultRequestMetadata(reqTemplate, rawMetadata); + const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); + size_t expectedSize = rawMetadata.metadata.size(); + int result = validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + verifyRequestTemplate(metadata, reqTemplate); } else { ASSERT_EQ(0u, rawMetadata.metadata.size()); } @@ -542,12 +546,24 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { ndk::ScopedAStatus ret2 = device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2); - ASSERT_EQ(ret.isOk(), ret2.isOk()); - ASSERT_EQ(ret.getStatus(), ret2.getStatus()); + // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL + // implementation is in place. + if (static_cast(ret2.getServiceSpecificError()) != + Status::OPERATION_NOT_SUPPORTED) { + ASSERT_EQ(ret.isOk(), ret2.isOk()); + ASSERT_EQ(ret.getStatus(), ret2.getStatus()); - ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); - if (ret2.isOk()) { - validateDefaultRequestMetadata(reqTemplate, rawMetadata2); + ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); + if (ret2.isOk()) { + const camera_metadata_t* metadata = + (camera_metadata_t*)rawMetadata2.metadata.data(); + size_t expectedSize = rawMetadata2.metadata.size(); + int result = + validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || + (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + verifyRequestTemplate(metadata, reqTemplate); + } } } } diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 68edce0b04..8e72b3f605 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -4026,12 +4026,3 @@ void CameraAidlTest::getSupportedDurations(const camera_metadata_t* ch, uint32_t } } } - -void CameraAidlTest::validateDefaultRequestMetadata(RequestTemplate reqTemplate, - const CameraMetadata& rawMetadata) { - const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); - size_t expectedSize = rawMetadata.metadata.size(); - int result = validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); -} diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index dbfadcfa3d..b51544fb67 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -588,9 +588,6 @@ class CameraAidlTest : public ::testing::TestWithParam { static void waitForReleaseFence( std::vector& resultOutputBuffers); - static void validateDefaultRequestMetadata(RequestTemplate reqTemplate, - const CameraMetadata& rawMetadata); - // Map from frame number to the in-flight request state typedef std::unordered_map> InFlightMap; From 59f33e4e3107dd6adc9158dc9b27e660408a8fc1 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 18 Dec 2023 16:10:41 -0800 Subject: [PATCH 034/198] Rename to getAllPendingScheduledTasks. Rename getAllScheduledTasks to getAllPendingScheduledTasks. Test: Presubmit Bug: 305285376 Change-Id: I0a908d3c4cc77ff718883e17468a2ff75df470d3 --- .../remoteaccess/IRemoteAccess.aidl | 2 +- .../remoteaccess/IRemoteAccess.aidl | 2 +- .../hal/default/fuzzer/fuzzer.cpp | 19 +++++++----- .../hal/default/include/RemoteAccessService.h | 2 +- .../hal/default/proto/wakeup_client.proto | 7 +++-- .../hal/default/src/RemoteAccessService.cpp | 10 +++---- .../test/RemoteAccessServiceUnitTest.cpp | 30 +++++++++---------- .../include/TestWakeupClientServiceImpl.h | 6 ++-- .../impl/src/TestWakeupClientServiceImpl.cpp | 8 ++--- .../TestWakeupClientServiceImplUnitTest.cpp | 14 ++++----- 10 files changed, 52 insertions(+), 48 deletions(-) diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl index e6f480856b..5c5917b5b8 100644 --- a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -46,5 +46,5 @@ interface IRemoteAccess { void unscheduleTask(String clientId, String scheduleId); void unscheduleAllTasks(String clientId); boolean isTaskScheduled(String clientId, String scheduleId); - List getAllScheduledTasks(String clientId); + List getAllPendingScheduledTasks(String clientId); } diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl index 9863ed728d..705cdbdd08 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -201,5 +201,5 @@ interface IRemoteAccess { * *

The finished scheduled tasks will not be included. */ - List getAllScheduledTasks(String clientId); + List getAllPendingScheduledTasks(String clientId); } diff --git a/automotive/remoteaccess/hal/default/fuzzer/fuzzer.cpp b/automotive/remoteaccess/hal/default/fuzzer/fuzzer.cpp index 9224ebcf09..7707ee6de3 100644 --- a/automotive/remoteaccess/hal/default/fuzzer/fuzzer.cpp +++ b/automotive/remoteaccess/hal/default/fuzzer/fuzzer.cpp @@ -75,8 +75,9 @@ class MockGrpcClientStub : public WakeupClient::StubInterface { return Status::OK; } - Status GetAllScheduledTasks(ClientContext* context, const GetAllScheduledTasksRequest& request, - GetAllScheduledTasksResponse* response) { + Status GetAllPendingScheduledTasks(ClientContext* context, + const GetAllPendingScheduledTasksRequest& request, + GetAllPendingScheduledTasksResponse* response) { return Status::OK; } @@ -165,17 +166,19 @@ class MockGrpcClientStub : public WakeupClient::StubInterface { return nullptr; } - ClientAsyncResponseReaderInterface* AsyncGetAllScheduledTasksRaw( + ClientAsyncResponseReaderInterface* + AsyncGetAllPendingScheduledTasksRaw( [[maybe_unused]] ClientContext* context, - [[maybe_unused]] const GetAllScheduledTasksRequest& request, + [[maybe_unused]] const GetAllPendingScheduledTasksRequest& request, [[maybe_unused]] CompletionQueue* cq) { return nullptr; } - ClientAsyncResponseReaderInterface* - PrepareAsyncGetAllScheduledTasksRaw([[maybe_unused]] ClientContext* context, - [[maybe_unused]] const GetAllScheduledTasksRequest& request, - [[maybe_unused]] CompletionQueue* c) { + ClientAsyncResponseReaderInterface* + PrepareAsyncGetAllPendingScheduledTasksRaw( + [[maybe_unused]] ClientContext* context, + [[maybe_unused]] const GetAllPendingScheduledTasksRequest& request, + [[maybe_unused]] CompletionQueue* c) { return nullptr; } }; diff --git a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h index 23b4ebe505..6266de8419 100644 --- a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h +++ b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h @@ -96,7 +96,7 @@ class RemoteAccessService ndk::ScopedAStatus isTaskScheduled(const std::string& clientId, const std::string& scheduleId, bool* out) override; - ndk::ScopedAStatus getAllScheduledTasks( + ndk::ScopedAStatus getAllPendingScheduledTasks( const std::string& clientId, std::vector* out) override; diff --git a/automotive/remoteaccess/hal/default/proto/wakeup_client.proto b/automotive/remoteaccess/hal/default/proto/wakeup_client.proto index e061016daf..14ba0a5e74 100644 --- a/automotive/remoteaccess/hal/default/proto/wakeup_client.proto +++ b/automotive/remoteaccess/hal/default/proto/wakeup_client.proto @@ -99,7 +99,8 @@ service WakeupClient { * *

The finished scheduled tasks will not be included. */ - rpc GetAllScheduledTasks(GetAllScheduledTasksRequest) returns (GetAllScheduledTasksResponse) {} + rpc GetAllPendingScheduledTasks(GetAllPendingScheduledTasksRequest) + returns (GetAllPendingScheduledTasksResponse) {} } message GetRemoteTasksRequest {} @@ -154,10 +155,10 @@ message IsTaskScheduledResponse { bool isTaskScheduled = 1; } -message GetAllScheduledTasksRequest { +message GetAllPendingScheduledTasksRequest { string clientId = 1; } -message GetAllScheduledTasksResponse { +message GetAllPendingScheduledTasksResponse { repeated GrpcScheduleInfo allScheduledTasks = 1; } diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp index 55211345b9..2a7f2091e4 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp @@ -399,13 +399,13 @@ ScopedAStatus RemoteAccessService::isTaskScheduled(const std::string& clientId, return ScopedAStatus::ok(); } -ScopedAStatus RemoteAccessService::getAllScheduledTasks(const std::string& clientId, - std::vector* out) { +ScopedAStatus RemoteAccessService::getAllPendingScheduledTasks(const std::string& clientId, + std::vector* out) { ClientContext context; - GetAllScheduledTasksRequest request = {}; - GetAllScheduledTasksResponse response = {}; + GetAllPendingScheduledTasksRequest request = {}; + GetAllPendingScheduledTasksResponse response = {}; request.set_clientid(clientId); - Status status = mGrpcStub->GetAllScheduledTasks(&context, request, &response); + Status status = mGrpcStub->GetAllPendingScheduledTasks(&context, request, &response); if (!status.ok()) { return rpcStatusToScopedAStatus(status, "Failed to call isTaskScheduled"); } diff --git a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp index 4af0003920..a46a983a9c 100644 --- a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp +++ b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp @@ -95,9 +95,9 @@ class MockGrpcClientStub : public WakeupClient::StubInterface { MOCK_METHOD(Status, IsTaskScheduled, (ClientContext * context, const IsTaskScheduledRequest& request, IsTaskScheduledResponse* response)); - MOCK_METHOD(Status, GetAllScheduledTasks, - (ClientContext * context, const GetAllScheduledTasksRequest& request, - GetAllScheduledTasksResponse* response)); + MOCK_METHOD(Status, GetAllPendingScheduledTasks, + (ClientContext * context, const GetAllPendingScheduledTasksRequest& request, + GetAllPendingScheduledTasksResponse* response)); // Async methods which we do not care. MOCK_METHOD(ClientAsyncReaderInterface*, AsyncGetRemoteTasksRaw, (ClientContext * context, const GetRemoteTasksRequest& request, CompletionQueue* cq, @@ -141,13 +141,13 @@ class MockGrpcClientStub : public WakeupClient::StubInterface { PrepareAsyncIsTaskScheduledRaw, (ClientContext * context, const IsTaskScheduledRequest& request, CompletionQueue* cq)); - MOCK_METHOD(ClientAsyncResponseReaderInterface*, - AsyncGetAllScheduledTasksRaw, - (ClientContext * context, const GetAllScheduledTasksRequest& request, + MOCK_METHOD(ClientAsyncResponseReaderInterface*, + AsyncGetAllPendingScheduledTasksRaw, + (ClientContext * context, const GetAllPendingScheduledTasksRequest& request, CompletionQueue* cq)); - MOCK_METHOD(ClientAsyncResponseReaderInterface*, - PrepareAsyncGetAllScheduledTasksRaw, - (ClientContext * context, const GetAllScheduledTasksRequest& request, + MOCK_METHOD(ClientAsyncResponseReaderInterface*, + PrepareAsyncGetAllPendingScheduledTasksRaw, + (ClientContext * context, const GetAllPendingScheduledTasksRequest& request, CompletionQueue* cq)); }; @@ -573,13 +573,13 @@ TEST_F(RemoteAccessServiceUnitTest, TestIsTaskScheduled) { EXPECT_EQ(grpcRequest.scheduleid(), kTestScheduleId); } -TEST_F(RemoteAccessServiceUnitTest, testGetAllScheduledTasks) { +TEST_F(RemoteAccessServiceUnitTest, testGetAllPendingScheduledTasks) { std::vector result; - GetAllScheduledTasksRequest grpcRequest = {}; - EXPECT_CALL(*getGrpcWakeupClientStub(), GetAllScheduledTasks) + GetAllPendingScheduledTasksRequest grpcRequest = {}; + EXPECT_CALL(*getGrpcWakeupClientStub(), GetAllPendingScheduledTasks) .WillOnce([&grpcRequest]([[maybe_unused]] ClientContext* context, - const GetAllScheduledTasksRequest& request, - GetAllScheduledTasksResponse* response) { + const GetAllPendingScheduledTasksRequest& request, + GetAllPendingScheduledTasksResponse* response) { grpcRequest = request; GrpcScheduleInfo* newInfo = response->add_allscheduledtasks(); newInfo->set_clientid(kTestClientId); @@ -591,7 +591,7 @@ TEST_F(RemoteAccessServiceUnitTest, testGetAllScheduledTasks) { return Status(); }); - ScopedAStatus status = getService()->getAllScheduledTasks(kTestClientId, &result); + ScopedAStatus status = getService()->getAllPendingScheduledTasks(kTestClientId, &result); ASSERT_TRUE(status.isOk()); EXPECT_EQ(grpcRequest.clientid(), kTestClientId); diff --git a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h index 2aab904429..a7f47c2c57 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h +++ b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h @@ -138,9 +138,9 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { const IsTaskScheduledRequest* request, IsTaskScheduledResponse* response) override; - grpc::Status GetAllScheduledTasks(grpc::ServerContext* context, - const GetAllScheduledTasksRequest* request, - GetAllScheduledTasksResponse* response) override; + grpc::Status GetAllPendingScheduledTasks( + grpc::ServerContext* context, const GetAllPendingScheduledTasksRequest* request, + GetAllPendingScheduledTasksResponse* response) override; /** * Starts generating fake tasks for the specific client repeatedly. diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp index 1db991c8b0..d22335377a 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp @@ -469,11 +469,11 @@ Status TestWakeupClientServiceImpl::IsTaskScheduled(ServerContext* context, return Status::OK; } -Status TestWakeupClientServiceImpl::GetAllScheduledTasks(ServerContext* context, - const GetAllScheduledTasksRequest* request, - GetAllScheduledTasksResponse* response) { +Status TestWakeupClientServiceImpl::GetAllPendingScheduledTasks( + ServerContext* context, const GetAllPendingScheduledTasksRequest* request, + GetAllPendingScheduledTasksResponse* response) { const std::string& clientId = request->clientid(); - printf("GetAllScheduledTasks called with client Id: %s\n", clientId.c_str()); + printf("GetAllPendingScheduledTasks called with client Id: %s\n", clientId.c_str()); response->clear_allscheduledtasks(); { std::unique_lock lk(mLock); diff --git a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp index 960020d995..63458aee6d 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp @@ -280,7 +280,7 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestUnscheduleAllTasks) { EXPECT_EQ(getRemoteTaskResponses().size(), 0); } -TEST_F(TestWakeupClientServiceImplUnitTest, TestGetAllScheduledTasks) { +TEST_F(TestWakeupClientServiceImplUnitTest, TestGetAllPendingScheduledTasks) { std::string scheduleId1 = "scheduleId1"; std::string scheduleId2 = "scheduleId2"; int64_t time1 = getNow(); @@ -296,19 +296,19 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestGetAllScheduledTasks) { ASSERT_TRUE(status.ok()); ClientContext context; - GetAllScheduledTasksRequest request; - GetAllScheduledTasksResponse response; + GetAllPendingScheduledTasksRequest request; + GetAllPendingScheduledTasksResponse response; request.set_clientid("invalid client Id"); - status = getStub()->GetAllScheduledTasks(&context, request, &response); + status = getStub()->GetAllPendingScheduledTasks(&context, request, &response); ASSERT_TRUE(status.ok()); EXPECT_EQ(response.allscheduledtasks_size(), 0); ClientContext context2; - GetAllScheduledTasksRequest request2; - GetAllScheduledTasksResponse response2; + GetAllPendingScheduledTasksRequest request2; + GetAllPendingScheduledTasksResponse response2; request2.set_clientid(kTestClientId); - status = getStub()->GetAllScheduledTasks(&context2, request2, &response2); + status = getStub()->GetAllPendingScheduledTasks(&context2, request2, &response2); ASSERT_TRUE(status.ok()); ASSERT_EQ(response2.allscheduledtasks_size(), 2); From 52416e06ff417ce58a7560c41e332f39cf23746c Mon Sep 17 00:00:00 2001 From: ramindani Date: Tue, 19 Dec 2023 16:03:14 -0800 Subject: [PATCH 035/198] [Composer3] Update notifyExpectedPresent parameter names Update the timeoutNs description to specify what 0 and not absent value expected behavior is BUG: 294102485 Test: VTS Change-Id: I3954c8f1efad8190ed6d608e2968fe1dc15c2f11 --- .../android/hardware/graphics/composer3/VrrConfig.aidl | 4 ++-- .../hardware/graphics/composer3/IComposerClient.aidl | 6 +++--- .../android/hardware/graphics/composer3/VrrConfig.aidl | 7 ++++--- .../aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp | 4 ++-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VrrConfig.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VrrConfig.aidl index bb2569f342..7377b4b3e5 100644 --- a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VrrConfig.aidl +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VrrConfig.aidl @@ -42,7 +42,7 @@ parcelable VrrConfig { int averageRefreshPeriodNs; } parcelable NotifyExpectedPresentConfig { - int notifyExpectedPresentHeadsUpNs; - int notifyExpectedPresentTimeoutNs; + int headsUpNs; + int timeoutNs; } } diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl index 725c9475c9..213e8e9417 100644 --- a/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl +++ b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl @@ -895,9 +895,9 @@ interface IComposerClient { * * The framework will call this function based on the parameters specified in * DisplayConfiguration.VrrConfig: - * - notifyExpectedPresentTimeoutNs specifies the idle time from the previous present command - * where the framework must send the early hint for the next frame. - * - notifyExpectedPresentHeadsUpNs specifies minimal time that framework must send + * - notifyExpectedPresentConfig.timeoutNs specifies the idle time from the previous + * present command where the framework must send the early hint for the next frame. + * - notifyExpectedPresentConfig.headsUpNs specifies minimal time that framework must send * the early hint before the next frame. * * The framework can omit calling this API when the next present command matches diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/VrrConfig.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/VrrConfig.aidl index 3b241ba0c9..99c1c62a9f 100644 --- a/graphics/composer/aidl/android/hardware/graphics/composer3/VrrConfig.aidl +++ b/graphics/composer/aidl/android/hardware/graphics/composer3/VrrConfig.aidl @@ -45,15 +45,16 @@ parcelable VrrConfig { * The minimal time in nanoseconds that IComposerClient.notifyExpectedPresent needs to be * called ahead of an expectedPresentTime provided on a presentDisplay command. */ - int notifyExpectedPresentHeadsUpNs; + int headsUpNs; /** * The time in nanoseconds that represents a timeout from the previous presentDisplay, which * after this point the display needs a call to IComposerClient.notifyExpectedPresent before - * sending the next frame. If set to 0, there is no need to call + * sending the next frame. + * If set to 0, hint is sent for every frame. * IComposerClient.notifyExpectedPresent for timeout. */ - int notifyExpectedPresentTimeoutNs; + int timeoutNs; } /** diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 086d2905e6..2b755c2c42 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1275,8 +1275,8 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigurations) { if (vrrConfig.notifyExpectedPresentConfig) { const auto& notifyExpectedPresentConfig = *vrrConfig.notifyExpectedPresentConfig; - EXPECT_GT(0, notifyExpectedPresentConfig.notifyExpectedPresentHeadsUpNs); - EXPECT_GE(0, notifyExpectedPresentConfig.notifyExpectedPresentTimeoutNs); + EXPECT_GE(notifyExpectedPresentConfig.headsUpNs, 0); + EXPECT_GE(notifyExpectedPresentConfig.timeoutNs, 0); } } } From 48c35ba72a5307670ace681217d4a54f0215f331 Mon Sep 17 00:00:00 2001 From: Bharatt Kukreja Date: Thu, 14 Dec 2023 20:55:17 +0000 Subject: [PATCH 036/198] Add VTS test for getSessionCharacteristics Test: atest VtsAidlHalCameraProvider_TargetTest Bug: 314386872 Change-Id: I3f838fd041e6aca4b12fad512f57287a94149c6e --- .../hardware/camera/device/ICameraDevice.aidl | 1 + .../VtsAidlHalCameraProvider_TargetTest.cpp | 58 +++++++++++++++++++ camera/provider/aidl/vts/camera_aidl_test.cpp | 49 ++++++++++++++++ camera/provider/aidl/vts/camera_aidl_test.h | 2 + 4 files changed, 110 insertions(+) diff --git a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl index 3a1d7625d5..01009ad788 100644 --- a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl @@ -444,6 +444,7 @@ interface ICameraDevice { * * For Android 15, the characteristics which need to be set are: * - ANDROID_CONTROL_ZOOM_RATIO_RANGE + * - SCALER_AVAILABLE_MAX_DIGITAL_ZOOM * * A service specific error will be returned on the following conditions * INTERNAL_ERROR: diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e335853c28..e24e078330 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -283,6 +283,64 @@ TEST_P(CameraAidlTest, getCameraCharacteristics) { } } +TEST_P(CameraAidlTest, getSessionCharacteristics) { + if (flags::feature_combination_query()) { + std::vector cameraDeviceNames = getCameraDeviceNames(mProvider); + + for (const auto& name : cameraDeviceNames) { + std::shared_ptr device; + ALOGI("getSessionCharacteristics: Testing camera device %s", name.c_str()); + ndk::ScopedAStatus ret = mProvider->getCameraDeviceInterface(name, &device); + ALOGI("getCameraDeviceInterface returns: %d:%d", ret.getExceptionCode(), + ret.getServiceSpecificError()); + ASSERT_TRUE(ret.isOk()); + ASSERT_NE(device, nullptr); + + CameraMetadata meta; + openEmptyDeviceSession(name, mProvider, &mSession /*out*/, &meta /*out*/, + &device /*out*/); + + std::vector outputStreams; + camera_metadata_t* staticMeta = + reinterpret_cast(meta.metadata.data()); + outputStreams.clear(); + ASSERT_EQ(Status::OK, getAvailableOutputStreams(staticMeta, outputStreams)); + ASSERT_NE(0u, outputStreams.size()); + + AvailableStream sampleStream = outputStreams[0]; + + int32_t streamId = 0; + Stream stream = {streamId, + StreamType::OUTPUT, + sampleStream.width, + sampleStream.height, + static_cast(sampleStream.format), + static_cast( + GRALLOC1_CONSUMER_USAGE_VIDEO_ENCODER), + Dataspace::UNKNOWN, + StreamRotation::ROTATION_0, + std::string(), + /*bufferSize*/ 0, + /*groupId*/ -1, + {SensorPixelMode::ANDROID_SENSOR_PIXEL_MODE_DEFAULT}, + RequestAvailableDynamicRangeProfilesMap:: + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD}; + + std::vector streams = {stream}; + StreamConfiguration config; + createStreamConfiguration(streams, StreamConfigurationMode::NORMAL_MODE, &config); + + CameraMetadata chars; + ret = device->getSessionCharacteristics(config, &chars); + ASSERT_TRUE(ret.isOk()); + verifySessionCharacteristics(chars); + } + } else { + ALOGI("getSessionCharacteristics: Test skipped.\n"); + GTEST_SKIP(); + } +} + // Verify that the torch strength level can be set and retrieved successfully. TEST_P(CameraAidlTest, turnOnTorchWithStrengthLevel) { std::vector cameraDeviceNames = getCameraDeviceNames(mProvider); diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 8e72b3f605..90444dd1d1 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -1931,6 +1931,55 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptr(chars.metadata.data()); + + size_t expectedSize = chars.metadata.size(); + int result = validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + size_t entryCount = get_camera_metadata_entry_count(metadata); + ASSERT_GT(entryCount, 0u); + + camera_metadata_ro_entry entry; + int retcode = 0; + float maxDigitalZoom = 1.0; + + retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, + &entry); + // ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM should always be present. + if ((0 == retcode) && (entry.count == 1)) { + maxDigitalZoom = entry.data.f[0]; + } else { + ADD_FAILURE() << "Get camera scalerAvailableMaxDigitalZoom failed!"; + } + + retcode = find_camera_metadata_ro_entry(metadata, ANDROID_CONTROL_ZOOM_RATIO_RANGE, &entry); + bool hasZoomRatioRange = (0 == retcode && entry.count == 2); + if (!hasZoomRatioRange) { + return; + } + float minZoomRatio = entry.data.f[0]; + float maxZoomRatio = entry.data.f[1]; + constexpr float FLOATING_POINT_THRESHOLD = 0.00001f; + if (abs(maxDigitalZoom - maxZoomRatio) > FLOATING_POINT_THRESHOLD) { + ADD_FAILURE() << "Difference between maximum digital zoom " << maxDigitalZoom + << " and maximum zoom ratio " << maxZoomRatio + << " is greater than the threshold " << FLOATING_POINT_THRESHOLD << "!"; + } + if (minZoomRatio > maxZoomRatio) { + ADD_FAILURE() << "Maximum zoom ratio is less than minimum zoom ratio!"; + } + if (minZoomRatio > 1.0f) { + ADD_FAILURE() << "Minimum zoom ratio is more than 1.0!"; + } + if (maxZoomRatio < 1.0f) { + ADD_FAILURE() << "Maximum zoom ratio is less than 1.0!"; + } + } +} + std::vector CameraAidlTest::getConcurrentDeviceCombinations( std::shared_ptr& provider) { std::vector combinations; diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index b51544fb67..b923345e25 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -281,6 +281,8 @@ class CameraAidlTest : public ::testing::TestWithParam { static void verifyStreamCombination(const std::shared_ptr& device, const StreamConfiguration& config, bool expectedStatus); + static void verifySessionCharacteristics(const CameraMetadata& chars); + static void verifyLogicalCameraResult(const camera_metadata_t* staticMetadata, const std::vector& resultMetadata); From 2bbd1ec30c154417c0e11d472c8541929278ebe6 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Mon, 11 Dec 2023 14:55:39 -0800 Subject: [PATCH 037/198] thermal: support cooling device status change notification 1. support the powercap in CoolingDevice 2. support the notification when CoolingDevice status changed Bug: 312540064 Test: atest VtsHalThermalTargetTest Change-Id: I58e39c0a2c070317b574f1a5d4abfa582cc56f34 --- .../hardware/thermal/CoolingDevice.aidl | 3 + .../ICoolingDeviceChangedCallback.aidl | 39 +++++++ .../android/hardware/thermal/IThermal.aidl | 2 + .../hardware/thermal/CoolingDevice.aidl | 12 ++ .../ICoolingDeviceChangedCallback.aidl | 36 ++++++ .../android/hardware/thermal/IThermal.aidl | 37 ++++++ thermal/aidl/default/Thermal.cpp | 49 ++++++++ thermal/aidl/default/Thermal.h | 10 ++ thermal/aidl/vts/VtsHalThermalTargetTest.cpp | 106 ++++++++++++++++++ 9 files changed, 294 insertions(+) create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl create mode 100644 thermal/aidl/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/CoolingDevice.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/CoolingDevice.aidl index dff3c4cc49..7e1aed7e3c 100644 --- a/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/CoolingDevice.aidl +++ b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/CoolingDevice.aidl @@ -38,4 +38,7 @@ parcelable CoolingDevice { android.hardware.thermal.CoolingType type; String name; long value; + long powerLimitMw; + long powerMw; + long timeWindowMs; } diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl new file mode 100644 index 0000000000..ea75b1c8a9 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@VintfStability +interface ICoolingDeviceChangedCallback { + oneway void notifyCoolingDeviceChanged(in android.hardware.thermal.CoolingDevice coolingDevice); +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/IThermal.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/IThermal.aidl index c9b6cab364..904496cdf1 100644 --- a/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/IThermal.aidl +++ b/thermal/aidl/aidl_api/android.hardware.thermal/current/android/hardware/thermal/IThermal.aidl @@ -44,4 +44,6 @@ interface IThermal { void registerThermalChangedCallback(in android.hardware.thermal.IThermalChangedCallback callback); void registerThermalChangedCallbackWithType(in android.hardware.thermal.IThermalChangedCallback callback, in android.hardware.thermal.TemperatureType type); void unregisterThermalChangedCallback(in android.hardware.thermal.IThermalChangedCallback callback); + void registerCoolingDeviceChangedCallbackWithType(in android.hardware.thermal.ICoolingDeviceChangedCallback callback, in android.hardware.thermal.CoolingType type); + void unregisterCoolingDeviceChangedCallback(in android.hardware.thermal.ICoolingDeviceChangedCallback callback); } diff --git a/thermal/aidl/android/hardware/thermal/CoolingDevice.aidl b/thermal/aidl/android/hardware/thermal/CoolingDevice.aidl index 0c5c17d3a9..406733bc5c 100644 --- a/thermal/aidl/android/hardware/thermal/CoolingDevice.aidl +++ b/thermal/aidl/android/hardware/thermal/CoolingDevice.aidl @@ -40,4 +40,16 @@ parcelable CoolingDevice { * means deeper throttling. */ long value; + /** + * Power budget (mW) of the cooling device. + */ + long powerLimitMw; + /** + * Target cooling device's AVG power for the last time_window_ms. + */ + long powerMw; + /** + * The time window (millisecond) to calculate the power consumption + */ + long timeWindowMs; } diff --git a/thermal/aidl/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl b/thermal/aidl/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl new file mode 100644 index 0000000000..e6bb9fe2f9 --- /dev/null +++ b/thermal/aidl/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl @@ -0,0 +1,36 @@ +/* + * 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. + */ + +package android.hardware.thermal; + +import android.hardware.thermal.CoolingDevice; +import android.hardware.thermal.Temperature; + +/** + * ICoolingDeviceChangedCallback send cooling device change notification to clients. + * @hide + */ +@VintfStability +interface ICoolingDeviceChangedCallback { + /** + * Send a cooling device change event to all ThermalHAL + * cooling device event listeners. + * + * @param cooling_device The cooling device information associated with the + * change event. + */ + oneway void notifyCoolingDeviceChanged(in CoolingDevice coolingDevice); +} diff --git a/thermal/aidl/android/hardware/thermal/IThermal.aidl b/thermal/aidl/android/hardware/thermal/IThermal.aidl index c94edcda72..4aa4090752 100644 --- a/thermal/aidl/android/hardware/thermal/IThermal.aidl +++ b/thermal/aidl/android/hardware/thermal/IThermal.aidl @@ -18,6 +18,7 @@ package android.hardware.thermal; import android.hardware.thermal.CoolingDevice; import android.hardware.thermal.CoolingType; +import android.hardware.thermal.ICoolingDeviceChangedCallback; import android.hardware.thermal.IThermalChangedCallback; import android.hardware.thermal.Temperature; import android.hardware.thermal.TemperatureThreshold; @@ -188,4 +189,40 @@ interface IThermal { * getMessage() must be populated with human-readable error message. */ void unregisterThermalChangedCallback(in IThermalChangedCallback callback); + + /** + * Register an ICoolingDeviceChangedCallback for a given CoolingType, used by + * the Thermal HAL to receive CDEV events when cooling device status + * changed. + * Multiple registrations with different ICoolingDeviceChangedCallback must be allowed. + * Multiple registrations with same ICoolingDeviceChangedCallback is not allowed, client + * should unregister the given ICoolingDeviceChangedCallback first. + * + * @param callback the ICoolingChangedCallback to use for receiving + * cooling device events. If nullptr callback is given, the status code will be + * STATUS_BAD_VALUE and the operation will fail. + * @param type the type to be filtered. + * + * @throws EX_ILLEGAL_ARGUMENT If the callback is given nullptr or already registered. And the + * getMessage() must be populated with human-readable error message. + * @throws EX_ILLEGAL_STATE If the Thermal HAL is not initialized successfully. And the + * getMessage() must be populated with human-readable error message. + */ + void registerCoolingDeviceChangedCallbackWithType( + in ICoolingDeviceChangedCallback callback, in CoolingType type); + + /** + * Unregister an ICoolingDeviceChangedCallback, used by the Thermal HAL + * to receive CDEV events when cooling device status changed. + * + * @param callback the ICoolingDeviceChangedCallback to use for receiving + * cooling device events. if nullptr callback is given, the status code will be + * STATUS_BAD_VALUE and the operation will fail. + * + * @throws EX_ILLEGAL_ARGUMENT If the callback is given nullptr or not previously registered. + * And the getMessage() must be populated with human-readable error message. + * @throws EX_ILLEGAL_STATE If the Thermal HAL is not initialized successfully. And the + * getMessage() must be populated with human-readable error message. + */ + void unregisterCoolingDeviceChangedCallback(in ICoolingDeviceChangedCallback callback); } diff --git a/thermal/aidl/default/Thermal.cpp b/thermal/aidl/default/Thermal.cpp index f643d22f1f..41d0be8346 100644 --- a/thermal/aidl/default/Thermal.cpp +++ b/thermal/aidl/default/Thermal.cpp @@ -142,4 +142,53 @@ ScopedAStatus Thermal::unregisterThermalChangedCallback( return ScopedAStatus::ok(); } +ScopedAStatus Thermal::registerCoolingDeviceChangedCallbackWithType( + const std::shared_ptr& in_callback, CoolingType in_type) { + LOG(VERBOSE) << __func__ << " ICoolingDeviceChangedCallback: " << in_callback + << ", CoolingType: " << static_cast(in_type); + if (in_callback == nullptr) { + return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "Invalid nullptr callback"); + } + { + std::lock_guard _lock(cdev_callback_mutex_); + if (std::any_of(cdev_callbacks_.begin(), cdev_callbacks_.end(), + [&](const std::shared_ptr& c) { + return interfacesEqual(c, in_callback); + })) { + return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "Callback already registered"); + } + cdev_callbacks_.push_back(in_callback); + } + return ScopedAStatus::ok(); +} + +ScopedAStatus Thermal::unregisterCoolingDeviceChangedCallback( + const std::shared_ptr& in_callback) { + LOG(VERBOSE) << __func__ << " ICoolingDeviceChangedCallback: " << in_callback; + if (in_callback == nullptr) { + return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "Invalid nullptr callback"); + } + { + std::lock_guard _lock(cdev_callback_mutex_); + bool removed = false; + cdev_callbacks_.erase( + std::remove_if(cdev_callbacks_.begin(), cdev_callbacks_.end(), + [&](const std::shared_ptr& c) { + if (interfacesEqual(c, in_callback)) { + removed = true; + return true; + } + return false; + }), + cdev_callbacks_.end()); + if (!removed) { + return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "Callback wasn't registered"); + } + } + return ScopedAStatus::ok(); +} } // namespace aidl::android::hardware::thermal::impl::example diff --git a/thermal/aidl/default/Thermal.h b/thermal/aidl/default/Thermal.h index 8885e631fe..d3d88748ee 100644 --- a/thermal/aidl/default/Thermal.h +++ b/thermal/aidl/default/Thermal.h @@ -46,6 +46,7 @@ class Thermal : public BnThermal { ndk::ScopedAStatus registerThermalChangedCallback( const std::shared_ptr& in_callback) override; + ndk::ScopedAStatus registerThermalChangedCallbackWithType( const std::shared_ptr& in_callback, TemperatureType in_type) override; @@ -53,9 +54,18 @@ class Thermal : public BnThermal { ndk::ScopedAStatus unregisterThermalChangedCallback( const std::shared_ptr& in_callback) override; + ndk::ScopedAStatus registerCoolingDeviceChangedCallbackWithType( + const std::shared_ptr& in_callback, + CoolingType in_type) override; + + ndk::ScopedAStatus unregisterCoolingDeviceChangedCallback( + const std::shared_ptr& in_callback) override; + private: std::mutex thermal_callback_mutex_; std::vector> thermal_callbacks_; + std::mutex cdev_callback_mutex_; + std::vector> cdev_callbacks_; }; } // namespace example diff --git a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp index 4b0eb655b5..403c6c85a7 100644 --- a/thermal/aidl/vts/VtsHalThermalTargetTest.cpp +++ b/thermal/aidl/vts/VtsHalThermalTargetTest.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -59,6 +60,15 @@ static const Temperature kThrottleTemp = { .throttlingStatus = ThrottlingSeverity::CRITICAL, }; +static const CoolingDevice kCoolingDevice = { + .type = CoolingType::CPU, + .name = "test cooling device", + .value = 1, + .powerLimitMw = 300, + .powerMw = 500, + .timeWindowMs = 7000, +}; + // Callback class for receiving thermal event notifications from main class class ThermalCallback : public BnThermalChangedCallback { public: @@ -85,6 +95,33 @@ class ThermalCallback : public BnThermalChangedCallback { bool mInvoke = false; }; +// Callback class for receiving cooling device event notifications from main class +class CoolingDeviceCallback : public BnCoolingDeviceChangedCallback { + public: + ndk::ScopedAStatus notifyCoolingDeviceChanged(const CoolingDevice&) override { + { + std::lock_guard lock(mMutex); + mInvoke = true; + } + mNotifyCoolingDeviceChanged.notify_all(); + return ndk::ScopedAStatus::ok(); + } + + template + [[nodiscard]] bool waitForCallback(std::chrono::duration duration) { + std::unique_lock lock(mMutex); + bool r = mNotifyCoolingDeviceChanged.wait_for(lock, duration, + [this] { return this->mInvoke; }); + mInvoke = false; + return r; + } + + private: + std::mutex mMutex; + std::condition_variable mNotifyCoolingDeviceChanged; + bool mInvoke = false; +}; + // The main test class for THERMAL HIDL HAL. class ThermalAidlTest : public testing::TestWithParam { public: @@ -97,19 +134,42 @@ class ThermalAidlTest : public testing::TestWithParam { ASSERT_NE(mThermalCallback, nullptr); ::ndk::ScopedAStatus status = mThermal->registerThermalChangedCallback(mThermalCallback); ASSERT_TRUE(status.isOk()) << status.getMessage(); + + auto ret = mThermal->getInterfaceVersion(&thermal_version); + ASSERT_TRUE(ret.isOk()) << ret; + if (thermal_version > 1) { + mCoolingDeviceCallback = ndk::SharedRefBase::make(); + ASSERT_NE(mCoolingDeviceCallback, nullptr); + status = mThermal->registerCoolingDeviceChangedCallbackWithType(mCoolingDeviceCallback, + kCoolingDevice.type); + ASSERT_TRUE(status.isOk()) << status.getMessage(); + } } void TearDown() override { ::ndk::ScopedAStatus status = mThermal->unregisterThermalChangedCallback(mThermalCallback); ASSERT_TRUE(status.isOk()) << status.getMessage(); + // Expect to fail if unregister again status = mThermal->unregisterThermalChangedCallback(mThermalCallback); ASSERT_EQ(EX_ILLEGAL_ARGUMENT, status.getExceptionCode()); + + auto ret = mThermal->getInterfaceVersion(&thermal_version); + ASSERT_TRUE(ret.isOk()) << ret; + if (thermal_version > 1) { + status = mThermal->unregisterCoolingDeviceChangedCallback(mCoolingDeviceCallback); + ASSERT_TRUE(status.isOk()) << status.getMessage(); + status = mThermal->unregisterCoolingDeviceChangedCallback(mCoolingDeviceCallback); + ASSERT_EQ(EX_ILLEGAL_ARGUMENT, status.getExceptionCode()); + } } + // Stores thermal version + int32_t thermal_version; protected: std::shared_ptr mThermal; std::shared_ptr mThermalCallback; + std::shared_ptr mCoolingDeviceCallback; }; // Test ThermalChangedCallback::notifyThrottling(). @@ -121,6 +181,21 @@ TEST_P(ThermalAidlTest, NotifyThrottlingTest) { ASSERT_TRUE(thermalCallback->waitForCallback(200ms)); } +// Test CoolingDeviceChangedCallback::notifyCoolingDeviceChanged(). +// This just calls into and back from our local CoolingDeviceChangedCallback impl. +TEST_P(ThermalAidlTest, NotifyCoolingDeviceChangedTest) { + auto ret = mThermal->getInterfaceVersion(&thermal_version); + ASSERT_TRUE(ret.isOk()) << ret; + if (thermal_version < 2) { + return; + } + std::shared_ptr cdevCallback = + ndk::SharedRefBase::make(); + ::ndk::ScopedAStatus status = cdevCallback->notifyCoolingDeviceChanged(kCoolingDevice); + ASSERT_TRUE(status.isOk()) << status.getMessage(); + ASSERT_TRUE(cdevCallback->waitForCallback(200ms)); +} + // Test Thermal->registerThermalChangedCallback. TEST_P(ThermalAidlTest, RegisterThermalChangedCallbackTest) { // Expect to fail with same callback @@ -169,6 +244,37 @@ TEST_P(ThermalAidlTest, RegisterThermalChangedCallbackWithTypeTest) { || status.getExceptionCode() == EX_NULL_POINTER); } +// Test Thermal->registerCoolingDeviceChangedCallbackWithType. +TEST_P(ThermalAidlTest, RegisterCoolingDeviceChangedCallbackWithTypeTest) { + auto ret = mThermal->getInterfaceVersion(&thermal_version); + ASSERT_TRUE(ret.isOk()) << ret; + if (thermal_version < 2) { + return; + } + + // Expect to fail with same callback + ::ndk::ScopedAStatus status = mThermal->registerCoolingDeviceChangedCallbackWithType( + mCoolingDeviceCallback, CoolingType::CPU); + ASSERT_EQ(EX_ILLEGAL_ARGUMENT, status.getExceptionCode()); + // Expect to fail with null callback + status = mThermal->registerCoolingDeviceChangedCallbackWithType(nullptr, CoolingType::CPU); + ASSERT_TRUE(status.getExceptionCode() == EX_ILLEGAL_ARGUMENT || + status.getExceptionCode() == EX_NULL_POINTER); + std::shared_ptr localCoolingDeviceCallback = + ndk::SharedRefBase::make(); + // Expect to succeed with different callback + status = mThermal->registerCoolingDeviceChangedCallbackWithType(localCoolingDeviceCallback, + CoolingType::CPU); + ASSERT_TRUE(status.isOk()) << status.getMessage(); + // Remove the local callback + status = mThermal->unregisterCoolingDeviceChangedCallback(localCoolingDeviceCallback); + ASSERT_TRUE(status.isOk()) << status.getMessage(); + // Expect to fail with null callback + status = mThermal->unregisterCoolingDeviceChangedCallback(nullptr); + ASSERT_TRUE(status.getExceptionCode() == EX_ILLEGAL_ARGUMENT || + status.getExceptionCode() == EX_NULL_POINTER); +} + // Test Thermal->getCurrentTemperatures(). TEST_P(ThermalAidlTest, TemperatureTest) { std::vector ret; From f3698fd083702e058a2941b0e6f9234b757846fb Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 18 Dec 2023 12:29:00 -0800 Subject: [PATCH 038/198] Test only defined system propIds are supported. Add VTS test to verify that only the defined system property IDs for the specific VHAL verson are supported by the VHAL implementation. This means that a VHAL v2 implementation must not support properties that requires VHAL v3. Test: atest VtsHalAutomotiveVehicle_TargetTest Bug: 316429656 Change-Id: Ib000e7565a082330c8cc6ec3825656f2df64cc04 --- automotive/vehicle/vts/Android.bp | 4 ++ .../VtsHalAutomotiveVehicle_TargetTest.cpp | 41 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/automotive/vehicle/vts/Android.bp b/automotive/vehicle/vts/Android.bp index 736787b881..67d0d344d4 100644 --- a/automotive/vehicle/vts/Android.bp +++ b/automotive/vehicle/vts/Android.bp @@ -30,6 +30,7 @@ cc_test { ], static_libs: [ "libgtest", + "libgmock", "libvhalclient", ], shared_libs: [ @@ -41,6 +42,9 @@ cc_test { "use_libaidlvintf_gtest_helper_static", "vhalclient_defaults", ], + header_libs: [ + "IVehicleGeneratedHeaders", + ], test_suites: [ "general-tests", "vts", diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index b5ee335ff6..f8ddfaa9cf 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -19,12 +19,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -47,6 +49,7 @@ using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyChangeMode; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType; +using ::aidl::android::hardware::automotive::vehicle::VersionForVehicleProperty; using ::android::getAidlHalInstanceNames; using ::android::base::ScopedLockAssertion; using ::android::base::StringPrintf; @@ -58,7 +61,10 @@ using ::android::frameworks::automotive::vhal::ISubscriptionCallback; using ::android::frameworks::automotive::vhal::IVhalClient; using ::android::hardware::getAllHalInstanceNames; using ::android::hardware::Sanitize; +using ::android::hardware::automotive::vehicle::isSystemProp; +using ::android::hardware::automotive::vehicle::propIdToString; using ::android::hardware::automotive::vehicle::toInt; +using ::testing::Ge; constexpr int32_t kInvalidProp = 0x31600207; @@ -202,6 +208,41 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, getPropConfigsWithInvalidProp) { ASSERT_NE(result.error().message(), "") << "Expect error message not to be empty"; } +// Test system property IDs returned by getPropConfigs() are defined in the VHAL property interface. +TEST_P(VtsHalAutomotiveVehicleTargetTest, testPropConfigs_onlyDefinedSystemPropertyIdsReturned) { + if (!mVhalClient->isAidlVhal()) { + GTEST_SKIP() << "Skip for HIDL VHAL because HAL interface run-time version is only" + << "introduced for AIDL"; + } + + auto result = mVhalClient->getAllPropConfigs(); + ASSERT_TRUE(result.ok()) << "Failed to get all property configs, error: " + << result.error().message(); + + int32_t vhalVersion = mVhalClient->getRemoteInterfaceVersion(); + const auto& configs = result.value(); + for (size_t i = 0; i < configs.size(); i++) { + int32_t propId = configs[i]->getPropId(); + if (!isSystemProp(propId)) { + continue; + } + + std::string propName = propIdToString(propId); + auto it = VersionForVehicleProperty.find(static_cast(propId)); + bool found = (it != VersionForVehicleProperty.end()); + EXPECT_TRUE(found) << "System Property: " << propName + << " is not defined in VHAL property interface"; + if (!found) { + continue; + } + int32_t requiredVersion = it->second; + EXPECT_THAT(vhalVersion, Ge(requiredVersion)) + << "System Property: " << propName << " requires VHAL version: " << requiredVersion + << ", but the current VHAL version" + << " is " << vhalVersion << ", must not be supported"; + } +} + // Test get() return current value for properties. TEST_P(VtsHalAutomotiveVehicleTargetTest, get) { ALOGD("VtsHalAutomotiveVehicleTargetTest::get"); From 0ebf5bb3ad751c90fa2c898ed9068c920d50f2a2 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 18 Dec 2023 15:42:43 -0800 Subject: [PATCH 039/198] Allow dumping comment to CSV. Allow dumping the detailed property comment to CSV file. Test: python tools/generate_annotation_enums.py --output_csv /tmp/test.csv Manually inspect the output. Bug: 316955985 Change-Id: Icfc6836b3274aa052140a79615fdf8692cb02434 --- .../tools/generate_annotation_enums.py | 62 +++++++++++++------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/automotive/vehicle/tools/generate_annotation_enums.py b/automotive/vehicle/tools/generate_annotation_enums.py index 87e9bdc851..93d408e53c 100755 --- a/automotive/vehicle/tools/generate_annotation_enums.py +++ b/automotive/vehicle/tools/generate_annotation_enums.py @@ -182,6 +182,7 @@ class PropertyConfig: def __init__(self): self.name = None self.description = None + self.comment = None self.change_mode = None self.access_modes = [] self.enum_types = [] @@ -194,8 +195,9 @@ class PropertyConfig: def __str__(self): return ('PropertyConfig{{' + 'name: {}, description: {}, change_mode: {}, access_modes: {}, enum_types: {}' + - ', unit_type: {}}}').format(self.name, self.description, self.change_mode, - self.access_modes, self.enum_types, self.unit_type) + ', unit_type: {}, version: {}, comment: {}}}').format(self.name, self.description, + self.change_mode, self.access_modes, self.enum_types, self.unit_type, + self.version, self.comment) class FileParser: @@ -221,39 +223,59 @@ class FileParser: in_comment = True config = PropertyConfig() description = '' + continue + if RE_COMMENT_END.match(line): in_comment = False if in_comment: - if not config.description: - sline = line.strip() - # Skip the first line of comment - if sline.startswith('*'): - # Remove the '*'. - sline = sline[1:].strip() - # We reach an empty line of comment, the description part is ending. - if sline == '': - config.description = description - else: - if description != '': - description += ' ' - description += sline match = RE_CHANGE_MODE.match(line) if match: config.change_mode = match.group(1).replace('VehiclePropertyChangeMode.', '') + continue match = RE_ACCESS.match(line) if match: config.access_modes.append(match.group(1).replace('VehiclePropertyAccess.', '')) + continue match = RE_UNIT.match(line) if match: config.unit_type = match.group(1) + continue match = RE_DATA_ENUM.match(line) if match: config.enum_types.append(match.group(1)) + continue match = RE_VERSION.match(line) if match: if config.version != None: raise Exception('Duplicate version annotation for property: ' + prop_name) config.version = match.group(1) + continue + + sline = line.strip() + if sline.startswith('*'): + # Remove the '*'. + sline = sline[1:].strip() + + if not config.description: + # We reach an empty line of comment, the description part is ending. + if sline == '': + config.description = description + else: + if description != '': + description += ' ' + description += sline + else: + if not config.comment: + if sline != '': + # This is the first line for comment. + config.comment = sline + else: + if sline != '': + # Concat this line with the previous line's comment with a space. + config.comment += ' ' + sline + else: + # Treat empty line comment as a new line. + config.comment += '\n' else: match = RE_VALUE.match(line) if match: @@ -319,7 +341,7 @@ class FileParser: f.write(content) def outputAsCsv(self, output): - content = 'name,description,change mode,access mode,enum type,unit type\n' + content = 'name,description,change mode,access mode,enum type,unit type,comment\n' for config in self.configs: enum_types = None if not config.enum_types: @@ -330,14 +352,18 @@ class FileParser: if not unit_type: unit_type = '/' access_modes = '' - content += '"{}","{}","{}","{}","{}","{}"\n'.format( + comment = config.comment + if not comment: + comment = '' + content += '"{}","{}","{}","{}","{}","{}", "{}"\n'.format( config.name, # Need to escape quote as double quote. config.description.replace('"', '""'), config.change_mode, '/'.join(config.access_modes), enum_types, - unit_type) + unit_type, + comment.replace('"', '""')) with open(output, 'w+') as f: f.write(content) From dba6eaa0ba834fc2a926f20eaca544fa1f502ba0 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 20 Dec 2023 23:54:38 +0000 Subject: [PATCH 040/198] Revert "Revert "Camera: VTS: Require ConstructDefaultSettings fo..." Revert submission 25718441-revert-25658204-EnableFeatureCombination-KTSPSCPBVP Reason for revert: Re-land HAL implementation of feature combination query Reverted changes: /q/submissionid:25718441-revert-25658204-EnableFeatureCombination-KTSPSCPBVP Bug: 309627704 Change-Id: Iaec3f2ea4d028216a381f6c2ef5f2f019adabc46 --- .../VtsAidlHalCameraProvider_TargetTest.cpp | 28 ++++--------------- camera/provider/aidl/vts/camera_aidl_test.cpp | 9 ++++++ camera/provider/aidl/vts/camera_aidl_test.h | 3 ++ 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e335853c28..e346010759 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -531,11 +531,7 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { } if (ret.isOk()) { - const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); - size_t expectedSize = rawMetadata.metadata.size(); - int result = validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); + validateDefaultRequestMetadata(reqTemplate, rawMetadata); } else { ASSERT_EQ(0u, rawMetadata.metadata.size()); } @@ -546,24 +542,12 @@ TEST_P(CameraAidlTest, constructDefaultRequestSettings) { ndk::ScopedAStatus ret2 = device->constructDefaultRequestSettings(reqTemplate, &rawMetadata2); - // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL - // implementation is in place. - if (static_cast(ret2.getServiceSpecificError()) != - Status::OPERATION_NOT_SUPPORTED) { - ASSERT_EQ(ret.isOk(), ret2.isOk()); - ASSERT_EQ(ret.getStatus(), ret2.getStatus()); + ASSERT_EQ(ret.isOk(), ret2.isOk()); + ASSERT_EQ(ret.getStatus(), ret2.getStatus()); - ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); - if (ret2.isOk()) { - const camera_metadata_t* metadata = - (camera_metadata_t*)rawMetadata2.metadata.data(); - size_t expectedSize = rawMetadata2.metadata.size(); - int result = - validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || - (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - verifyRequestTemplate(metadata, reqTemplate); - } + ASSERT_EQ(rawMetadata.metadata.size(), rawMetadata2.metadata.size()); + if (ret2.isOk()) { + validateDefaultRequestMetadata(reqTemplate, rawMetadata2); } } } diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 8e72b3f605..68edce0b04 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -4026,3 +4026,12 @@ void CameraAidlTest::getSupportedDurations(const camera_metadata_t* ch, uint32_t } } } + +void CameraAidlTest::validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata) { + const camera_metadata_t* metadata = (camera_metadata_t*)rawMetadata.metadata.data(); + size_t expectedSize = rawMetadata.metadata.size(); + int result = validate_camera_metadata_structure(metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + verifyRequestTemplate(metadata, reqTemplate); +} diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index b51544fb67..dbfadcfa3d 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -588,6 +588,9 @@ class CameraAidlTest : public ::testing::TestWithParam { static void waitForReleaseFence( std::vector& resultOutputBuffers); + static void validateDefaultRequestMetadata(RequestTemplate reqTemplate, + const CameraMetadata& rawMetadata); + // Map from frame number to the in-flight request state typedef std::unordered_map> InFlightMap; From 740a0a8c5ebd0218139aded763fb3204886c2dd0 Mon Sep 17 00:00:00 2001 From: Ray Chin Date: Fri, 22 Dec 2023 19:10:46 +0800 Subject: [PATCH 041/198] Blind scan should be an optional feature based on the design document Bug: 317215552 Bug: 305118733 Test: cf_x86_tv-staging-userdebug Change-Id: Id0153700cfa2c02933c23e13ca1305b0a96b00ca --- tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp | 8 ++++++++ .../aidl/vts/functional/VtsHalTvTunerTestConfigurations.h | 1 + tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h | 6 ++++++ tv/tuner/config/api/current.txt | 2 ++ tv/tuner/config/tuner_testing_dynamic_configuration.xsd | 1 + 5 files changed, 18 insertions(+) diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp index 62c84171b7..671d07965a 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp @@ -1230,6 +1230,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontend) { vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; + // Skip test if the frontend implementation doesn't support blind scan + if (!frontendMap[scan.frontendId].supportBlindScan) { + continue; + } mFrontendTests.scanTest(frontendMap[scan.frontendId], FrontendScanType::SCAN_BLIND); } } @@ -1258,6 +1262,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontendWithEndFrequency) { vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; + // Skip test if the frontend implementation doesn't support blind scan + if (!frontendMap[scan.frontendId].supportBlindScan) { + continue; + } mFrontendTests.scanTest(frontendMap[scan.frontendId], FrontendScanType::SCAN_BLIND); } } diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h index 516cb62f04..5c13ed081a 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h @@ -612,6 +612,7 @@ inline void initFrontendConfig() { frontendMap[defaultFeId].isSoftwareFe = true; frontendMap[defaultFeId].canConnectToCiCam = true; frontendMap[defaultFeId].ciCamId = 0; + frontendMap[defaultFeId].supportBlindScan = true; FrontendDvbtSettings dvbt; dvbt.transmissionMode = FrontendDvbtTransmissionMode::MODE_8K_E; frontendMap[defaultFeId].settings.set(dvbt); diff --git a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h index 9517520c18..5ffb38ffcd 100644 --- a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h +++ b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h @@ -114,6 +114,7 @@ struct FrontendConfig { FrontendSettings settings; vector tuneStatusTypes; vector expectTuneStatuses; + bool supportBlindScan; }; struct FilterConfig { @@ -354,6 +355,11 @@ struct TunerTestingConfigAidlReader1_0 { } else { hasHwFe = true; } + if (feConfig.hasSupportBlindScan()) { + frontendMap[id].supportBlindScan = feConfig.getSupportBlindScan(); + } else { + frontendMap[id].supportBlindScan = true; + } // TODO: b/182519645 complete the tune status config frontendMap[id].tuneStatusTypes = types; frontendMap[id].expectTuneStatuses = statuses; diff --git a/tv/tuner/config/api/current.txt b/tv/tuner/config/api/current.txt index dbd3486e67..ff2df90b80 100644 --- a/tv/tuner/config/api/current.txt +++ b/tv/tuner/config/api/current.txt @@ -369,6 +369,7 @@ package android.media.tuner.testing.configuration.V1_0 { method @Nullable public android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings getIsdbsFrontendSettings_optional(); method @Nullable public android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings getIsdbtFrontendSettings_optional(); method @Nullable public java.math.BigInteger getRemoveOutputPid(); + method @Nullable public boolean getSupportBlindScan(); method @Nullable public android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum getType(); method public void setAtscFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.AtscFrontendSettings); method public void setConnectToCicamId(@Nullable java.math.BigInteger); @@ -381,6 +382,7 @@ package android.media.tuner.testing.configuration.V1_0 { method public void setIsdbsFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings); method public void setIsdbtFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings); method public void setRemoveOutputPid(@Nullable java.math.BigInteger); + method public void setSupportBlindScan(@Nullable boolean); method public void setType(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum); } diff --git a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd index c51ac5183c..eafaca9a30 100644 --- a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd +++ b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd @@ -162,6 +162,7 @@ + From 9bba0a7215d75537947e19ef5621a9406f10f941 Mon Sep 17 00:00:00 2001 From: Aleti Nageshwar Reddy Date: Thu, 21 Dec 2023 12:02:55 +0530 Subject: [PATCH 042/198] P2p: Add OuiKeyedData List in ExtListen API Add configureExtListenWithParams API to configure the vendor data as OuiKeyedData List. Bug: 296069900 Test: atest VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: I7a6394b751ab61e1ca5153ce6ca6ddc55792900c --- .../wifi/supplicant/ISupplicantP2pIface.aidl | 4 ++ .../wifi/supplicant/P2pExtListenInfo.aidl | 40 +++++++++++++++++++ .../wifi/supplicant/ISupplicantP2pIface.aidl | 21 ++++++++++ .../wifi/supplicant/P2pExtListenInfo.aidl | 39 ++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl create mode 100644 wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 0729646c9a..05a7548345 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -42,6 +42,9 @@ interface ISupplicantP2pIface { void cancelConnect(); void cancelServiceDiscovery(in long identifier); void cancelWps(in String groupIfName); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use configureExtListenWithParams. + */ void configureExtListen(in int periodInMillis, in int intervalInMillis); /** * @deprecated This method is deprecated from AIDL v3, newer HALs should use connectWithParams. @@ -111,4 +114,5 @@ interface ISupplicantP2pIface { void configureEapolIpAddressAllocationParams(in int ipAddressGo, in int ipAddressMask, in int ipAddressStart, in int ipAddressEnd); String connectWithParams(in android.hardware.wifi.supplicant.P2pConnectInfo connectInfo); void findWithParams(in android.hardware.wifi.supplicant.P2pDiscoveryInfo discoveryInfo); + void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo); } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl new file mode 100644 index 0000000000..b4d8e9d92e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pExtListenInfo { + int periodMs; + int intervalMs; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 983ed154a4..8b78a4a286 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -24,6 +24,7 @@ import android.hardware.wifi.supplicant.IfaceType; import android.hardware.wifi.supplicant.MiracastMode; import android.hardware.wifi.supplicant.P2pConnectInfo; import android.hardware.wifi.supplicant.P2pDiscoveryInfo; +import android.hardware.wifi.supplicant.P2pExtListenInfo; import android.hardware.wifi.supplicant.P2pFrameTypeMask; import android.hardware.wifi.supplicant.P2pGroupCapabilityMask; import android.hardware.wifi.supplicant.WpsConfigMethods; @@ -165,6 +166,9 @@ interface ISupplicantP2pIface { * (with interval obviously having to be larger than or equal to duration). * If the P2P module is not idle at the time the Extended Listen Timing * timeout occurs, the Listen State operation must be skipped. + *

+ * @deprecated This method is deprecated from AIDL v3, newer HALs should use + * configureExtListenWithParams. * * @param periodInMillis Period in milliseconds. * @param intervalInMillis Interval in milliseconds. @@ -882,4 +886,21 @@ interface ISupplicantP2pIface { * |SupplicantStatusCode.FAILURE_IFACE_DISABLED| */ void findWithParams(in P2pDiscoveryInfo discoveryInfo); + + /** + * Configure Extended Listen Timing. + * + * If enabled, listen state must be entered every |intervalMs| for at + * least |periodMs|. Both values have acceptable range of 1-65535 + * (note that the interval must be larger than or equal to the duration). + * If the P2P module is not idle at the time the Extended Listen Timing + * timeout occurs, the Listen State operation must be skipped. + * + * @param extListenInfo Parameters to configure extended listening timing. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_ARGS_INVALID|, + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + void configureExtListenWithParams(in P2pExtListenInfo extListenInfo); } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl new file mode 100644 index 0000000000..1086c94c08 --- /dev/null +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl @@ -0,0 +1,39 @@ +/** + * 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. + */ + +package android.hardware.wifi.supplicant; + +import android.hardware.wifi.common.OuiKeyedData; + +/** + * Parameters used to configure the P2P Extended Listen Interval. + */ +@VintfStability +parcelable P2pExtListenInfo { + /** + * Period in milliseconds. + */ + int periodMs; + /** + * Interval in milliseconds. + */ + int intervalMs; + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; +} From f8e4a123d891f417589bc08fbb097817a8540225 Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Wed, 27 Dec 2023 00:43:21 +0000 Subject: [PATCH 043/198] Address ANAPIC feedback for Supplicant V3 and Vendor HAL V2. Comments addressed include: - Indicate version where methods were deprecated. - Bitmasks should use an int rather than an enum. - Use 'us' suffix instead of 'micros' for consistency with the rest of the interface. Bug: 317404786 Test: m Change-Id: I026479aaa3f358913f61c6505ff9dccb0edc5ae8 --- .../hardware/wifi/RttCapabilities.aidl | 4 +-- .../hardware/wifi/TwtCapabilities.aidl | 8 ++--- .../android/hardware/wifi/TwtRequest.aidl | 8 ++--- .../android/hardware/wifi/TwtSession.aidl | 4 +-- .../hardware/wifi/TwtSessionStats.aidl | 2 +- .../hardware/wifi/RttCapabilities.aidl | 4 +-- .../hardware/wifi/TwtCapabilities.aidl | 8 ++--- .../android/hardware/wifi/TwtRequest.aidl | 8 ++--- .../android/hardware/wifi/TwtSession.aidl | 4 +-- .../hardware/wifi/TwtSessionStats.aidl | 2 +- wifi/aidl/default/aidl_struct_util.cpp | 34 +++++++++---------- .../ISupplicantP2pIfaceCallback.aidl | 2 +- .../ISupplicantStaIfaceCallback.aidl | 2 +- ...rovisionDiscoveryCompletedEventParams.aidl | 2 +- .../ISupplicantP2pIfaceCallback.aidl | 2 +- .../ISupplicantStaIfaceCallback.aidl | 2 +- ...rovisionDiscoveryCompletedEventParams.aidl | 5 ++- 17 files changed, 50 insertions(+), 51 deletions(-) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl index 83f3f7e30d..af1647dd5d 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl @@ -42,8 +42,8 @@ parcelable RttCapabilities { android.hardware.wifi.RttPreamble preambleSupport; android.hardware.wifi.RttBw bwSupport; byte mcVersion; - android.hardware.wifi.RttPreamble azPreambleSupport; - android.hardware.wifi.RttBw azBwSupport; + int azPreambleSupport; + int azBwSupport; boolean ntbInitiatorSupported; boolean ntbResponderSupported; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl index d6ed62e943..75f3e83829 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtCapabilities.aidl @@ -38,8 +38,8 @@ parcelable TwtCapabilities { boolean isTwtResponderSupported; boolean isBroadcastTwtSupported; boolean isFlexibleTwtScheduleSupported; - int minWakeDurationMicros; - int maxWakeDurationMicros; - long minWakeIntervalMicros; - long maxWakeIntervalMicros; + int minWakeDurationUs; + int maxWakeDurationUs; + long minWakeIntervalUs; + long maxWakeIntervalUs; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl index 06c7ae2433..1e1c39a914 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtRequest.aidl @@ -35,8 +35,8 @@ package android.hardware.wifi; @VintfStability parcelable TwtRequest { int mloLinkId; - int minWakeDurationMicros; - int maxWakeDurationMicros; - long minWakeIntervalMicros; - long maxWakeIntervalMicros; + int minWakeDurationUs; + int maxWakeDurationUs; + long minWakeIntervalUs; + long maxWakeIntervalUs; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl index 4e5ca44f17..0b88d8e75d 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSession.aidl @@ -36,8 +36,8 @@ package android.hardware.wifi; parcelable TwtSession { int sessionId; int mloLinkId; - int wakeDurationMicros; - long wakeIntervalMicros; + int wakeDurationUs; + long wakeIntervalUs; android.hardware.wifi.TwtSession.TwtNegotiationType negotiationType; boolean isTriggerEnabled; boolean isAnnounced; diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSessionStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSessionStats.aidl index 528444a84b..f62b614146 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSessionStats.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/TwtSessionStats.aidl @@ -38,6 +38,6 @@ parcelable TwtSessionStats { int avgRxPktCount; int avgTxPktSize; int avgRxPktSize; - int avgEospDurationMicros; + int avgEospDurationUs; int eospCount; } diff --git a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl index c4b7d24b6f..89b70c9e00 100644 --- a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl @@ -64,12 +64,12 @@ parcelable RttCapabilities { * Bit mask indicating what preamble is supported by IEEE 802.11az initiator. * Combination of |RttPreamble| values. */ - RttPreamble azPreambleSupport; + int azPreambleSupport; /** * Bit mask indicating what BW is supported by IEEE 802.11az initiator. * Combination of |RttBw| values. */ - RttBw azBwSupport; + int azBwSupport; /** * Whether the initiator supports IEEE 802.11az Non-Trigger-based (non-TB) measurement. */ diff --git a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl index 4012c3ed73..5d68a5727f 100644 --- a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl @@ -40,17 +40,17 @@ parcelable TwtCapabilities { /** * Minimum TWT wake duration in microseconds. */ - int minWakeDurationMicros; + int minWakeDurationUs; /** * Maximum TWT wake duration in microseconds. */ - int maxWakeDurationMicros; + int maxWakeDurationUs; /** * Minimum TWT wake interval in microseconds. */ - long minWakeIntervalMicros; + long minWakeIntervalUs; /** * Maximum TWT wake interval in microseconds. */ - long maxWakeIntervalMicros; + long maxWakeIntervalUs; } diff --git a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl index b063da3911..cdb9a7dea0 100644 --- a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl @@ -28,17 +28,17 @@ parcelable TwtRequest { /** * Minimum TWT wake duration in microseconds. */ - int minWakeDurationMicros; + int minWakeDurationUs; /** * Maximum TWT wake duration in microseconds. */ - int maxWakeDurationMicros; + int maxWakeDurationUs; /** * Minimum TWT wake interval in microseconds. */ - long minWakeIntervalMicros; + long minWakeIntervalUs; /** * Maximum TWT wake interval in microseconds. */ - long maxWakeIntervalMicros; + long maxWakeIntervalUs; } diff --git a/wifi/aidl/android/hardware/wifi/TwtSession.aidl b/wifi/aidl/android/hardware/wifi/TwtSession.aidl index 6b780f8343..2d7e819df7 100644 --- a/wifi/aidl/android/hardware/wifi/TwtSession.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtSession.aidl @@ -41,12 +41,12 @@ parcelable TwtSession { /** * TWT service period in microseconds. */ - int wakeDurationMicros; + int wakeDurationUs; /** * Time interval in microseconds between two successive TWT service periods. */ - long wakeIntervalMicros; + long wakeIntervalUs; /** * TWT negotiation type. diff --git a/wifi/aidl/android/hardware/wifi/TwtSessionStats.aidl b/wifi/aidl/android/hardware/wifi/TwtSessionStats.aidl index e2e2d12b7e..ba70426da1 100644 --- a/wifi/aidl/android/hardware/wifi/TwtSessionStats.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtSessionStats.aidl @@ -44,7 +44,7 @@ parcelable TwtSessionStats { /** * Average End of Service period in microseconds. */ - int avgEospDurationMicros; + int avgEospDurationUs; /** * Count of early terminations. diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp index 7e7929d392..836ce1a9b6 100644 --- a/wifi/aidl/default/aidl_struct_util.cpp +++ b/wifi/aidl/default/aidl_struct_util.cpp @@ -2886,8 +2886,8 @@ bool convertLegacyRttCapabilitiesToAidl( aidl_capabilities->bwSupport = convertLegacyRttBwBitmapToAidl(legacy_capabilities.bw_support); aidl_capabilities->mcVersion = legacy_capabilities.mc_version; // Initialize 11az parameters to default - aidl_capabilities->azPreambleSupport = RttPreamble::INVALID; - aidl_capabilities->azBwSupport = RttBw::BW_UNSPECIFIED; + aidl_capabilities->azPreambleSupport = (int)RttPreamble::INVALID; + aidl_capabilities->azBwSupport = (int)RttBw::BW_UNSPECIFIED; aidl_capabilities->ntbInitiatorSupported = false; aidl_capabilities->ntbResponderSupported = false; return true; @@ -2912,9 +2912,9 @@ bool convertLegacyRttCapabilitiesV3ToAidl( convertLegacyRttBwBitmapToAidl(legacy_capabilities_v3.rtt_capab.bw_support); aidl_capabilities->mcVersion = legacy_capabilities_v3.rtt_capab.mc_version; aidl_capabilities->azPreambleSupport = - convertLegacyRttPreambleBitmapToAidl(legacy_capabilities_v3.az_preamble_support); + (int)convertLegacyRttPreambleBitmapToAidl(legacy_capabilities_v3.az_preamble_support); aidl_capabilities->azBwSupport = - convertLegacyRttBwBitmapToAidl(legacy_capabilities_v3.az_bw_support); + (int)convertLegacyRttBwBitmapToAidl(legacy_capabilities_v3.az_bw_support); aidl_capabilities->ntbInitiatorSupported = legacy_capabilities_v3.ntb_initiator_supported; aidl_capabilities->ntbResponderSupported = legacy_capabilities_v3.ntb_responder_supported; return true; @@ -3587,13 +3587,13 @@ bool convertTwtCapabilitiesToAidl(legacy_hal::wifi_twt_capabilities legacy_twt_c if (legacy_twt_capabs.min_wake_duration_micros > legacy_twt_capabs.max_wake_duration_micros) { return false; } - aidl_twt_capabs->minWakeDurationMicros = legacy_twt_capabs.min_wake_duration_micros; - aidl_twt_capabs->maxWakeDurationMicros = legacy_twt_capabs.max_wake_duration_micros; + aidl_twt_capabs->minWakeDurationUs = legacy_twt_capabs.min_wake_duration_micros; + aidl_twt_capabs->maxWakeDurationUs = legacy_twt_capabs.max_wake_duration_micros; if (legacy_twt_capabs.min_wake_interval_micros > legacy_twt_capabs.max_wake_interval_micros) { return false; } - aidl_twt_capabs->minWakeIntervalMicros = legacy_twt_capabs.min_wake_interval_micros; - aidl_twt_capabs->maxWakeIntervalMicros = legacy_twt_capabs.max_wake_interval_micros; + aidl_twt_capabs->minWakeIntervalUs = legacy_twt_capabs.min_wake_interval_micros; + aidl_twt_capabs->maxWakeIntervalUs = legacy_twt_capabs.max_wake_interval_micros; return true; } @@ -3603,16 +3603,16 @@ bool convertAidlTwtRequestToLegacy(const TwtRequest aidl_twt_request, return false; } legacy_twt_request->mlo_link_id = aidl_twt_request.mloLinkId; - if (aidl_twt_request.minWakeDurationMicros > aidl_twt_request.maxWakeDurationMicros) { + if (aidl_twt_request.minWakeDurationUs > aidl_twt_request.maxWakeDurationUs) { return false; } - legacy_twt_request->min_wake_duration_micros = aidl_twt_request.minWakeDurationMicros; - legacy_twt_request->max_wake_duration_micros = aidl_twt_request.maxWakeDurationMicros; - if (aidl_twt_request.minWakeIntervalMicros > aidl_twt_request.maxWakeIntervalMicros) { + legacy_twt_request->min_wake_duration_micros = aidl_twt_request.minWakeDurationUs; + legacy_twt_request->max_wake_duration_micros = aidl_twt_request.maxWakeDurationUs; + if (aidl_twt_request.minWakeIntervalUs > aidl_twt_request.maxWakeIntervalUs) { return false; } - legacy_twt_request->min_wake_interval_micros = aidl_twt_request.minWakeIntervalMicros; - legacy_twt_request->max_wake_interval_micros = aidl_twt_request.maxWakeIntervalMicros; + legacy_twt_request->min_wake_interval_micros = aidl_twt_request.minWakeIntervalUs; + legacy_twt_request->max_wake_interval_micros = aidl_twt_request.maxWakeIntervalUs; return true; } @@ -3664,8 +3664,8 @@ bool convertLegacyHalTwtSessionToAidl(legacy_hal::wifi_twt_session twt_session, aidl_twt_session->sessionId = twt_session.session_id; aidl_twt_session->mloLinkId = twt_session.mlo_link_id; - aidl_twt_session->wakeDurationMicros = twt_session.wake_duration_micros; - aidl_twt_session->wakeIntervalMicros = twt_session.wake_interval_micros; + aidl_twt_session->wakeDurationUs = twt_session.wake_duration_micros; + aidl_twt_session->wakeIntervalUs = twt_session.wake_interval_micros; switch (twt_session.negotiation_type) { case WIFI_TWT_NEGO_TYPE_INDIVIDUAL: aidl_twt_session->negotiationType = TwtSession::TwtNegotiationType::INDIVIDUAL; @@ -3696,7 +3696,7 @@ bool convertLegacyHalTwtSessionStatsToAidl(legacy_hal::wifi_twt_session_stats tw aidl_twt_stats->avgRxPktCount = twt_stats.avg_pkt_num_rx; aidl_twt_stats->avgTxPktSize = twt_stats.avg_tx_pkt_size; aidl_twt_stats->avgRxPktSize = twt_stats.avg_rx_pkt_size; - aidl_twt_stats->avgEospDurationMicros = twt_stats.avg_eosp_dur_us; + aidl_twt_stats->avgEospDurationUs = twt_stats.avg_eosp_dur_us; aidl_twt_stats->eospCount = twt_stats.eosp_count; return true; diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl index 851e85107b..4811565b44 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl @@ -35,7 +35,7 @@ package android.hardware.wifi.supplicant; @VintfStability interface ISupplicantP2pIfaceCallback { /** - * @deprecated This callback is deprecated from AIDL v2, newer HAL should call onDeviceFoundWithParams. + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onDeviceFoundWithParams. */ oneway void onDeviceFound(in byte[] srcAddress, in byte[] p2pDeviceAddress, in byte[] primaryDeviceType, in String deviceName, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in byte deviceCapabilities, in android.hardware.wifi.supplicant.P2pGroupCapabilityMask groupCapabilities, in byte[] wfdDeviceInfo); oneway void onDeviceLost(in byte[] p2pDeviceAddress); diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl index 898c2d4dd7..9fa8f56cd5 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl @@ -54,7 +54,7 @@ interface ISupplicantStaIfaceCallback { oneway void onExtRadioWorkTimeout(in int id); oneway void onHs20DeauthImminentNotice(in byte[] bssid, in int reasonCode, in int reAuthDelayInSec, in String url); /** - * @deprecated No longer in use. + * @deprecated This callback is deprecated from AIDL v3. */ oneway void onHs20IconQueryDone(in byte[] bssid, in String fileName, in byte[] data); oneway void onHs20SubscriptionRemediation(in byte[] bssid, in android.hardware.wifi.supplicant.OsuMethod osuMethod, in String url); diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl index 0ff06536b3..46366cc8d3 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl @@ -37,7 +37,7 @@ parcelable P2pProvisionDiscoveryCompletedEventParams { byte[6] p2pDeviceAddress; boolean isRequest; android.hardware.wifi.supplicant.P2pProvDiscStatusCode status; - android.hardware.wifi.supplicant.WpsConfigMethods configMethods; + int configMethods; String generatedPin; String groupInterfaceName; @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl index 11cd867933..b9273a83ea 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl @@ -40,7 +40,7 @@ oneway interface ISupplicantP2pIfaceCallback { /** * Used to indicate that a P2P device has been found. *

- * @deprecated This callback is deprecated from AIDL v2, newer HAL should call + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call * onDeviceFoundWithParams. * * @param srcAddress MAC address of the device found. This must either diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl index 58893ebf66..172fcda26f 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl @@ -198,7 +198,7 @@ oneway interface ISupplicantStaIfaceCallback { /** * Used to indicate the result of Hotspot 2.0 Icon query. * - * @deprecated No longer in use. + * @deprecated This callback is deprecated from AIDL v3. * * @param bssid BSSID of the access point. * @param fileName Name of the file that was requested. diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl index b559216611..05152a9454 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl @@ -18,7 +18,6 @@ package android.hardware.wifi.supplicant; import android.hardware.wifi.common.OuiKeyedData; import android.hardware.wifi.supplicant.P2pProvDiscStatusCode; -import android.hardware.wifi.supplicant.WpsConfigMethods; /** * Parameters passed as a part of P2P provision discovery frame notification. @@ -34,8 +33,8 @@ parcelable P2pProvisionDiscoveryCompletedEventParams { boolean isRequest; /** Status of the provision discovery */ P2pProvDiscStatusCode status; - /** Mask of WPS configuration methods supported */ - WpsConfigMethods configMethods; + /** Mask of |WpsConfigMethods| indicating the supported methods */ + int configMethods; /** 8-digit pin generated */ String generatedPin; /** From 074aded4469ba9f5efd6f49cd6db0ca7a2fc3435 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Wed, 27 Dec 2023 09:43:50 +0000 Subject: [PATCH 044/198] Avoid SE VTS crash Add null check for res.args. Bug: 255656026 Test: compiles Change-Id: I3d018b2c8d192ae35d5cc7f837f730ecf3ace65d --- .../1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp | 1 + .../1.1/vts/functional/VtsHalSecureElementV1_1TargetTest.cpp | 1 + .../1.2/vts/functional/VtsHalSecureElementV1_2TargetTest.cpp | 3 +++ 3 files changed, 5 insertions(+) diff --git a/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp b/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp index 63c2ecafb3..1623960cb5 100644 --- a/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp +++ b/secure_element/1.0/vts/functional/VtsHalSecureElementV1_0TargetTest.cpp @@ -75,6 +75,7 @@ class SecureElementHidlTest : public ::testing::TestWithParam { se_->init(se_cb_); auto res = se_cb_->WaitForCallback(kCallbackNameOnStateChange); EXPECT_TRUE(res.no_timeout); + ASSERT_TRUE(res.args); EXPECT_TRUE(res.args->state_); } diff --git a/secure_element/1.1/vts/functional/VtsHalSecureElementV1_1TargetTest.cpp b/secure_element/1.1/vts/functional/VtsHalSecureElementV1_1TargetTest.cpp index 234c33ca69..d7e45463ef 100644 --- a/secure_element/1.1/vts/functional/VtsHalSecureElementV1_1TargetTest.cpp +++ b/secure_element/1.1/vts/functional/VtsHalSecureElementV1_1TargetTest.cpp @@ -72,6 +72,7 @@ class SecureElementHidlTest : public ::testing::TestWithParam { se_->init_1_1(se_cb_); auto res = se_cb_->WaitForCallback(kCallbackNameOnStateChange); EXPECT_TRUE(res.no_timeout); + ASSERT_TRUE(res.args); EXPECT_TRUE(res.args->state_); EXPECT_NE(res.args->reason_, ""); } diff --git a/secure_element/1.2/vts/functional/VtsHalSecureElementV1_2TargetTest.cpp b/secure_element/1.2/vts/functional/VtsHalSecureElementV1_2TargetTest.cpp index 66d581e223..26b2ded146 100644 --- a/secure_element/1.2/vts/functional/VtsHalSecureElementV1_2TargetTest.cpp +++ b/secure_element/1.2/vts/functional/VtsHalSecureElementV1_2TargetTest.cpp @@ -73,6 +73,7 @@ class SecureElementHidlTest : public ::testing::TestWithParam { se_->init_1_1(se_cb_); auto res = se_cb_->WaitForCallback(kCallbackNameOnStateChange); EXPECT_TRUE(res.no_timeout); + ASSERT_TRUE(res.args); EXPECT_TRUE(res.args->state_); EXPECT_NE(res.args->reason_, ""); } @@ -93,10 +94,12 @@ TEST_P(SecureElementHidlTest, Reset) { auto res = se_cb_->WaitForCallback(kCallbackNameOnStateChange); EXPECT_TRUE(res.no_timeout); + ASSERT_TRUE(res.args); EXPECT_FALSE(res.args->state_); res = se_cb_->WaitForCallback(kCallbackNameOnStateChange); EXPECT_TRUE(res.no_timeout); + ASSERT_TRUE(res.args); EXPECT_TRUE(res.args->state_); } From a00d246f2725b22d32b2908230de7620238827ba Mon Sep 17 00:00:00 2001 From: Ady Abraham Date: Tue, 26 Dec 2023 14:21:20 -0800 Subject: [PATCH 045/198] composer: vts: add support for batched create/destroy layers Bug: 315517904 Test: TBD Change-Id: Ic3c0415612b1387671ab8efa0ec95ed727f6bf68 --- graphics/composer/aidl/vts/ReadbackVts.cpp | 4 +- graphics/composer/aidl/vts/ReadbackVts.h | 12 +- .../composer/aidl/vts/VtsComposerClient.cpp | 45 +++- .../composer/aidl/vts/VtsComposerClient.h | 12 +- .../VtsHalGraphicsComposer3_ReadbackTest.cpp | 59 ++-- .../VtsHalGraphicsComposer3_TargetTest.cpp | 251 ++++++++++++------ 6 files changed, 253 insertions(+), 130 deletions(-) diff --git a/graphics/composer/aidl/vts/ReadbackVts.cpp b/graphics/composer/aidl/vts/ReadbackVts.cpp index 8605628098..c72ec6974f 100644 --- a/graphics/composer/aidl/vts/ReadbackVts.cpp +++ b/graphics/composer/aidl/vts/ReadbackVts.cpp @@ -293,8 +293,8 @@ LayerSettings TestColorLayer::toRenderEngineLayerSettings() { TestBufferLayer::TestBufferLayer(const std::shared_ptr& client, TestRenderEngine& renderEngine, int64_t display, uint32_t width, uint32_t height, common::PixelFormat format, - Composition composition) - : TestLayer{client, display}, mRenderEngine(renderEngine) { + ComposerClientWriter& writer, Composition composition) + : TestLayer{client, display, writer}, mRenderEngine(renderEngine) { mComposition = composition; mWidth = width; mHeight = height; diff --git a/graphics/composer/aidl/vts/ReadbackVts.h b/graphics/composer/aidl/vts/ReadbackVts.h index ee205735f1..8ac0f4bb99 100644 --- a/graphics/composer/aidl/vts/ReadbackVts.h +++ b/graphics/composer/aidl/vts/ReadbackVts.h @@ -50,9 +50,10 @@ class TestRenderEngine; class TestLayer { public: - TestLayer(const std::shared_ptr& client, int64_t display) + TestLayer(const std::shared_ptr& client, int64_t display, + ComposerClientWriter& writer) : mDisplay(display) { - const auto& [status, layer] = client->createLayer(display, kBufferSlotCount); + const auto& [status, layer] = client->createLayer(display, kBufferSlotCount, &writer); EXPECT_TRUE(status.isOk()); mLayer = layer; } @@ -108,8 +109,9 @@ class TestLayer { class TestColorLayer : public TestLayer { public: - TestColorLayer(const std::shared_ptr& client, int64_t display) - : TestLayer{client, display} {} + TestColorLayer(const std::shared_ptr& client, int64_t display, + ComposerClientWriter& writer) + : TestLayer{client, display, writer} {} void write(ComposerClientWriter& writer) override; @@ -125,7 +127,7 @@ class TestBufferLayer : public TestLayer { public: TestBufferLayer(const std::shared_ptr& client, TestRenderEngine& renderEngine, int64_t display, uint32_t width, - uint32_t height, common::PixelFormat format, + uint32_t height, common::PixelFormat format, ComposerClientWriter& writer, Composition composition = Composition::DEVICE); void write(ComposerClientWriter& writer) override; diff --git a/graphics/composer/aidl/vts/VtsComposerClient.cpp b/graphics/composer/aidl/vts/VtsComposerClient.cpp index ac08cd151f..2c24bfb8f5 100644 --- a/graphics/composer/aidl/vts/VtsComposerClient.cpp +++ b/graphics/composer/aidl/vts/VtsComposerClient.cpp @@ -33,6 +33,14 @@ VtsComposerClient::VtsComposerClient(const std::string& name) { mComposer = IComposer::fromBinder(binder); ALOGE_IF(mComposer == nullptr, "Failed to acquire the composer from the binder"); } + + const auto& [status, capabilities] = getCapabilities(); + EXPECT_TRUE(status.isOk()); + if (std::any_of(capabilities.begin(), capabilities.end(), [&](const Capability& cap) { + return cap == Capability::LAYER_LIFECYCLE_BATCH_COMMAND; + })) { + mSupportsBatchedCreateLayer = true; + } } ScopedAStatus VtsComposerClient::createClient() { @@ -54,8 +62,8 @@ ScopedAStatus VtsComposerClient::createClient() { return mComposerClient->registerCallback(mComposerCallback); } -bool VtsComposerClient::tearDown() { - return verifyComposerCallbackParams() && destroyAllLayers(); +bool VtsComposerClient::tearDown(ComposerClientWriter* writer) { + return verifyComposerCallbackParams() && destroyAllLayers(writer); } std::pair VtsComposerClient::getInterfaceVersion() const { @@ -86,7 +94,16 @@ ScopedAStatus VtsComposerClient::destroyVirtualDisplay(int64_t display) { } std::pair VtsComposerClient::createLayer(int64_t display, - int32_t bufferSlotCount) { + int32_t bufferSlotCount, + ComposerClientWriter* writer) { + if (mSupportsBatchedCreateLayer) { + int64_t layer = mNextLayerHandle++; + writer->setLayerLifecycleBatchCommandType(display, layer, + LayerLifecycleBatchCommandType::CREATE); + writer->setNewBufferSlotCount(display, layer, bufferSlotCount); + return {addLayerToDisplayResources(display, layer), layer}; + } + int64_t outLayer; auto status = mComposerClient->createLayer(display, bufferSlotCount, &outLayer); @@ -96,14 +113,20 @@ std::pair VtsComposerClient::createLayer(int64_t display return {addLayerToDisplayResources(display, outLayer), outLayer}; } -ScopedAStatus VtsComposerClient::destroyLayer(int64_t display, int64_t layer) { - auto status = mComposerClient->destroyLayer(display, layer); - - if (!status.isOk()) { - return status; +ScopedAStatus VtsComposerClient::destroyLayer(int64_t display, int64_t layer, + ComposerClientWriter* writer) { + if (mSupportsBatchedCreateLayer) { + writer->setLayerLifecycleBatchCommandType(display, layer, + LayerLifecycleBatchCommandType::DESTROY); + } else { + auto status = mComposerClient->destroyLayer(display, layer); + if (!status.isOk()) { + return status; + } } + removeLayerFromDisplayResources(display, layer); - return status; + return ScopedAStatus::ok(); } std::pair VtsComposerClient::getActiveConfig(int64_t display) { @@ -632,7 +655,7 @@ bool VtsComposerClient::getDisplayConfigurationSupported() const { return interfaceVersion >= 3; } -bool VtsComposerClient::destroyAllLayers() { +bool VtsComposerClient::destroyAllLayers(ComposerClientWriter* writer) { std::unordered_map physicalDisplays; while (!mDisplayResources.empty()) { const auto& it = mDisplayResources.begin(); @@ -640,7 +663,7 @@ bool VtsComposerClient::destroyAllLayers() { while (!resource.layers.empty()) { auto layer = *resource.layers.begin(); - const auto status = destroyLayer(display, layer); + const auto status = destroyLayer(display, layer, writer); if (!status.isOk()) { ALOGE("Unable to destroy all the layers, failed at layer %" PRId64 " with error %s", layer, status.getDescription().c_str()); diff --git a/graphics/composer/aidl/vts/VtsComposerClient.h b/graphics/composer/aidl/vts/VtsComposerClient.h index 292bc407f8..fabc82a7a6 100644 --- a/graphics/composer/aidl/vts/VtsComposerClient.h +++ b/graphics/composer/aidl/vts/VtsComposerClient.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -59,7 +60,7 @@ class VtsComposerClient { ScopedAStatus createClient(); - bool tearDown(); + bool tearDown(ComposerClientWriter*); std::pair getInterfaceVersion() const; @@ -69,9 +70,10 @@ class VtsComposerClient { ScopedAStatus destroyVirtualDisplay(int64_t display); - std::pair createLayer(int64_t display, int32_t bufferSlotCount); + std::pair createLayer(int64_t display, int32_t bufferSlotCount, + ComposerClientWriter*); - ScopedAStatus destroyLayer(int64_t display, int64_t layer); + ScopedAStatus destroyLayer(int64_t display, int64_t layer, ComposerClientWriter*); std::pair getActiveConfig(int64_t display); @@ -211,7 +213,7 @@ class VtsComposerClient { void removeLayerFromDisplayResources(int64_t display, int64_t layer); - bool destroyAllLayers(); + bool destroyAllLayers(ComposerClientWriter*); bool verifyComposerCallbackParams(); @@ -229,6 +231,8 @@ class VtsComposerClient { std::shared_ptr mComposerClient; std::shared_ptr mComposerCallback; std::unordered_map mDisplayResources; + bool mSupportsBatchedCreateLayer = false; + std::atomic mNextLayerHandle = 1; }; class VtsDisplay { diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp index 2e3f4df015..164e6d5cab 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp @@ -86,7 +86,7 @@ class GraphicsCompositionTestBase : public ::testing::Test { void TearDown() override { ASSERT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); - ASSERT_TRUE(mComposerClient->tearDown()); + ASSERT_TRUE(mComposerClient->tearDown(mWriter.get())); mComposerClient.reset(); const auto errors = mReader.takeErrors(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -201,7 +201,8 @@ TEST_P(GraphicsCompositionTest, SingleSolidColorLayer) { return; } - auto layer = std::make_shared(mComposerClient, getPrimaryDisplayId()); + auto layer = + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); common::Rect coloredSquare({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setColor(BLUE); layer->setDisplayFrame(coloredSquare); @@ -270,7 +271,7 @@ TEST_P(GraphicsCompositionTest, SetLayerBuffer) { auto layer = std::make_shared( mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), common::PixelFormat::RGBA_8888); + getDisplayHeight(), common::PixelFormat::RGBA_8888, *mWriter); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); layer->setDataspace(ReadbackHelper::getDataspaceForColorMode(mode)); @@ -315,7 +316,8 @@ TEST_P(GraphicsCompositionTest, SetLayerBufferNoEffect) { return; } - auto layer = std::make_shared(mComposerClient, getPrimaryDisplayId()); + auto layer = + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); common::Rect coloredSquare({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setColor(BLUE); layer->setDisplayFrame(coloredSquare); @@ -454,9 +456,9 @@ TEST_P(GraphicsCompositionTest, ClientComposition) { expectedColors, getDisplayWidth(), {0, getDisplayHeight() / 2, getDisplayWidth(), getDisplayHeight()}, BLUE); - auto layer = std::make_shared(mComposerClient, *mTestRenderEngine, - getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), PixelFormat::RGBA_FP16); + auto layer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight(), PixelFormat::RGBA_FP16, *mWriter); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); layer->setDataspace(ReadbackHelper::getDataspaceForColorMode(mode)); @@ -550,7 +552,7 @@ TEST_P(GraphicsCompositionTest, DeviceAndClientComposition) { auto deviceLayer = std::make_shared( mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight() / 2, PixelFormat::RGBA_8888); + getDisplayHeight() / 2, PixelFormat::RGBA_8888, *mWriter); std::vector deviceColors(deviceLayer->getWidth() * deviceLayer->getHeight()); ReadbackHelper::fillColorsArea(deviceColors, static_cast(deviceLayer->getWidth()), {0, 0, static_cast(deviceLayer->getWidth()), @@ -574,7 +576,7 @@ TEST_P(GraphicsCompositionTest, DeviceAndClientComposition) { auto clientLayer = std::make_shared( mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), clientWidth, - clientHeight, PixelFormat::RGBA_FP16, Composition::DEVICE); + clientHeight, PixelFormat::RGBA_FP16, *mWriter, Composition::DEVICE); common::Rect clientFrame = {0, getDisplayHeight() / 2, getDisplayWidth(), getDisplayHeight()}; clientLayer->setDisplayFrame(clientFrame); @@ -643,9 +645,9 @@ TEST_P(GraphicsCompositionTest, SetLayerDamage) { static_cast(getDisplayWidth() * getDisplayHeight())); ReadbackHelper::fillColorsArea(expectedColors, getDisplayWidth(), redRect, RED); - auto layer = std::make_shared(mComposerClient, *mTestRenderEngine, - getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), PixelFormat::RGBA_8888); + auto layer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight(), PixelFormat::RGBA_8888, *mWriter); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); layer->setDataspace(ReadbackHelper::getDataspaceForColorMode(mode)); @@ -714,7 +716,8 @@ TEST_P(GraphicsCompositionTest, SetLayerPlaneAlpha) { return; } - auto layer = std::make_shared(mComposerClient, getPrimaryDisplayId()); + auto layer = + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); layer->setColor(RED); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); @@ -774,9 +777,9 @@ TEST_P(GraphicsCompositionTest, SetLayerSourceCrop) { expectedColors, getDisplayWidth(), {0, getDisplayHeight() / 2, getDisplayWidth(), getDisplayHeight()}, BLUE); - auto layer = std::make_shared(mComposerClient, *mTestRenderEngine, - getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), PixelFormat::RGBA_8888); + auto layer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight(), PixelFormat::RGBA_8888, *mWriter); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); layer->setDataspace(ReadbackHelper::getDataspaceForColorMode(mode)); @@ -828,11 +831,13 @@ TEST_P(GraphicsCompositionTest, SetLayerZOrder) { common::Rect redRect = {0, 0, getDisplayWidth(), getDisplayHeight() / 2}; common::Rect blueRect = {0, getDisplayHeight() / 4, getDisplayWidth(), getDisplayHeight()}; - auto redLayer = std::make_shared(mComposerClient, getPrimaryDisplayId()); + auto redLayer = + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); redLayer->setColor(RED); redLayer->setDisplayFrame(redRect); - auto blueLayer = std::make_shared(mComposerClient, getPrimaryDisplayId()); + auto blueLayer = + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); blueLayer->setColor(BLUE); blueLayer->setDisplayFrame(blueRect); blueLayer->setZOrder(5); @@ -914,14 +919,14 @@ TEST_P(GraphicsCompositionTest, SetLayerBrightnessDims) { static constexpr float kMaxBrightnessNits = 300.f; const auto redLayer = - std::make_shared(mComposerClient, getPrimaryDisplayId()); + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); redLayer->setColor(RED); redLayer->setDisplayFrame(redRect); redLayer->setWhitePointNits(kMaxBrightnessNits); redLayer->setBrightness(1.f); const auto dimmerRedLayer = - std::make_shared(mComposerClient, getPrimaryDisplayId()); + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); dimmerRedLayer->setColor(RED); dimmerRedLayer->setDisplayFrame(dimmerRedRect); // Intentionally use a small dimming ratio as some implementations may be more likely to @@ -992,14 +997,14 @@ class GraphicsBlendModeCompositionTest mTopLayerColor); auto backgroundLayer = - std::make_shared(mComposerClient, getPrimaryDisplayId()); + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); backgroundLayer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); backgroundLayer->setZOrder(0); backgroundLayer->setColor(mBackgroundColor); - auto layer = std::make_shared(mComposerClient, *mTestRenderEngine, - getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), PixelFormat::RGBA_8888); + auto layer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight(), PixelFormat::RGBA_8888, *mWriter); layer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); layer->setZOrder(10); layer->setDataspace(Dataspace::UNKNOWN); @@ -1190,7 +1195,7 @@ class GraphicsTransformCompositionTest : public GraphicsCompositionTest { GraphicsCompositionTest::SetUp(); auto backgroundLayer = - std::make_shared(mComposerClient, getPrimaryDisplayId()); + std::make_shared(mComposerClient, getPrimaryDisplayId(), *mWriter); backgroundLayer->setColor({0.0f, 0.0f, 0.0f, 0.0f}); backgroundLayer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); backgroundLayer->setZOrder(0); @@ -1202,7 +1207,7 @@ class GraphicsTransformCompositionTest : public GraphicsCompositionTest { mLayer = std::make_shared(mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), mSideLength, mSideLength, - PixelFormat::RGBA_8888); + PixelFormat::RGBA_8888, *mWriter); mLayer->setDisplayFrame({0, 0, mSideLength, mSideLength}); mLayer->setZOrder(10); @@ -1388,7 +1393,7 @@ class GraphicsColorManagementCompositionTest void makeLayer() { mLayer = std::make_shared( mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), - getDisplayHeight(), common::PixelFormat::RGBA_8888); + getDisplayHeight(), common::PixelFormat::RGBA_8888, *mWriter); mLayer->setDisplayFrame({0, 0, getDisplayWidth(), getDisplayHeight()}); mLayer->setZOrder(10); mLayer->setAlpha(1.f); diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 2b755c2c42..5ff420a05b 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -70,7 +70,7 @@ class GraphicsComposerAidlTest : public ::testing::TestWithParam { } void TearDown() override { - ASSERT_TRUE(mComposerClient->tearDown()); + ASSERT_TRUE(mComposerClient->tearDown(nullptr)); mComposerClient.reset(); } @@ -832,36 +832,58 @@ TEST_P(GraphicsComposerAidlTest, DestroyVirtualDisplay_BadDisplay) { } TEST_P(GraphicsComposerAidlTest, CreateLayer) { + if (hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "Create layer will be tested in GraphicsComposerAidlBatchedCommandTest"; + return; + } + const auto& [status, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, nullptr); EXPECT_TRUE(status.isOk()); - EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer).isOk()); + EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer, nullptr).isOk()); } TEST_P(GraphicsComposerAidlTest, CreateLayer_BadDisplay) { - const auto& [status, _] = mComposerClient->createLayer(getInvalidDisplayId(), kBufferSlotCount); + if (hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "Create layer will be tested in GraphicsComposerAidlBatchedCommandTest"; + return; + } + + const auto& [status, _] = + mComposerClient->createLayer(getInvalidDisplayId(), kBufferSlotCount, nullptr); EXPECT_FALSE(status.isOk()); EXPECT_NO_FATAL_FAILURE(assertServiceSpecificError(status, IComposerClient::EX_BAD_DISPLAY)); } TEST_P(GraphicsComposerAidlTest, DestroyLayer_BadDisplay) { + if (hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "Destroy layer will be tested in GraphicsComposerAidlBatchedCommandTest"; + return; + } + const auto& [status, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, nullptr); EXPECT_TRUE(status.isOk()); - const auto& destroyStatus = mComposerClient->destroyLayer(getInvalidDisplayId(), layer); + const auto& destroyStatus = + mComposerClient->destroyLayer(getInvalidDisplayId(), layer, nullptr); EXPECT_FALSE(destroyStatus.isOk()); EXPECT_NO_FATAL_FAILURE( assertServiceSpecificError(destroyStatus, IComposerClient::EX_BAD_DISPLAY)); - ASSERT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer).isOk()); + ASSERT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer, nullptr).isOk()); } TEST_P(GraphicsComposerAidlTest, DestroyLayer_BadLayerError) { + if (hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "Destroy layer will be tested in GraphicsComposerAidlBatchedCommandTest"; + return; + } + // We haven't created any layers yet, so any id should be invalid - const auto& status = mComposerClient->destroyLayer(getPrimaryDisplayId(), /*layer*/ 1); + const auto& status = mComposerClient->destroyLayer(getPrimaryDisplayId(), /*layer*/ 1, nullptr); EXPECT_FALSE(status.isOk()); EXPECT_NO_FATAL_FAILURE(assertServiceSpecificError(status, IComposerClient::EX_BAD_LAYER)); @@ -1171,6 +1193,12 @@ TEST_P(GraphicsComposerAidlTest, GetDisplayConfigNoRepetitions) { } } +TEST_P(GraphicsComposerAidlTest, LayerLifecycleCapabilityNotSupportedOnOldVersions) { + if (hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + EXPECT_GE(getInterfaceVersion(), 3); + } +} + class GraphicsComposerAidlV2Test : public GraphicsComposerAidlTest { protected: void SetUp() override { @@ -1376,6 +1404,7 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { ASSERT_TRUE(mReader.takeErrors().empty()); ASSERT_TRUE(mReader.takeChangedCompositionTypes(getPrimaryDisplayId()).empty()); + ASSERT_TRUE(mComposerClient->tearDown(&getWriter(getPrimaryDisplayId()))); ASSERT_NO_FATAL_FAILURE(GraphicsComposerAidlTest::TearDown()); } @@ -1463,10 +1492,10 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { RenderIntent::COLORIMETRIC) .isOk()); - const auto& [status, layer] = - mComposerClient->createLayer(display.getDisplayId(), kBufferSlotCount); - EXPECT_TRUE(status.isOk()); auto& writer = getWriter(display.getDisplayId()); + const auto& [status, layer] = + mComposerClient->createLayer(display.getDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(status.isOk()); { const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); ASSERT_NE(nullptr, buffer); @@ -1506,7 +1535,7 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { execute(); } - EXPECT_TRUE(mComposerClient->destroyLayer(display.getDisplayId(), layer).isOk()); + EXPECT_TRUE(mComposerClient->destroyLayer(display.getDisplayId(), layer, &writer).isOk()); } sp<::android::Fence> presentAndGetFence( @@ -1541,15 +1570,16 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { } int64_t createOnScreenLayer(Composition composition = Composition::DEVICE) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [status, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(status.isOk()); Rect displayFrame{0, 0, getPrimaryDisplay().getDisplayWidth(), getPrimaryDisplay().getDisplayHeight()}; FRect cropRect{0, 0, (float)getPrimaryDisplay().getDisplayWidth(), (float)getPrimaryDisplay().getDisplayHeight()}; configureLayer(getPrimaryDisplay(), layer, composition, displayFrame, cropRect); - auto& writer = getWriter(getPrimaryDisplayId()); + writer.setLayerDataspace(getPrimaryDisplayId(), layer, common::Dataspace::UNKNOWN); return layer; } @@ -1758,10 +1788,10 @@ TEST_P(GraphicsComposerAidlCommandTest, SetColorTransform) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerColorTransform) { - const auto& [status, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); - EXPECT_TRUE(status.isOk()); auto& writer = getWriter(getPrimaryDisplayId()); + const auto& [status, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(status.isOk()); writer.setLayerColorTransform(getPrimaryDisplayId(), layer, kIdentity.data()); execute(); @@ -1900,7 +1930,7 @@ TEST_P(GraphicsComposerAidlCommandTest, PresentDisplayNoLayerStateChanges) { ASSERT_NE(nullptr, handle); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); Rect displayFrame{0, 0, getPrimaryDisplay().getDisplayWidth(), @@ -1937,15 +1967,15 @@ TEST_P(GraphicsComposerAidlCommandTest, PresentDisplayNoLayerStateChanges) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerCursorPosition) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); const auto handle = buffer->handle; ASSERT_NE(nullptr, handle); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerBuffer(getPrimaryDisplayId(), layer, /*slot*/ 0, handle, /*acquireFence*/ -1); Rect displayFrame{0, 0, getPrimaryDisplay().getDisplayWidth(), @@ -1981,19 +2011,19 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerBuffer) { const auto handle = buffer->handle; ASSERT_NE(nullptr, handle); - const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); - EXPECT_TRUE(layerStatus.isOk()); auto& writer = getWriter(getPrimaryDisplayId()); + const auto& [layerStatus, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(layerStatus.isOk()); writer.setLayerBuffer(getPrimaryDisplayId(), layer, /*slot*/ 0, handle, /*acquireFence*/ -1); execute(); } TEST_P(GraphicsComposerAidlCommandTest, SetLayerBufferMultipleTimes) { - const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); - EXPECT_TRUE(layerStatus.isOk()); auto& writer = getWriter(getPrimaryDisplayId()); + const auto& [layerStatus, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + EXPECT_TRUE(layerStatus.isOk()); // Setup 3 buffers in the buffer cache, with the last buffer being active. Then, emulate the // Android platform code that clears all 3 buffer slots by setting all but the active buffer @@ -2041,14 +2071,14 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerBufferMultipleTimes) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerSurfaceDamage) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); Rect empty{0, 0, 0, 0}; Rect unit{0, 0, 1, 1}; - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerSurfaceDamage(getPrimaryDisplayId(), layer, std::vector(1, empty)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2063,14 +2093,14 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerSurfaceDamage) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerBlockingRegion) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); Rect empty{0, 0, 0, 0}; Rect unit{0, 0, 1, 1}; - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerBlockingRegion(getPrimaryDisplayId(), layer, std::vector(1, empty)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2085,11 +2115,11 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerBlockingRegion) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerBlendMode) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerBlendMode(getPrimaryDisplayId(), layer, BlendMode::NONE); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2104,11 +2134,11 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerBlendMode) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerColor) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerColor(getPrimaryDisplayId(), layer, Color{1.0f, 1.0f, 1.0f, 1.0f}); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2119,11 +2149,11 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerColor) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerCompositionType) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerCompositionType(getPrimaryDisplayId(), layer, Composition::CLIENT); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2142,8 +2172,9 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerCompositionType) { TEST_P(GraphicsComposerAidlCommandTest, DisplayDecoration) { for (VtsDisplay& display : mDisplays) { + auto& writer = getWriter(display.getDisplayId()); const auto [layerStatus, layer] = - mComposerClient->createLayer(display.getDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(display.getDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); const auto [error, support] = @@ -2166,8 +2197,7 @@ TEST_P(GraphicsComposerAidlCommandTest, DisplayDecoration) { } configureLayer(display, layer, Composition::DISPLAY_DECORATION, display.getFrameRect(), - display.getCrop()); - auto& writer = getWriter(display.getDisplayId()); + display.getCrop()); writer.setLayerBuffer(display.getDisplayId(), layer, /*slot*/ 0, decorBuffer->handle, /*acquireFence*/ -1); writer.validateDisplay(display.getDisplayId(), ComposerClientWriter::kNoTimestamp, @@ -2184,31 +2214,31 @@ TEST_P(GraphicsComposerAidlCommandTest, DisplayDecoration) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerDataspace) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerDataspace(getPrimaryDisplayId(), layer, Dataspace::UNKNOWN); execute(); } TEST_P(GraphicsComposerAidlCommandTest, SetLayerDisplayFrame) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerDisplayFrame(getPrimaryDisplayId(), layer, Rect{0, 0, 1, 1}); execute(); } TEST_P(GraphicsComposerAidlCommandTest, SetLayerPlaneAlpha) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerPlaneAlpha(getPrimaryDisplayId(), layer, /*alpha*/ 0.0f); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2228,31 +2258,31 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerSidebandStream) { const auto handle = buffer->handle; ASSERT_NE(nullptr, handle); + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerSidebandStream(getPrimaryDisplayId(), layer, handle); execute(); } TEST_P(GraphicsComposerAidlCommandTest, SetLayerSourceCrop) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerSourceCrop(getPrimaryDisplayId(), layer, FRect{0.0f, 0.0f, 1.0f, 1.0f}); execute(); } TEST_P(GraphicsComposerAidlCommandTest, SetLayerTransform) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerTransform(getPrimaryDisplayId(), layer, static_cast(0)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2291,14 +2321,14 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerTransform) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerVisibleRegion) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); Rect empty{0, 0, 0, 0}; Rect unit{0, 0, 1, 1}; - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerVisibleRegion(getPrimaryDisplayId(), layer, std::vector(1, empty)); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2313,11 +2343,12 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerVisibleRegion) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerZOrder) { + auto& writer = getWriter(getPrimaryDisplayId()); + const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerZOrder(getPrimaryDisplayId(), layer, /*z*/ 10); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2328,8 +2359,9 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerZOrder) { } TEST_P(GraphicsComposerAidlCommandTest, SetLayerPerFrameMetadata) { + auto& writer = getWriter(getPrimaryDisplayId()); const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); /** @@ -2344,7 +2376,6 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerPerFrameMetadata) { * white (D65) 0.3127 0.3290 */ - auto& writer = getWriter(getPrimaryDisplayId()); std::vector aidlMetadata; aidlMetadata.push_back({PerFrameMetadataKey::DISPLAY_RED_PRIMARY_X, 0.680f}); aidlMetadata.push_back({PerFrameMetadataKey::DISPLAY_RED_PRIMARY_Y, 0.320f}); @@ -2364,18 +2395,19 @@ TEST_P(GraphicsComposerAidlCommandTest, SetLayerPerFrameMetadata) { const auto errors = mReader.takeErrors(); if (errors.size() == 1 && errors[0].errorCode == EX_UNSUPPORTED_OPERATION) { GTEST_SUCCEED() << "SetLayerPerFrameMetadata is not supported"; - EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer).isOk()); + EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer, &writer).isOk()); return; } - EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer).isOk()); + EXPECT_TRUE(mComposerClient->destroyLayer(getPrimaryDisplayId(), layer, &writer).isOk()); } TEST_P(GraphicsComposerAidlCommandTest, setLayerBrightness) { - const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); - auto& writer = getWriter(getPrimaryDisplayId()); + + const auto& [layerStatus, layer] = + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + writer.setLayerBrightness(getPrimaryDisplayId(), layer, 0.2f); execute(); ASSERT_TRUE(mReader.takeErrors().empty()); @@ -2604,12 +2636,12 @@ TEST_P(GraphicsComposerAidlCommandV2Test, SkipValidateDeprecatedTest) { } TEST_P(GraphicsComposerAidlCommandV2Test, SetLayerBufferSlotsToClear) { + auto& writer = getWriter(getPrimaryDisplayId()); // Older HAL versions use a backwards compatible way of clearing buffer slots // HAL at version 1 or lower does not have LayerCommand::bufferSlotsToClear const auto& [layerStatus, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount); + mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(layerStatus.isOk()); - auto& writer = getWriter(getPrimaryDisplayId()); // setup 3 buffers in the buffer cache, with the last buffer being active // then emulate the Android platform code that clears all 3 buffer slots @@ -2868,7 +2900,8 @@ TEST_P(GraphicsComposerAidlCommandTest, MultiThreadedPresent) { EXPECT_TRUE(mComposerClient->setPowerMode(displayId, PowerMode::ON).isOk()); - const auto& [status, layer] = mComposerClient->createLayer(displayId, kBufferSlotCount); + const auto& [status, layer] = + mComposerClient->createLayer(displayId, kBufferSlotCount, &writer); const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); ASSERT_NE(nullptr, buffer); ASSERT_EQ(::android::OK, buffer->initCheck()); @@ -2918,7 +2951,8 @@ TEST_P(GraphicsComposerAidlCommandTest, MultiThreadedPresent) { } for (auto& [displayId, layer] : layers) { - EXPECT_TRUE(mComposerClient->destroyLayer(displayId, layer).isOk()); + auto& writer = getWriter(displayId); + EXPECT_TRUE(mComposerClient->destroyLayer(displayId, layer, &writer).isOk()); } std::lock_guard guard{readersMutex}; @@ -2928,22 +2962,22 @@ TEST_P(GraphicsComposerAidlCommandTest, MultiThreadedPresent) { } } -class GraphicsComposerAidlBatchedCommandTest : public GraphicsComposerAidlCommandTest { +class GraphicsComposerAidlCommandV3Test : public GraphicsComposerAidlCommandTest { protected: void SetUp() override { - GraphicsComposerAidlCommandTest::SetUp(); + GraphicsComposerAidlTest::SetUp(); if (getInterfaceVersion() <= 2) { GTEST_SKIP() << "Device interface version is expected to be >= 3"; } } - void TearDown() override { - const auto errors = mReader.takeErrors(); - ASSERT_TRUE(mReader.takeErrors().empty()); - ASSERT_NO_FATAL_FAILURE(GraphicsComposerAidlTest::TearDown()); - } }; -TEST_P(GraphicsComposerAidlBatchedCommandTest, CreateBatchedCommand) { +TEST_P(GraphicsComposerAidlCommandV3Test, CreateBatchedCommand) { + if (!hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; + return; + } + auto& writer = getWriter(getPrimaryDisplayId()); int64_t layer = 5; writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, @@ -2955,7 +2989,30 @@ TEST_P(GraphicsComposerAidlBatchedCommandTest, CreateBatchedCommand) { ASSERT_TRUE(mReader.takeErrors().empty()); } -TEST_P(GraphicsComposerAidlBatchedCommandTest, DestroyBatchedCommand) { +TEST_P(GraphicsComposerAidlCommandV3Test, CreateBatchedCommand_BadDisplay) { + if (!hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; + return; + } + + auto& writer = getWriter(getPrimaryDisplayId()); + int64_t layer = 5; + writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, + LayerLifecycleBatchCommandType::CREATE); + writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); + writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, + VtsComposerClient::kNoFrameIntervalNs); + execute(); + const auto errors = mReader.takeErrors(); + ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_DISPLAY); +} + +TEST_P(GraphicsComposerAidlCommandV3Test, DestroyBatchedCommand) { + if (!hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; + return; + } + auto& writer = getWriter(getPrimaryDisplayId()); int64_t layer = 5; writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, @@ -2972,11 +3029,43 @@ TEST_P(GraphicsComposerAidlBatchedCommandTest, DestroyBatchedCommand) { LayerLifecycleBatchCommandType::CREATE); writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); + execute(); + const auto errors = mReader.takeErrors(); + ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_DISPLAY); +} + +TEST_P(GraphicsComposerAidlCommandV3Test, DestroyBatchedCommand_BadDisplay) { + if (!hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; + return; + } + + auto& writer = getWriter(getPrimaryDisplayId()); + int64_t layer = 5; + writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, + LayerLifecycleBatchCommandType::CREATE); + writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); + writer.validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, + VtsComposerClient::kNoFrameIntervalNs); + execute(); + ASSERT_TRUE(mReader.takeErrors().empty()); + writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, + LayerLifecycleBatchCommandType::DESTROY); + layer++; + writer.setLayerLifecycleBatchCommandType(getInvalidDisplayId(), layer, + LayerLifecycleBatchCommandType::CREATE); + writer.setNewBufferSlotCount(getPrimaryDisplayId(), layer, 1); + execute(); ASSERT_TRUE(mReader.takeErrors().empty()); } -TEST_P(GraphicsComposerAidlBatchedCommandTest, NoCreateDestroyBatchedCommandIncorrectLayer) { +TEST_P(GraphicsComposerAidlCommandV3Test, NoCreateDestroyBatchedCommandIncorrectLayer) { + if (!hasCapability(Capability::LAYER_LIFECYCLE_BATCH_COMMAND)) { + GTEST_SKIP() << "LAYER_LIFECYCLE_BATCH_COMMAND not supported by the implementation"; + return; + } + auto& writer = getWriter(getPrimaryDisplayId()); int64_t layer = 5; writer.setLayerLifecycleBatchCommandType(getPrimaryDisplayId(), layer, @@ -2986,11 +3075,6 @@ TEST_P(GraphicsComposerAidlBatchedCommandTest, NoCreateDestroyBatchedCommandInco ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_LAYER); } -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(GraphicsComposerAidlBatchedCommandTest); -INSTANTIATE_TEST_SUITE_P( - PerInstance, GraphicsComposerAidlBatchedCommandTest, - testing::ValuesIn(::android::getAidlHalInstanceNames(IComposer::descriptor)), - ::android::PrintInstanceNameToString); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(GraphicsComposerAidlCommandTest); INSTANTIATE_TEST_SUITE_P( PerInstance, GraphicsComposerAidlCommandTest, @@ -3016,6 +3100,11 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, GraphicsComposerAidlCommandV2Test, testing::ValuesIn(::android::getAidlHalInstanceNames(IComposer::descriptor)), ::android::PrintInstanceNameToString); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(GraphicsComposerAidlCommandV3Test); +INSTANTIATE_TEST_SUITE_P( + PerInstance, GraphicsComposerAidlCommandV3Test, + testing::ValuesIn(::android::getAidlHalInstanceNames(IComposer::descriptor)), + ::android::PrintInstanceNameToString); } // namespace aidl::android::hardware::graphics::composer3::vts int main(int argc, char** argv) { From e3ee7500f35fc607a79e53aa73d40501f0196a43 Mon Sep 17 00:00:00 2001 From: Mahesh KKV Date: Wed, 27 Dec 2023 14:43:20 -0800 Subject: [PATCH 046/198] Update TWT related comments Bug: 317805772 Test: m Change-Id: I29800e8ecbbce245d2038eb098890b8b2c1ecbf1 --- wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl | 8 ++++++++ wifi/aidl/android/hardware/wifi/TwtRequest.aidl | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl index 4012c3ed73..5db5e817a0 100644 --- a/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtCapabilities.aidl @@ -18,6 +18,14 @@ package android.hardware.wifi; /** * Target Wake Time (TWT) Capabilities supported. + * + * TWT allows Wi-Fi stations to manage activity in a network by scheduling to operate at different + * times. This minimizes the contention and reduces the required amount of time that a station + * utilizing a power management mode needs to be awake. + * + * IEEE 802.11ax standard defines two modes of TWT operation: + * - Individual TWT (default mode of operation if TWT requester is supported) + * - Broadcast TWT */ @VintfStability parcelable TwtCapabilities { diff --git a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl index b063da3911..3338dee6e7 100644 --- a/wifi/aidl/android/hardware/wifi/TwtRequest.aidl +++ b/wifi/aidl/android/hardware/wifi/TwtRequest.aidl @@ -31,6 +31,9 @@ parcelable TwtRequest { int minWakeDurationMicros; /** * Maximum TWT wake duration in microseconds. + * + * As per IEEE 802.11ax spec, section 9.4.2.199 TWT element, the maximum wake duration is + * 65280 microseconds. */ int maxWakeDurationMicros; /** @@ -39,6 +42,9 @@ parcelable TwtRequest { long minWakeIntervalMicros; /** * Maximum TWT wake interval in microseconds. + * + * As per IEEE 802.11ax spec, section 9.4.2.199 TWT element, the maximum wake interval is + * 65535 * 2^31 microseconds. */ long maxWakeIntervalMicros; } From b8a16f8b929f9a1f5ec9110acc1ec88e6004f845 Mon Sep 17 00:00:00 2001 From: Priyanka Advani Date: Thu, 28 Dec 2023 00:07:56 +0000 Subject: [PATCH 047/198] Revert "Set min_sdk_version:34" Revert submission 25624362-persistable-bundle-hack Reason for revert: Likely culprit for b/317912559 Reverted changes: /q/submissionid:25624362-persistable-bundle-hack Change-Id: I785a66a9542f9798ec89d2b85059db68c9ce8130 --- wifi/aidl/Android.bp | 3 --- wifi/aidl/default/Android.bp | 1 - wifi/common/aidl/Android.bp | 3 --- 3 files changed, 7 deletions(-) diff --git a/wifi/aidl/Android.bp b/wifi/aidl/Android.bp index 1a7c6d8335..ac95f85c2b 100644 --- a/wifi/aidl/Android.bp +++ b/wifi/aidl/Android.bp @@ -48,9 +48,6 @@ aidl_interface { cpp: { enabled: false, }, - ndk: { - min_sdk_version: "34", - }, }, versions_with_info: [ { diff --git a/wifi/aidl/default/Android.bp b/wifi/aidl/default/Android.bp index 2e3af1924a..31a3531046 100644 --- a/wifi/aidl/default/Android.bp +++ b/wifi/aidl/default/Android.bp @@ -67,7 +67,6 @@ cc_library_static { name: "android.hardware.wifi-service-lib", defaults: ["android.hardware.wifi-service-cppflags-defaults"], proprietary: true, - min_sdk_version: "34", compile_multilib: "first", cppflags: [ "-Wall", diff --git a/wifi/common/aidl/Android.bp b/wifi/common/aidl/Android.bp index 6ee2f42903..1913451fd7 100644 --- a/wifi/common/aidl/Android.bp +++ b/wifi/common/aidl/Android.bp @@ -43,8 +43,5 @@ aidl_interface { cpp: { enabled: false, }, - ndk: { - min_sdk_version: "34", - }, }, } From 85108745a48fe09fbf955acdfb12e171e6f397ae Mon Sep 17 00:00:00 2001 From: yomna Date: Thu, 28 Dec 2023 18:50:19 +0000 Subject: [PATCH 048/198] Clarify ambiguities in securityAlgorithmsUpdated. Make it clear that the modem should send an update whenever the ciphering or integrity algorithm changes, even if a given algorithm was used for a particular ConnectionEvent sometime in the past. Bug: 317205446 Test: m Change-Id: I4864614936fa972da4ce12cbe74ad5b69941ff87 --- .../network/IRadioNetworkIndication.aidl | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl index dde4128f09..875a1b2e1a 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -233,14 +233,22 @@ oneway interface IRadioNetworkIndication { * Indicates that a new ciphering or integrity algorithm was used for a particular voice, * signaling, or data connection attempt for a given PLMN and/or access network. Due to * power concerns, once a connection type has been reported on, follow-up reports about that - * connection type are only generated if there is any change to the previously reported + * connection type are only generated if there is any change to the most-recently reported * encryption or integrity, or if the value of SecurityAlgorithmUpdate#isUnprotectedEmergency - * changes. Thus the AP is only to be notified when there is new information. List is reset upon - * rebooting thus info about initial connections is always passed to the AP after a reboot. - * List is also reset if the SIM is changed or if there has been a change in the access network. + * changes. Thus the AP is only to be notified when there is new information. A change only in + * cell ID should not trigger an update, as the design is intended to be agnostic to dual + * connectivity ("secondary serving cells"). * - * Note: a change only in cell ID should not trigger an update, as the design is intended to - * be agnostic to dual connectivity ("secondary serving cells"). + * Sample scenario to further clarify "most-recently reported": + * + * 1. Modem reports user is connected to a null-ciphered 3G network. + * 2. User then moves and connects to a well-ciphered 5G network, and modem reports this. + * 3. User returns to original location and reconnects to the null-ciphered 3G network. Modem + * should report this as it's different than the most-recently reported data from step (2). + * + * List is reset upon rebooting thus info about initial connections is always passed to the AP + * after a reboot. List is also reset if the SIM is changed or if there has been a change in + * the access network. * * @param type Type of radio indication * @param securityAlgorithmUpdate SecurityAlgorithmUpdate encapsulates details of security From 4f5ede6434f9085881964abb18dbfc4d8e7d93f5 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 21 Dec 2023 17:25:57 -0800 Subject: [PATCH 049/198] Add ScheduleInfo validity check. Define the max task data size. Requires remote access HAL to return invalid arg if ScheduleInfo is not valid. Updated the reference impl to add the checks. Test: atest RemoteAccessServiceUnitTest Bug: 317405128 Change-Id: Ia17dda2683c3bcc861542cb2fbd812ce8bd368aa --- .../automotive/remoteaccess/ScheduleInfo.aidl | 1 + .../remoteaccess/IRemoteAccess.aidl | 3 + .../automotive/remoteaccess/ScheduleInfo.aidl | 3 + .../hal/default/src/RemoteAccessService.cpp | 21 +++++- .../test/RemoteAccessServiceUnitTest.cpp | 66 ++++++++++++++++++- 5 files changed, 92 insertions(+), 2 deletions(-) diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl index a5d81cf9fc..ec8733a1bc 100644 --- a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/current/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl @@ -41,4 +41,5 @@ parcelable ScheduleInfo { int count; long startTimeInEpochSeconds; long periodicInSeconds; + const int MAX_TASK_DATA_SIZE_IN_BYTES = 10240; } diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl index 705cdbdd08..f0468c42b4 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -167,6 +167,9 @@ interface IRemoteAccess { * {@code scheduleId} for this client exists. * *

Must return {@code EX_ILLEGAL_ARGUMENT} if the task type is not supported. + * + *

Must return {@code EX_ILLEGLA_ARGUMENT} if the scheduleInfo is not valid (e.g. count is + * a negative number). */ void scheduleTask(in ScheduleInfo scheduleInfo); diff --git a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl index 40fba6f2a3..4f2537c773 100644 --- a/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl +++ b/automotive/remoteaccess/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl @@ -21,6 +21,7 @@ import android.hardware.automotive.remoteaccess.TaskType; @VintfStability @JavaDerive(equals=true, toString=true) parcelable ScheduleInfo { + const int MAX_TASK_DATA_SIZE_IN_BYTES = 10240; /** * The ID used to identify the client this schedule is for. This must be one of the * preconfigured remote access serverless client ID defined in car service resource @@ -41,6 +42,8 @@ parcelable ScheduleInfo { * executed. It is not interpreted/parsed by the Android system. * *

This is only used for {@code TaskType.CUSTOM}. + * + *

The data size must be less than {@link MAX_TASK_DATA_SIZE_IN_BYTES}. */ byte[] taskData; /** diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp index 2a7f2091e4..1b42a1f091 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp @@ -331,6 +331,24 @@ ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo ClientContext context; ScheduleTaskRequest request = {}; ScheduleTaskResponse response = {}; + + if (scheduleInfo.count < 0) { + return ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "count must be >= 0"); + } + if (scheduleInfo.startTimeInEpochSeconds < 0) { + return ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "startTimeInEpochSeconds must be >= 0"); + } + if (scheduleInfo.periodicInSeconds < 0) { + return ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "periodicInSeconds must be >= 0"); + } + if (scheduleInfo.taskData.size() > scheduleInfo.MAX_TASK_DATA_SIZE_IN_BYTES) { + return ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "task data too big"); + } + request.mutable_scheduleinfo()->set_clientid(scheduleInfo.clientId); request.mutable_scheduleinfo()->set_scheduleid(scheduleInfo.scheduleId); request.mutable_scheduleinfo()->set_data(scheduleInfo.taskData.data(), @@ -348,7 +366,8 @@ ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo case ErrorCode::OK: return ScopedAStatus::ok(); case ErrorCode::INVALID_ARG: - return ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); + return ScopedAStatus::fromExceptionCodeWithMessage( + EX_ILLEGAL_ARGUMENT, "received invalid_arg from grpc server"); default: // Should not happen. return ScopedAStatus::fromServiceSpecificErrorWithMessage( diff --git a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp index a46a983a9c..7992a50f5e 100644 --- a/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp +++ b/automotive/remoteaccess/hal/default/test/RemoteAccessServiceUnitTest.cpp @@ -473,7 +473,71 @@ TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask) { EXPECT_EQ(grpcRequest.scheduleinfo().periodicinseconds(), kTestPeriodicInSeconds); } -TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_InvalidArg) { +TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_InvalidCount) { + ScheduleInfo scheduleInfo = { + .clientId = kTestClientId, + .scheduleId = kTestScheduleId, + .taskData = kTestData, + .count = -1, + .startTimeInEpochSeconds = kTestStartTimeInEpochSeconds, + .periodicInSeconds = kTestPeriodicInSeconds, + }; + + ScopedAStatus status = getService()->scheduleTask(scheduleInfo); + + ASSERT_FALSE(status.isOk()); + ASSERT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT); +} + +TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_InvalidStartTimeInEpochSeconds) { + ScheduleInfo scheduleInfo = { + .clientId = kTestClientId, + .scheduleId = kTestScheduleId, + .taskData = kTestData, + .count = kTestCount, + .startTimeInEpochSeconds = -1, + .periodicInSeconds = kTestPeriodicInSeconds, + }; + + ScopedAStatus status = getService()->scheduleTask(scheduleInfo); + + ASSERT_FALSE(status.isOk()); + ASSERT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT); +} + +TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_InvalidPeriodicInSeconds) { + ScheduleInfo scheduleInfo = { + .clientId = kTestClientId, + .scheduleId = kTestScheduleId, + .taskData = kTestData, + .count = kTestCount, + .startTimeInEpochSeconds = kTestStartTimeInEpochSeconds, + .periodicInSeconds = -1, + }; + + ScopedAStatus status = getService()->scheduleTask(scheduleInfo); + + ASSERT_FALSE(status.isOk()); + ASSERT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT); +} + +TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_TaskDataTooLarge) { + ScheduleInfo scheduleInfo = { + .clientId = kTestClientId, + .scheduleId = kTestScheduleId, + .taskData = std::vector(ScheduleInfo::MAX_TASK_DATA_SIZE_IN_BYTES + 1), + .count = kTestCount, + .startTimeInEpochSeconds = kTestStartTimeInEpochSeconds, + .periodicInSeconds = kTestPeriodicInSeconds, + }; + + ScopedAStatus status = getService()->scheduleTask(scheduleInfo); + + ASSERT_FALSE(status.isOk()); + ASSERT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT); +} + +TEST_F(RemoteAccessServiceUnitTest, TestScheduleTask_InvalidArgFromGrpcServer) { EXPECT_CALL(*getGrpcWakeupClientStub(), ScheduleTask) .WillOnce([]([[maybe_unused]] ClientContext* context, [[maybe_unused]] const ScheduleTaskRequest& request, From 9b6404fe80a093a086de1a0fbfb550eaad71b6bf Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 27 Dec 2023 13:55:23 -0800 Subject: [PATCH 050/198] Fix bugs in TestWakeupClientServiceImpl. Initialize atomic variable. By default, it is not initialized. Check task queue stopped status while returning from the wait to prevent infinite loop. Test: atest TestWakeupClientServerHostUnitTest Bug: 317907688 Change-Id: I0259203797caca2fe3ff716c17398d3c1feab94d --- .../impl/include/TestWakeupClientServiceImpl.h | 5 +++-- .../impl/src/TestWakeupClientServiceImpl.cpp | 8 +++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h index a7f47c2c57..41cc5d0035 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h +++ b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h @@ -78,6 +78,7 @@ class TaskQueue final { void waitForTask(); void stopWait(); bool isEmpty(); + bool isStopped(); private: friend class TaskTimeoutMessageHandler; @@ -87,7 +88,7 @@ class TaskQueue final { GUARDED_BY(mLock); // A variable to notify mTasks is not empty. std::condition_variable mTasksNotEmptyCv; - std::atomic mStopped; + std::atomic mStopped = false; android::sp mLooper; android::sp mTaskTimeoutMessageHandler; std::atomic mTaskIdCounter = 0; @@ -214,7 +215,7 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { std::atomic mRemoteTaskConnectionAlive = false; std::mutex mLock; bool mGeneratingFakeTask GUARDED_BY(mLock); - std::atomic mServerStopped; + std::atomic mServerStopped = false; std::unordered_map> mInfoByScheduleIdByClientId GUARDED_BY(mLock); diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp index d22335377a..eed3495575 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp @@ -105,6 +105,10 @@ void TaskQueue::waitForTask() { }); } +bool TaskQueue::isStopped() { + return mStopped; +} + void TaskQueue::stopWait() { mStopped = true; { @@ -241,7 +245,7 @@ Status TestWakeupClientServiceImpl::GetRemoteTasks(ServerContext* context, while (true) { mTaskQueue->waitForTask(); - if (mServerStopped) { + if (mTaskQueue->isStopped()) { // Server stopped, exit the loop. printf("Server stopped exit loop\n"); break; @@ -250,11 +254,13 @@ Status TestWakeupClientServiceImpl::GetRemoteTasks(ServerContext* context, while (true) { auto maybeTask = mTaskQueue->maybePopOne(); if (!maybeTask.has_value()) { + printf("no task left\n"); // No task left, loop again and wait for another task(s). break; } // Loop through all the task in the queue but obtain lock for each element so we don't // hold lock while writing the response. + printf("Sending one remote task\n"); const GetRemoteTasksResponse& response = maybeTask.value(); if (!writer->Write(response)) { // Broken stream, maybe the client is shutting down. From 2bc967a9c36979506a8796716a27f13eb1e0cc2e Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Tue, 2 Jan 2024 10:50:04 -0800 Subject: [PATCH 051/198] Initialize mFp file pointer to null Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: Ia1d78e42094073c6cfc7e4e00d65a540d148f02e --- tv/tuner/aidl/vts/functional/utils/IpStreamer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tv/tuner/aidl/vts/functional/utils/IpStreamer.h b/tv/tuner/aidl/vts/functional/utils/IpStreamer.h index d073003c98..8ac2ddb8ed 100644 --- a/tv/tuner/aidl/vts/functional/utils/IpStreamer.h +++ b/tv/tuner/aidl/vts/functional/utils/IpStreamer.h @@ -37,7 +37,7 @@ class IpStreamer { private: int mSockfd = -1; - FILE* mFp; + FILE* mFp = nullptr; bool mIsIpV4 = true; // By default, set to IPV4 int mPort = 12345; // default port int mBufferSize = 188; // bytes From ea414bf237e7f6c510e5b8500d39c74e1b9e9915 Mon Sep 17 00:00:00 2001 From: Mahesh KKV Date: Wed, 27 Dec 2023 15:59:29 -0800 Subject: [PATCH 052/198] Add number of spatial streams for 11az results Bug: 317922145 Test: m Change-Id: I28bedde8e5ffc5c34c9f8b26ee4a3ae06974a481 --- .../android/hardware/wifi/RttResult.aidl | 2 ++ .../aidl/android/hardware/wifi/RttResult.aidl | 22 +++++++++++++++++++ wifi/aidl/default/aidl_struct_util.cpp | 6 +++++ 3 files changed, 30 insertions(+) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl index 9c6ad267f3..10c96749c9 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl @@ -63,4 +63,6 @@ parcelable RttResult { byte r2iTxLtfRepetitionCount; long ntbMinMeasurementTime; long ntbMaxMeasurementTime; + byte numTxSpatialStreams; + byte numRxSpatialStreams; } diff --git a/wifi/aidl/android/hardware/wifi/RttResult.aidl b/wifi/aidl/android/hardware/wifi/RttResult.aidl index ab9abb550e..438bc0a0a8 100644 --- a/wifi/aidl/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/android/hardware/wifi/RttResult.aidl @@ -148,11 +148,15 @@ parcelable RttResult { /** * Multiple transmissions of HE-LTF symbols in an HE (I2R) Ranging NDP. An HE-LTF repetition * value of 1 indicates no repetitions. + * + * Note: A required field for IEEE 802.11az result. */ byte i2rTxLtfRepetitionCount; /** * Multiple transmissions of HE-LTF symbols in an HE (R2I) Ranging NDP. An HE-LTF repetition * value of 1 indicates no repetitions. + * + * Note: A required field for IEEE 802.11az result. */ byte r2iTxLtfRepetitionCount; /** @@ -168,6 +172,8 @@ parcelable RttResult { * |RttResult.timestamp|. * * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. + * + * Note: A required field for IEEE 802.11az result. */ long ntbMinMeasurementTime; /** @@ -183,6 +189,22 @@ parcelable RttResult { * non-TB ranging negotiation. * * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. + * + * Note: A required field for IEEE 802.11az result. */ long ntbMaxMeasurementTime; + /** + * Number of transmit space-time streams used. Value is in the range 1 to 8. + * + * Note: Maximum limit is ultimately defined by the number of antennas that can be supported. + * A required field for IEEE 802.11az result. + */ + byte numTxSpatialStreams; + /** + * Number of receive space-time streams used. Value is in the range 1 to 8. + * + * Note: Maximum limit is ultimately defined by the number of antennas that can be supported. + * A required field for IEEE 802.11az result. + */ + byte numRxSpatialStreams; } diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp index 836ce1a9b6..0f0c77e171 100644 --- a/wifi/aidl/default/aidl_struct_util.cpp +++ b/wifi/aidl/default/aidl_struct_util.cpp @@ -2995,6 +2995,8 @@ bool convertLegacyVectorOfRttResultToAidl( aidl_result.r2iTxLtfRepetitionCount = 0; aidl_result.ntbMinMeasurementTime = 0; aidl_result.ntbMaxMeasurementTime = 0; + aidl_result.numTxSpatialStreams = 0; + aidl_result.numRxSpatialStreams = 0; aidl_results->push_back(aidl_result); } return true; @@ -3019,6 +3021,8 @@ bool convertLegacyVectorOfRttResultV2ToAidl( aidl_result.r2iTxLtfRepetitionCount = 0; aidl_result.ntbMinMeasurementTime = 0; aidl_result.ntbMaxMeasurementTime = 0; + aidl_result.numTxSpatialStreams = 0; + aidl_result.numRxSpatialStreams = 0; aidl_results->push_back(aidl_result); } return true; @@ -3044,6 +3048,8 @@ bool convertLegacyVectorOfRttResultV3ToAidl( aidl_result.r2iTxLtfRepetitionCount = legacy_result->r2i_tx_ltf_repetition_count; aidl_result.ntbMinMeasurementTime = legacy_result->ntb_min_measurement_time; aidl_result.ntbMaxMeasurementTime = legacy_result->ntb_max_measurement_time; + aidl_result.numTxSpatialStreams = legacy_result->num_tx_sts; + aidl_result.numRxSpatialStreams = legacy_result->num_rx_sts; aidl_results->push_back(aidl_result); } return true; From 3ee7690028b25705489a6c6e32c246fcbf8f80e1 Mon Sep 17 00:00:00 2001 From: Vlad Popa Date: Wed, 3 Jan 2024 05:49:22 -0800 Subject: [PATCH 053/198] CSD: Adjust code to new MelCallback interface Added the attenuated bool to the callback interface. Not used Test: trivial Bug: 315218453 Change-Id: Ibd5e90b0537bfce7d01ee7a3a0e55bc53850a216 --- audio/aidl/default/SoundDose.cpp | 3 ++- audio/aidl/default/include/core-impl/SoundDose.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/audio/aidl/default/SoundDose.cpp b/audio/aidl/default/SoundDose.cpp index 1c9e081353..6c3a067139 100644 --- a/audio/aidl/default/SoundDose.cpp +++ b/audio/aidl/default/SoundDose.cpp @@ -119,7 +119,8 @@ void SoundDose::onNewMelValues(const std::vector& mels, size_t offset, si void SoundDose::MelCallback::onNewMelValues(const std::vector& mels, size_t offset, size_t length, audio_port_handle_t deviceId - __attribute__((__unused__))) const { + __attribute__((__unused__)), + bool attenuated __attribute__((__unused__))) const { mSoundDose.onNewMelValues(mels, offset, length, deviceId); } diff --git a/audio/aidl/default/include/core-impl/SoundDose.h b/audio/aidl/default/include/core-impl/SoundDose.h index 82c1077f1b..f58e5419c2 100644 --- a/audio/aidl/default/include/core-impl/SoundDose.h +++ b/audio/aidl/default/include/core-impl/SoundDose.h @@ -64,7 +64,7 @@ class SoundDose final : public BnSoundDose, public StreamDataProcessorInterface // ------------------------------------ MelCallback ---------------------------------------- void onNewMelValues(const std::vector& mels, size_t offset, size_t length, - audio_port_handle_t deviceId) const override; + audio_port_handle_t deviceId, bool attenuated) const override; void onMomentaryExposure(float currentMel, audio_port_handle_t deviceId) const override; SoundDose& mSoundDose; // must outlive MelCallback, not owning From 4869ae7838b5cba46396e584ce9d1000e9184188 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Mon, 18 Dec 2023 05:36:14 +0000 Subject: [PATCH 054/198] camera: Add boolean to HalStream for stream specific HAL buffer manager Whether the HAL buffer manager is used or not is decided based on the presence of a static camera characteristics key - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION. This behavior cannot be toggled depending on stream configuration / session parameters. The HAL buffer manager does reduce memory consumption at the cost of extra IPC calls, which may not be always desirable. Therefore, HalStream.aidl - the parcelable returned by the camera HAL for each stream configured now holds a boolean value, specifying whether output buffers must be managed by the HAL or the camera framework for the particular session configured. Bug: 311263114 Test: builds Test: Run Camera CTS on HAL supporting ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE Test: VTS Change-Id: Id6bda31eab3d66361991e2f883231a5a55a2ef82 Signed-off-by: Jayant Chowdhary --- .../camera/device/ConfigureStreamsRet.aidl | 1 - .../hardware/camera/device/HalStream.aidl | 1 + .../camera/device/ConfigureStreamsRet.aidl | 5 - .../hardware/camera/device/HalStream.aidl | 20 +++ .../VtsAidlHalCameraProvider_TargetTest.cpp | 63 ++++---- camera/provider/aidl/vts/camera_aidl_test.cpp | 152 ++++++++++-------- camera/provider/aidl/vts/camera_aidl_test.h | 19 ++- 7 files changed, 156 insertions(+), 105 deletions(-) diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/ConfigureStreamsRet.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/ConfigureStreamsRet.aidl index 5535a30e2a..670f7d272b 100644 --- a/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/ConfigureStreamsRet.aidl +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/ConfigureStreamsRet.aidl @@ -35,5 +35,4 @@ package android.hardware.camera.device; @VintfStability parcelable ConfigureStreamsRet { android.hardware.camera.device.HalStream[] halStreams; - boolean enableHalBufferManager = false; } diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/HalStream.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/HalStream.aidl index a5784bcf32..3ae261d4d2 100644 --- a/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/HalStream.aidl +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/current/android/hardware/camera/device/HalStream.aidl @@ -42,4 +42,5 @@ parcelable HalStream { android.hardware.graphics.common.Dataspace overrideDataSpace; String physicalCameraId; boolean supportOffline; + boolean enableHalBufferManager; } diff --git a/camera/device/aidl/android/hardware/camera/device/ConfigureStreamsRet.aidl b/camera/device/aidl/android/hardware/camera/device/ConfigureStreamsRet.aidl index 8f462ecb5f..702901f699 100644 --- a/camera/device/aidl/android/hardware/camera/device/ConfigureStreamsRet.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ConfigureStreamsRet.aidl @@ -34,9 +34,4 @@ parcelable ConfigureStreamsRet { * overridden format, maximum buffers etc. */ HalStream[] halStreams; - /** - * A boolean informing the camera framework whether the HAL buffer manager - * must be used for the session configured. - */ - boolean enableHalBufferManager = false; } diff --git a/camera/device/aidl/android/hardware/camera/device/HalStream.aidl b/camera/device/aidl/android/hardware/camera/device/HalStream.aidl index 25a80bc16c..fac89e6305 100644 --- a/camera/device/aidl/android/hardware/camera/device/HalStream.aidl +++ b/camera/device/aidl/android/hardware/camera/device/HalStream.aidl @@ -127,4 +127,24 @@ parcelable HalStream { * */ boolean supportOffline; + + /** + * Whether the buffers for this stream are HAL buffer managed. + * + * If ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION is + * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE, this field + * must be set by the HAL to inform the camera framework, whether output buffers for this + * stream will be HAL buffer managed - i.e. requested through the + * ICameraDeviceCallback.requestStreamsBuffers() API. Only the output buffers for the streams + * that have this field set to 'true' will be HAL buffer managed. The output buffers for other + * streams will be managed by the camera framework. + * + * If the value of ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION is + * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_AIDL_DEVICE, the camera framework + * will ignore this field and assume that all output streams are hal buffer managed. + * + * If ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION is not set at all, the camera framework + * will ignore this field and assume output buffers are managed by the camera framework. + */ + boolean enableHalBufferManager; } diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index e335853c28..720a9d4ff5 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -656,7 +656,6 @@ TEST_P(CameraAidlTest, configureConcurrentStreamsAvailableOutputs) { for (const auto& cameraDeviceIds : concurrentDeviceCombinations) { std::vector cameraIdsAndStreamCombinations; std::vector cameraTestInfos; - size_t i = 0; for (const auto& id : cameraDeviceIds.combination) { CameraTestInfo cti; auto it = idToNameMap.find(id); @@ -707,7 +706,6 @@ TEST_P(CameraAidlTest, configureConcurrentStreamsAvailableOutputs) { cameraIdAndStreamCombination.cameraId = id; cameraIdAndStreamCombination.streamConfiguration = cti.config; cameraIdsAndStreamCombinations.push_back(cameraIdAndStreamCombination); - i++; cameraTestInfos.push_back(cti); } // Now verify that concurrent streams are supported @@ -1572,7 +1570,7 @@ TEST_P(CameraAidlTest, processMultiCaptureRequestPreview) { std::vector halStreams; bool supportsPartialResults = false; - bool useHalBufManager = false; + std::set halBufManagedStreamIds; int32_t partialResultCount = 0; Stream previewStream; std::shared_ptr cb; @@ -1580,7 +1578,7 @@ TEST_P(CameraAidlTest, processMultiCaptureRequestPreview) { configurePreviewStreams( name, mProvider, &previewThreshold, physicalIds, &mSession, &previewStream, &halStreams /*out*/, &supportsPartialResults /*out*/, &partialResultCount /*out*/, - &useHalBufManager /*out*/, &cb /*out*/, 0 /*streamConfigCounter*/, true); + &halBufManagedStreamIds /*out*/, &cb /*out*/, 0 /*streamConfigCounter*/, true); if (mSession == nullptr) { // stream combination not supported by HAL, skip test for device continue; @@ -1617,7 +1615,9 @@ TEST_P(CameraAidlTest, processMultiCaptureRequestPreview) { size_t k = 0; for (const auto& halStream : halStreams) { buffer_handle_t buffer_handle; - if (useHalBufManager) { + bool useHalBufManagerForStream = + halBufManagedStreamIds.find(halStream.id) != halBufManagedStreamIds.end(); + if (useHalBufManagerForStream) { outputBuffers[k] = {halStream.id, /*bufferId*/ 0, NativeHandle(), BufferStatus::OK, NativeHandle(), NativeHandle()}; } else { @@ -1721,10 +1721,13 @@ TEST_P(CameraAidlTest, processMultiCaptureRequestPreview) { defaultPreviewSettings.unlock(settingsBuffer); filteredSettings.unlock(filteredSettingsBuffer); - if (useHalBufManager) { - std::vector streamIds(halStreams.size()); - for (size_t i = 0; i < streamIds.size(); i++) { - streamIds[i] = halStreams[i].id; + if (halBufManagedStreamIds.size() != 0) { + std::vector streamIds; + for (size_t i = 0; i < halStreams.size(); i++) { + int32_t streamId = halStreams[i].id; + if (halBufManagedStreamIds.find(streamId) != halBufManagedStreamIds.end()) { + streamIds.emplace_back(streamId); + } } verifyBuffersReturned(mSession, streamIds, cb); } @@ -1788,7 +1791,7 @@ TEST_P(CameraAidlTest, processUltraHighResolutionRequest) { std::vector halStreams; bool supportsPartialResults = false; - bool useHalBufManager = false; + std::set halBufManagedStreamIds; int32_t partialResultCount = 0; Stream previewStream; std::shared_ptr cb; @@ -1800,8 +1803,8 @@ TEST_P(CameraAidlTest, processUltraHighResolutionRequest) { GRALLOC1_CONSUMER_USAGE_CPU_READ); previewStream.dataSpace = Dataspace::UNKNOWN; configureStreams(name, mProvider, format, &mSession, &previewStream, &halStreams, - &supportsPartialResults, &partialResultCount, &useHalBufManager, &cb, - 0, /*maxResolution*/ true); + &supportsPartialResults, &partialResultCount, &halBufManagedStreamIds, + &cb, 0, /*maxResolution*/ true); ASSERT_NE(mSession, nullptr); ::aidl::android::hardware::common::fmq::MQDescriptor< @@ -1832,7 +1835,9 @@ TEST_P(CameraAidlTest, processUltraHighResolutionRequest) { size_t k = 0; for (const auto& halStream : halStreams) { buffer_handle_t buffer_handle; - if (useHalBufManager) { + bool halBufManagerUsed = + halBufManagedStreamIds.find(halStream.id) != halBufManagedStreamIds.end(); + if (halBufManagerUsed) { outputBuffers[k] = {halStream.id, 0, NativeHandle(), BufferStatus::OK, NativeHandle(), NativeHandle()}; @@ -1884,10 +1889,12 @@ TEST_P(CameraAidlTest, processUltraHighResolutionRequest) { ASSERT_FALSE(inflightReq->errorCodeValid); ASSERT_NE(inflightReq->resultOutputBuffers.size(), 0u); } - if (useHalBufManager) { - std::vector streamIds(halStreams.size()); - for (size_t i = 0; i < streamIds.size(); i++) { - streamIds[i] = halStreams[i].id; + if (halBufManagedStreamIds.size()) { + std::vector streamIds; + for (size_t i = 0; i < halStreams.size(); i++) { + if (contains(halBufManagedStreamIds, halStreams[i].id)) { + streamIds.emplace_back(halStreams[i].id); + } } verifyBuffersReturned(mSession, streamIds, cb); } @@ -1949,7 +1956,7 @@ TEST_P(CameraAidlTest, process10BitDynamicRangeRequest) { std::vector halStreams; bool supportsPartialResults = false; - bool useHalBufManager = false; + std::set halBufManagedStreamIds; int32_t partialResultCount = 0; Stream previewStream; std::shared_ptr cb; @@ -1960,7 +1967,7 @@ TEST_P(CameraAidlTest, process10BitDynamicRangeRequest) { previewStream.dataSpace = getDataspace(PixelFormat::IMPLEMENTATION_DEFINED); configureStreams(name, mProvider, PixelFormat::IMPLEMENTATION_DEFINED, &mSession, &previewStream, &halStreams, &supportsPartialResults, - &partialResultCount, &useHalBufManager, &cb, 0, + &partialResultCount, &halBufManagedStreamIds, &cb, 0, /*maxResolution*/ false, profile); ASSERT_NE(mSession, nullptr); @@ -1999,7 +2006,7 @@ TEST_P(CameraAidlTest, process10BitDynamicRangeRequest) { auto bufferId = requestId + 1; // Buffer id value 0 is not valid for (const auto& halStream : halStreams) { buffer_handle_t buffer_handle; - if (useHalBufManager) { + if (contains(halBufManagedStreamIds, halStream.id)) { outputBuffers[k] = {halStream.id, 0, NativeHandle(), BufferStatus::OK, NativeHandle(), NativeHandle()}; @@ -2065,10 +2072,12 @@ TEST_P(CameraAidlTest, process10BitDynamicRangeRequest) { verify10BitMetadata(mHandleImporter, *inflightReq, profile); } - if (useHalBufManager) { - std::vector streamIds(halStreams.size()); - for (size_t i = 0; i < streamIds.size(); i++) { - streamIds[i] = halStreams[i].id; + if (halBufManagedStreamIds.size() != 0) { + std::vector streamIds; + for (size_t i = 0; i < halStreams.size(); i++) { + if (contains(halBufManagedStreamIds, halStreams[i].id)) { + streamIds.emplace_back(halStreams[i].id); + } } mSession->signalStreamFlush(streamIds, /*streamConfigCounter*/ 0); cb->waitForBuffersReturned(); @@ -2400,11 +2409,11 @@ TEST_P(CameraAidlTest, switchToOffline) { std::vector halStreams; std::shared_ptr cb; int32_t jpegBufferSize; - bool useHalBufManager; + std::set halBufManagedStreamIds; configureOfflineStillStream(name, mProvider, &threshold, &mSession /*out*/, &stream /*out*/, &halStreams /*out*/, &supportsPartialResults /*out*/, &partialResultCount /*out*/, &cb /*out*/, - &jpegBufferSize /*out*/, &useHalBufManager /*out*/); + &jpegBufferSize /*out*/, &halBufManagedStreamIds /*out*/); auto ret = mSession->constructDefaultRequestSettings(RequestTemplate::STILL_CAPTURE, &settings); @@ -2440,7 +2449,7 @@ TEST_P(CameraAidlTest, switchToOffline) { StreamBuffer& outputBuffer = outputBuffers[0]; std::unique_lock l(mLock); - if (useHalBufManager) { + if (contains(halBufManagedStreamIds, halStream.id)) { outputBuffer = {halStream.id, 0, NativeHandle(), BufferStatus::OK, NativeHandle(), NativeHandle()}; } else { diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 8e72b3f605..bb9068e725 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -2209,7 +2209,6 @@ void CameraAidlTest::processCaptureRequestInternal(uint64_t bufferUsage, int64_t bufferId = 1; int32_t frameNumber = 1; CameraMetadata settings; - for (const auto& name : cameraDeviceNames) { Stream testStream; std::vector halStreams; @@ -2499,12 +2498,19 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres ndk::ScopedAStatus CameraAidlTest::configureStreams(std::shared_ptr& session, const StreamConfiguration& config, - bool sessionHalBufferManager, - bool* useHalBufManager, + BufferManagerType bufferManagerType, + std::set* halBufManagedStreamIds, std::vector* halStreams) { auto ret = ndk::ScopedAStatus::ok(); ConfigureStreamsRet aidl_return; - if (sessionHalBufferManager) { + int32_t interfaceVersion = -1; + ret = session->getInterfaceVersion(&interfaceVersion); + if (!ret.isOk()) { + return ret; + } + + if (flags::session_hal_buf_manager() && + (bufferManagerType == BufferManagerType::SESSION && interfaceVersion >= 3)) { ret = session->configureStreamsV2(config, &aidl_return); } else { ret = session->configureStreams(config, halStreams); @@ -2512,10 +2518,16 @@ ndk::ScopedAStatus CameraAidlTest::configureStreams(std::shared_ptrinsert(halStream.id); + } + } return ndk::ScopedAStatus::ok(); } @@ -2572,16 +2584,16 @@ void CameraAidlTest::configureSingleStream( ASSERT_TRUE(ret.isOk()); ASSERT_NE(*session, nullptr); - *useHalBufManager = false; - bool sessionHalBufferManager = false; + BufferManagerType bufferManagerType = BufferManagerType::FRAMEWORK; status = find_camera_metadata_ro_entry( staticMeta, ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, &entry); if ((0 == status) && (entry.count == 1)) { - *useHalBufManager = (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5); - sessionHalBufferManager = - (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE); + if (entry.data.u8[0] == ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5) { + bufferManagerType = BufferManagerType::HAL; + } else if (entry.data.u8[0] == + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE) { + bufferManagerType = BufferManagerType::SESSION; + } } outputPreviewStreams.clear(); @@ -2640,7 +2652,8 @@ void CameraAidlTest::configureSingleStream( ASSERT_EQ(supported, true); std::vector halConfigs; - ret = configureStreams(*session, config, sessionHalBufferManager, useHalBufManager, + std::set halBufManagedStreamIds; + ret = configureStreams(*session, config, bufferManagerType, &halBufManagedStreamIds, &halConfigs); ALOGI("configureStreams returns status: %d:%d", ret.getExceptionCode(), ret.getServiceSpecificError()); @@ -2648,6 +2661,7 @@ void CameraAidlTest::configureSingleStream( ASSERT_EQ(1u, halConfigs.size()); halStreams->clear(); halStreams->push_back(halConfigs[0]); + *useHalBufManager = halBufManagedStreamIds.size() != 0; if (*useHalBufManager) { std::vector ss(1); std::vector hs(1); @@ -2774,6 +2788,7 @@ void CameraAidlTest::processPreviewStabilizationCaptureRequestInternal( overrideRotateAndCrop(&request.settings); request.outputBuffers = std::vector(1); StreamBuffer& outputBuffer = request.outputBuffers[0]; + if (useHalBufManager) { outputBuffer = {halStreams[0].id, /*bufferId*/ 0, NativeHandle(), BufferStatus::OK, @@ -2892,14 +2907,14 @@ void CameraAidlTest::configurePreviewStreams( const AvailableStream* previewThreshold, const std::unordered_set& physicalIds, std::shared_ptr* session, Stream* previewStream, std::vector* halStreams, bool* supportsPartialResults, - int32_t* partialResultCount, bool* useHalBufManager, std::shared_ptr* cb, - int32_t streamConfigCounter, bool allowUnsupport) { + int32_t* partialResultCount, std::set* halBufManagedStreamIds, + std::shared_ptr* cb, int32_t streamConfigCounter, bool allowUnsupport) { ASSERT_NE(nullptr, session); ASSERT_NE(nullptr, halStreams); ASSERT_NE(nullptr, previewStream); ASSERT_NE(nullptr, supportsPartialResults); ASSERT_NE(nullptr, partialResultCount); - ASSERT_NE(nullptr, useHalBufManager); + ASSERT_NE(nullptr, halBufManagedStreamIds); ASSERT_NE(nullptr, cb); ASSERT_FALSE(physicalIds.empty()); @@ -2936,16 +2951,16 @@ void CameraAidlTest::configurePreviewStreams( ASSERT_TRUE(ret.isOk()); ASSERT_NE(*session, nullptr); - *useHalBufManager = false; - bool sessionHalBufferManager = false; + BufferManagerType bufferManagerType = BufferManagerType::FRAMEWORK; status = find_camera_metadata_ro_entry( staticMeta, ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, &entry); if ((0 == status) && (entry.count == 1)) { - *useHalBufManager = (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5); - sessionHalBufferManager = - (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE); + if (entry.data.u8[0] == ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5) { + bufferManagerType = BufferManagerType::HAL; + } else if (entry.data.u8[0] == + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE) { + bufferManagerType = BufferManagerType::SESSION; + } } outputPreviewStreams.clear(); @@ -3000,18 +3015,21 @@ void CameraAidlTest::configurePreviewStreams( config.streamConfigCounter = streamConfigCounter; std::vector halConfigs; - ret = configureStreams(*session, config, sessionHalBufferManager, useHalBufManager, + ret = configureStreams(*session, config, bufferManagerType, halBufManagedStreamIds, &halConfigs); ASSERT_TRUE(ret.isOk()); ASSERT_EQ(physicalIds.size(), halConfigs.size()); *halStreams = halConfigs; - if (*useHalBufManager) { - std::vector ss(physicalIds.size()); - std::vector hs(physicalIds.size()); + if (halBufManagedStreamIds->size() != 0) { + // Only include the streams that are HAL buffer managed + std::vector ss; + std::vector hs; for (size_t i = 0; i < physicalIds.size(); i++) { - ss[i] = streams[i]; - hs[i] = halConfigs[i]; + if (contains(*halBufManagedStreamIds, halConfigs[i].id)) { + ss.emplace_back(streams[i]); + hs.emplace_back(halConfigs[i]); + } } (*cb)->setCurrentStreamConfig(ss, hs); } @@ -3029,22 +3047,20 @@ void CameraAidlTest::verifyBuffersReturned(const std::shared_ptrwaitForBuffersReturned(); } -void CameraAidlTest::configureStreams(const std::string& name, - const std::shared_ptr& provider, - PixelFormat format, - std::shared_ptr* session, - Stream* previewStream, std::vector* halStreams, - bool* supportsPartialResults, int32_t* partialResultCount, - bool* useHalBufManager, std::shared_ptr* outCb, - uint32_t streamConfigCounter, bool maxResolution, - RequestAvailableDynamicRangeProfilesMap dynamicRangeProf, - RequestAvailableColorSpaceProfilesMap colorSpaceProf) { +void CameraAidlTest::configureStreams( + const std::string& name, const std::shared_ptr& provider, + PixelFormat format, std::shared_ptr* session, Stream* previewStream, + std::vector* halStreams, bool* supportsPartialResults, + int32_t* partialResultCount, std::set* halBufManagedStreamIds, + std::shared_ptr* outCb, uint32_t streamConfigCounter, bool maxResolution, + RequestAvailableDynamicRangeProfilesMap dynamicRangeProf, + RequestAvailableColorSpaceProfilesMap colorSpaceProf) { ASSERT_NE(nullptr, session); ASSERT_NE(nullptr, halStreams); ASSERT_NE(nullptr, previewStream); ASSERT_NE(nullptr, supportsPartialResults); ASSERT_NE(nullptr, partialResultCount); - ASSERT_NE(nullptr, useHalBufManager); + ASSERT_NE(nullptr, halBufManagedStreamIds); ASSERT_NE(nullptr, outCb); ALOGI("configureStreams: Testing camera device %s", name.c_str()); @@ -3081,16 +3097,16 @@ void CameraAidlTest::configureStreams(const std::string& name, ASSERT_TRUE(ret.isOk()); ASSERT_NE(*session, nullptr); - *useHalBufManager = false; - bool sessionHalBufferManager = false; + BufferManagerType bufferManagerType = BufferManagerType::FRAMEWORK; status = find_camera_metadata_ro_entry( staticMeta, ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, &entry); if ((0 == status) && (entry.count == 1)) { - *useHalBufManager = (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5); - sessionHalBufferManager = - (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE); + if (entry.data.u8[0] == ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5) { + bufferManagerType = BufferManagerType::HAL; + } else if (entry.data.u8[0] == + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE) { + bufferManagerType = BufferManagerType::SESSION; + } } outputStreams.clear(); @@ -3144,11 +3160,11 @@ void CameraAidlTest::configureStreams(const std::string& name, ASSERT_TRUE(ret.isOk()); ASSERT_EQ(supported, true); - ret = configureStreams(*session, config, sessionHalBufferManager, useHalBufManager, halStreams); + ret = configureStreams(*session, config, bufferManagerType, halBufManagedStreamIds, halStreams); ASSERT_TRUE(ret.isOk()); - if (*useHalBufManager) { + if (halBufManagedStreamIds->size() != 0) { std::vector ss(1); std::vector hs(1); ss[0] = streams[0]; @@ -3493,7 +3509,7 @@ void CameraAidlTest::configureOfflineStillStream( const AvailableStream* threshold, std::shared_ptr* session, Stream* stream, std::vector* halStreams, bool* supportsPartialResults, int32_t* partialResultCount, std::shared_ptr* outCb, int32_t* jpegBufferSize, - bool* useHalBufManager) { + std::set* halBufManagedStreamIds) { ASSERT_NE(nullptr, session); ASSERT_NE(nullptr, halStreams); ASSERT_NE(nullptr, stream); @@ -3501,7 +3517,7 @@ void CameraAidlTest::configureOfflineStillStream( ASSERT_NE(nullptr, partialResultCount); ASSERT_NE(nullptr, outCb); ASSERT_NE(nullptr, jpegBufferSize); - ASSERT_NE(nullptr, useHalBufManager); + ASSERT_NE(nullptr, halBufManagedStreamIds); std::vector outputStreams; std::shared_ptr cameraDevice; @@ -3528,16 +3544,16 @@ void CameraAidlTest::configureOfflineStillStream( *supportsPartialResults = (*partialResultCount > 1); } - *useHalBufManager = false; - bool sessionHalBufferManager = false; + BufferManagerType bufferManagerType = BufferManagerType::FRAMEWORK; status = find_camera_metadata_ro_entry( staticMeta, ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, &entry); if ((0 == status) && (entry.count == 1)) { - *useHalBufManager = (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5); - sessionHalBufferManager = - (entry.data.u8[0] == - ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE); + if (entry.data.u8[0] == ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_HIDL_DEVICE_3_5) { + bufferManagerType = BufferManagerType::HAL; + } else if (entry.data.u8[0] == + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE) { + bufferManagerType = BufferManagerType::SESSION; + } } auto st = getJpegBufferSize(staticMeta, jpegBufferSize); @@ -3590,11 +3606,11 @@ void CameraAidlTest::configureOfflineStillStream( StreamConfiguration config = {streams, StreamConfigurationMode::NORMAL_MODE, CameraMetadata()}; - ret = configureStreams(*session, config, sessionHalBufferManager, useHalBufManager, halStreams); + ret = configureStreams(*session, config, bufferManagerType, halBufManagedStreamIds, halStreams); ASSERT_TRUE(ret.isOk()); - if (*useHalBufManager) { + if (halBufManagedStreamIds->size() != 0) { (*outCb)->setCurrentStreamConfig(streams, *halStreams); } @@ -3697,7 +3713,7 @@ void CameraAidlTest::processColorSpaceRequest( std::vector halStreams; bool supportsPartialResults = false; - bool useHalBufManager = false; + std::set halBufManagedStreamIds; int32_t partialResultCount = 0; Stream previewStream; std::shared_ptr cb; @@ -3706,7 +3722,7 @@ void CameraAidlTest::processColorSpaceRequest( GRALLOC1_CONSUMER_USAGE_HWCOMPOSER); configureStreams(name, mProvider, PixelFormat::IMPLEMENTATION_DEFINED, &mSession, &previewStream, &halStreams, &supportsPartialResults, &partialResultCount, - &useHalBufManager, &cb, 0, + &halBufManagedStreamIds, &cb, 0, /*maxResolution*/ false, dynamicRangeProfile, colorSpace); ASSERT_NE(mSession, nullptr); @@ -3745,7 +3761,7 @@ void CameraAidlTest::processColorSpaceRequest( auto bufferId = requestId + 1; // Buffer id value 0 is not valid for (const auto& halStream : halStreams) { buffer_handle_t buffer_handle; - if (useHalBufManager) { + if (contains(halBufManagedStreamIds, halStream.id)) { outputBuffers[k] = {halStream.id, 0, NativeHandle(), BufferStatus::OK, NativeHandle(), NativeHandle()}; @@ -3812,10 +3828,12 @@ void CameraAidlTest::processColorSpaceRequest( } } - if (useHalBufManager) { - std::vector streamIds(halStreams.size()); + if (halBufManagedStreamIds.size() != 0) { + std::vector streamIds; for (size_t i = 0; i < streamIds.size(); i++) { - streamIds[i] = halStreams[i].id; + if (contains(halBufManagedStreamIds, halStreams[i].id)) { + streamIds.emplace_back(halStreams[i].id); + } } mSession->signalStreamFlush(streamIds, /*streamConfigCounter*/ 0); cb->waitForBuffersReturned(); diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index b51544fb67..86f0c9b849 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -99,6 +99,11 @@ using ::ndk::ScopedAStatus; class DeviceCb; // Forward declare to break circular header dependency +template +bool contains(const std::set& container, T value) { + return container.find(value) != container.end(); +} + class CameraAidlTest : public ::testing::TestWithParam { public: enum SystemCameraKind { @@ -121,6 +126,8 @@ class CameraAidlTest : public ::testing::TestWithParam { HIDDEN_SECURE_CAMERA }; + enum BufferManagerType { FRAMEWORK = 0, HAL, SESSION }; + struct AvailableStream { int32_t width; int32_t height; @@ -200,11 +207,12 @@ class CameraAidlTest : public ::testing::TestWithParam { std::shared_ptr* session /*out*/, Stream* stream /*out*/, std::vector* halStreams, bool* supportsPartialResults /*out*/, int32_t* partialResultCount /*out*/, std::shared_ptr* outCb /*out*/, - int32_t* jpegBufferSize /*out*/, bool* useHalBufManager /*out*/); + int32_t* jpegBufferSize /*out*/, std::set* halBufManagedStreamIds /*out*/); ndk::ScopedAStatus configureStreams(std::shared_ptr& session, const StreamConfiguration& config, - bool sessionHalBufferManager, bool* useHalBufManager, + BufferManagerType bufferManagerType, + std::set* halBufManagedStreamIds, std::vector* halStreams); void configureStreams( @@ -212,8 +220,9 @@ class CameraAidlTest : public ::testing::TestWithParam { PixelFormat format, std::shared_ptr* session /*out*/, Stream* previewStream /*out*/, std::vector* halStreams /*out*/, bool* supportsPartialResults /*out*/, int32_t* partialResultCount /*out*/, - bool* useHalBufManager /*out*/, std::shared_ptr* outCb /*out*/, - uint32_t streamConfigCounter, bool maxResolution, + std::set* halBufManagedStreamIds /*out*/, + std::shared_ptr* outCb /*out*/, uint32_t streamConfigCounter, + bool maxResolution, RequestAvailableDynamicRangeProfilesMap dynamicRangeProf = RequestAvailableDynamicRangeProfilesMap:: ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD, @@ -227,7 +236,7 @@ class CameraAidlTest : public ::testing::TestWithParam { const std::unordered_set& physicalIds, std::shared_ptr* session /*out*/, Stream* previewStream /*out*/, std::vector* halStreams /*out*/, bool* supportsPartialResults /*out*/, - int32_t* partialResultCount /*out*/, bool* useHalBufManager /*out*/, + int32_t* partialResultCount /*out*/, std::set* halBufManagedStreamIds /*out*/, std::shared_ptr* cb /*out*/, int32_t streamConfigCounter = 0, bool allowUnsupport = false); From 870da833b610b7e41be611293b6aab5a04123050 Mon Sep 17 00:00:00 2001 From: Vinay Gannevaram Date: Thu, 4 Jan 2024 17:05:46 +0530 Subject: [PATCH 055/198] RTT: Add OuiKeyedData List in ranging APIs Add vendor data in ranging API and event as OuiKeyedData List. Bug: 296069900 Test: m Change-Id: Ifaf8c3f49624cbf8c760157d329c2e022935a9c3 --- .../current/android/hardware/wifi/RttCapabilities.aidl | 1 + .../current/android/hardware/wifi/RttConfig.aidl | 1 + .../current/android/hardware/wifi/RttResult.aidl | 1 + wifi/aidl/android/hardware/wifi/RttCapabilities.aidl | 6 ++++++ wifi/aidl/android/hardware/wifi/RttConfig.aidl | 6 ++++++ wifi/aidl/android/hardware/wifi/RttResult.aidl | 6 ++++++ 6 files changed, 21 insertions(+) diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl index af1647dd5d..6c6408454a 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttCapabilities.aidl @@ -46,4 +46,5 @@ parcelable RttCapabilities { int azBwSupport; boolean ntbInitiatorSupported; boolean ntbResponderSupported; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl index b53ff9b526..361361609c 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttConfig.aidl @@ -50,4 +50,5 @@ parcelable RttConfig { android.hardware.wifi.RttBw bw; long ntbMinMeasurementTime; long ntbMaxMeasurementTime; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl index 10c96749c9..13202ba3f2 100644 --- a/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/aidl_api/android.hardware.wifi/current/android/hardware/wifi/RttResult.aidl @@ -65,4 +65,5 @@ parcelable RttResult { long ntbMaxMeasurementTime; byte numTxSpatialStreams; byte numRxSpatialStreams; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; } diff --git a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl index 89b70c9e00..c1939245e9 100644 --- a/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl +++ b/wifi/aidl/android/hardware/wifi/RttCapabilities.aidl @@ -18,6 +18,7 @@ package android.hardware.wifi; import android.hardware.wifi.RttBw; import android.hardware.wifi.RttPreamble; +import android.hardware.wifi.common.OuiKeyedData; /** * RTT Capabilities. @@ -78,4 +79,9 @@ parcelable RttCapabilities { * Whether IEEE 802.11az Non-Trigger-based (non-TB) responder mode is supported. */ boolean ntbResponderSupported; + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; } diff --git a/wifi/aidl/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/android/hardware/wifi/RttConfig.aidl index 7b18708b8d..496ffd2dbc 100644 --- a/wifi/aidl/android/hardware/wifi/RttConfig.aidl +++ b/wifi/aidl/android/hardware/wifi/RttConfig.aidl @@ -21,6 +21,7 @@ import android.hardware.wifi.RttPeerType; import android.hardware.wifi.RttPreamble; import android.hardware.wifi.RttType; import android.hardware.wifi.WifiChannelInfo; +import android.hardware.wifi.common.OuiKeyedData; /** * RTT configuration. @@ -134,4 +135,9 @@ parcelable RttConfig { * Reference: IEEE Std 802.11az-2022 spec, section 9.4.2.298 Ranging Parameters element. */ long ntbMaxMeasurementTime; + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; } diff --git a/wifi/aidl/android/hardware/wifi/RttResult.aidl b/wifi/aidl/android/hardware/wifi/RttResult.aidl index 438bc0a0a8..2f9aefef20 100644 --- a/wifi/aidl/android/hardware/wifi/RttResult.aidl +++ b/wifi/aidl/android/hardware/wifi/RttResult.aidl @@ -21,6 +21,7 @@ import android.hardware.wifi.RttStatus; import android.hardware.wifi.RttType; import android.hardware.wifi.WifiInformationElement; import android.hardware.wifi.WifiRateInfo; +import android.hardware.wifi.common.OuiKeyedData; /** * RTT results. @@ -207,4 +208,9 @@ parcelable RttResult { * A required field for IEEE 802.11az result. */ byte numRxSpatialStreams; + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; } From 40b937be36c609c14b39ccb64e237938e5ab4065 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 27 Dec 2023 13:51:25 -0800 Subject: [PATCH 056/198] Return INVALID_ARG if cont prop rate is 0. Return INVALID_ARG if subscribe to a continuous property with sample rate 0. Test: atest FakeVehicleHardwareTest Bug: 316208952 Change-Id: I2a37ad6c2244d0bed088c700bd0a3ccb98fd4675 --- .../impl/fake_impl/hardware/include/FakeVehicleHardware.h | 2 +- .../impl/fake_impl/hardware/src/FakeVehicleHardware.cpp | 6 +++--- .../fake_impl/hardware/test/FakeVehicleHardwareTest.cpp | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h index 8cd92b3b89..96eff0eef2 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h @@ -294,7 +294,7 @@ class FakeVehicleHardware : public IVehicleHardware { void registerRefreshLocked(PropIdAreaId propIdAreaId, VehiclePropertyStore::EventMode eventMode, float sampleRateHz) REQUIRES(mLock); void unregisterRefreshLocked(PropIdAreaId propIdAreaId) REQUIRES(mLock); - void refreshTimeStampForInterval(int64_t intervalInNanos) EXCLUDES(mLock); + void refreshTimestampForInterval(int64_t intervalInNanos) EXCLUDES(mLock); static aidl::android::hardware::automotive::vehicle::VehiclePropValue createHwInputKeyProp( aidl::android::hardware::automotive::vehicle::VehicleHwKeyInputAction action, diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index 385f616628..d95ffd6d82 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -2109,7 +2109,7 @@ bool FakeVehicleHardware::isVariableUpdateRateSupported(const VehiclePropConfig& return false; } -void FakeVehicleHardware::refreshTimeStampForInterval(int64_t intervalInNanos) { +void FakeVehicleHardware::refreshTimestampForInterval(int64_t intervalInNanos) { std::unordered_map eventModeByPropIdAreaId; @@ -2159,7 +2159,7 @@ void FakeVehicleHardware::registerRefreshLocked(PropIdAreaId propIdAreaId, // This is the first action for the interval, register a timer callback for that interval. auto action = std::make_shared( - [this, intervalInNanos] { refreshTimeStampForInterval(intervalInNanos); }); + [this, intervalInNanos] { refreshTimestampForInterval(intervalInNanos); }); mActionByIntervalInNanos[intervalInNanos] = ActionForInterval{ .propIdAreaIdsToRefresh = {propIdAreaId}, .recurrentAction = action, @@ -2201,7 +2201,7 @@ StatusCode FakeVehicleHardware::subscribePropIdAreaIdLocked( case VehiclePropertyChangeMode::CONTINUOUS: if (sampleRateHz == 0.f) { ALOGE("Must not use sample rate 0 for a continuous property"); - return StatusCode::INTERNAL_ERROR; + return StatusCode::INVALID_ARG; } // For continuous properties, we must generate a new onPropertyChange event // periodically according to the sample rate. diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp index 6d2efd5b5c..909c89dab4 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp @@ -3444,6 +3444,14 @@ TEST_F(FakeVehicleHardwareTest, testSubscribeUnusubscribe_onChange) { << "must not receive on change events if the propId, areaId is unsubscribed"; } +TEST_F(FakeVehicleHardwareTest, testSubscribeContinuous_rate0_mustReturnInvalidArg) { + int32_t propSpeed = toInt(VehicleProperty::PERF_VEHICLE_SPEED); + int32_t areaId = 0; + auto status = getHardware()->subscribe(newSubscribeOptions(propSpeed, areaId, 0)); + + ASSERT_EQ(status, StatusCode::INVALID_ARG); +} + TEST_F(FakeVehicleHardwareTest, testSetHvacTemperatureValueSuggestion) { float CELSIUS = static_cast(toInt(VehicleUnit::CELSIUS)); float FAHRENHEIT = static_cast(toInt(VehicleUnit::FAHRENHEIT)); From 6a4f3a87b9741b384700b885c0ac642d53d7c6de Mon Sep 17 00:00:00 2001 From: shrikar Date: Mon, 16 Oct 2023 18:49:49 +0000 Subject: [PATCH 057/198] Updated JsonConfigLoader to parse access for area configs If access is populated in VehicleAreaConfig, access field will remain empty in VehiclePropConfig. Updated VHAL layer tests to test new access mode granularity logic Added new tests and modified others in JsonConfigLoaderUnitTest to test new parsing logic. Added VTS test to enforce exclusively one of VehiclePropConig.access and the VehicleAreaConfig.access fields are populated. Bug: 290801790 Test: atest JsonConfigLoaderUnitTest Test: atest VtsHalAutomotiveVehicle_TargetTest Change-Id: I6cc4f20c289141123d3e2093e45084109fbf4d9d --- .../include/JsonConfigLoader.h | 15 ++- .../JsonConfigLoader/src/JsonConfigLoader.cpp | 51 +++++--- .../test/JsonConfigLoaderUnitTest.cpp | 112 +++++++++++++++++- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 75 ++++++++++-- 4 files changed, 213 insertions(+), 40 deletions(-) diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h index f3bdbd2343..82e5860780 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h @@ -130,12 +130,9 @@ class JsonConfigParser { std::vector* outPtr, std::vector* errors); // Parses a JSON field to VehiclePropertyAccess or VehiclePropertyChangeMode. template - void parseAccessChangeMode( - const Json::Value& parentJsonNode, const std::string& fieldName, int propId, - const std::string& propStr, - const std::unordered_map& defaultMap, - T* outPtr, std::vector* errors); + void parseAccessChangeMode(const Json::Value& parentJsonNode, const std::string& fieldName, + const std::string& propStr, const T* defaultAccessChangeModePtr, + T* outPtr, std::vector* errors); // Parses a JSON field to RawPropValues. // @@ -145,8 +142,10 @@ class JsonConfigParser { std::vector* errors); // Prase a JSON field as an array of area configs. - void parseAreas(const Json::Value& parentJsonNode, const std::string& fieldName, - ConfigDeclaration* outPtr, std::vector* errors); + void parseAreas( + const Json::Value& parentJsonNode, const std::string& fieldName, + ConfigDeclaration* outPtr, std::vector* errors, + aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess defaultAccess); }; } // namespace jsonconfigloader_impl diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 3e6e7dcf1d..76db891a5b 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -487,10 +487,11 @@ bool JsonConfigParser::tryParseJsonArrayToVariable(const Json::Value& parentJson } template -void JsonConfigParser::parseAccessChangeMode( - const Json::Value& parentJsonNode, const std::string& fieldName, int propId, - const std::string& propStr, const std::unordered_map& defaultMap, - T* outPtr, std::vector* errors) { +void JsonConfigParser::parseAccessChangeMode(const Json::Value& parentJsonNode, + const std::string& fieldName, + const std::string& propStr, + const T* defaultAccessChangeModeValuePtr, T* outPtr, + std::vector* errors) { if (!parentJsonNode.isObject()) { errors->push_back("Node: " + parentJsonNode.toStyledString() + " is not an object"); return; @@ -504,12 +505,11 @@ void JsonConfigParser::parseAccessChangeMode( *outPtr = static_cast(result.value()); return; } - auto it = defaultMap.find(static_cast(propId)); - if (it == defaultMap.end()) { + if (defaultAccessChangeModeValuePtr == NULL) { errors->push_back("No " + fieldName + " specified for property: " + propStr); return; } - *outPtr = it->second; + *outPtr = *defaultAccessChangeModeValuePtr; return; } @@ -538,7 +538,8 @@ bool JsonConfigParser::parsePropValues(const Json::Value& parentJsonNode, } void JsonConfigParser::parseAreas(const Json::Value& parentJsonNode, const std::string& fieldName, - ConfigDeclaration* config, std::vector* errors) { + ConfigDeclaration* config, std::vector* errors, + VehiclePropertyAccess defaultAccess) { if (!parentJsonNode.isObject()) { errors->push_back("Node: " + parentJsonNode.toStyledString() + " is not an object"); return; @@ -546,6 +547,7 @@ void JsonConfigParser::parseAreas(const Json::Value& parentJsonNode, const std:: if (!parentJsonNode.isMember(fieldName)) { return; } + std::string propStr = parentJsonNode["property"].toStyledString(); const Json::Value& jsonValue = parentJsonNode[fieldName]; if (!jsonValue.isArray()) { @@ -561,6 +563,8 @@ void JsonConfigParser::parseAreas(const Json::Value& parentJsonNode, const std:: } VehicleAreaConfig areaConfig = {}; areaConfig.areaId = areaId; + parseAccessChangeMode(jsonAreaConfig, "access", propStr, &defaultAccess, &areaConfig.access, + errors); tryParseJsonValueToVariable(jsonAreaConfig, "minInt32Value", /*optional=*/true, &areaConfig.minInt32Value, errors); tryParseJsonValueToVariable(jsonAreaConfig, "maxInt32Value", /*optional=*/true, @@ -608,12 +612,21 @@ std::optional JsonConfigParser::parseEachProperty( configDecl.config.prop = propId; std::string propStr = propJsonValue["property"].toStyledString(); + VehiclePropertyAccess* defaultAccessMode = NULL; + auto itAccess = AccessForVehicleProperty.find(static_cast(propId)); + if (itAccess != AccessForVehicleProperty.end()) { + defaultAccessMode = &itAccess->second; + } + VehiclePropertyChangeMode* defaultChangeMode = NULL; + auto itChangeMode = ChangeModeForVehicleProperty.find(static_cast(propId)); + if (itChangeMode != ChangeModeForVehicleProperty.end()) { + defaultChangeMode = &itChangeMode->second; + } + VehiclePropertyAccess access = VehiclePropertyAccess::NONE; + parseAccessChangeMode(propJsonValue, "access", propStr, defaultAccessMode, &access, errors); - parseAccessChangeMode(propJsonValue, "access", propId, propStr, AccessForVehicleProperty, - &configDecl.config.access, errors); - - parseAccessChangeMode(propJsonValue, "changeMode", propId, propStr, - ChangeModeForVehicleProperty, &configDecl.config.changeMode, errors); + parseAccessChangeMode(propJsonValue, "changeMode", propStr, defaultChangeMode, + &configDecl.config.changeMode, errors); tryParseJsonValueToVariable(propJsonValue, "configString", /*optional=*/true, &configDecl.config.configString, errors); @@ -629,21 +642,23 @@ std::optional JsonConfigParser::parseEachProperty( tryParseJsonValueToVariable(propJsonValue, "maxSampleRate", /*optional=*/true, &configDecl.config.maxSampleRate, errors); - parseAreas(propJsonValue, "areas", &configDecl, errors); - - if (errors->size() != initialErrorCount) { - return std::nullopt; - } + parseAreas(propJsonValue, "areas", &configDecl, errors, access); // If there is no area config, by default we allow variable update rate, so we have to add // a global area config. if (configDecl.config.areaConfigs.size() == 0) { VehicleAreaConfig areaConfig = { .areaId = 0, + .access = access, .supportVariableUpdateRate = true, }; configDecl.config.areaConfigs.push_back(std::move(areaConfig)); } + + if (errors->size() != initialErrorCount) { + return std::nullopt; + } + return configDecl; } diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp index 98826537e7..a13d3dff4e 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp @@ -286,7 +286,8 @@ TEST_F(JsonConfigLoaderUnitTest, testCheckDefaultAccessChangeMode) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::READ); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC); } @@ -307,7 +308,8 @@ TEST_F(JsonConfigLoaderUnitTest, testAccessOverride) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::WRITE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC); } @@ -328,7 +330,8 @@ TEST_F(JsonConfigLoaderUnitTest, testChangeModeOverride) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::READ); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::ON_CHANGE); } @@ -350,7 +353,8 @@ TEST_F(JsonConfigLoaderUnitTest, testCustomProp) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::WRITE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::ON_CHANGE); } @@ -550,10 +554,12 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_Simple) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; ASSERT_EQ(areaConfig.minInt32Value, 1); ASSERT_EQ(areaConfig.maxInt32Value, 7); + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(areaConfig.areaId, HVAC_ALL); } @@ -635,9 +641,11 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesNoSupportedEnumValuesDeclared) ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(areaConfig.areaId, 0); ASSERT_FALSE(areaConfig.supportedEnumValues); } @@ -662,9 +670,11 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesSupportedEnumValues) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(areaConfig.areaId, 0); ASSERT_TRUE(areaConfig.supportedEnumValues); ASSERT_EQ(areaConfig.supportedEnumValues.value().size(), 2u); @@ -692,13 +702,107 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesEmptySupportedEnumValues) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(areaConfig.areaId, 0); ASSERT_FALSE(areaConfig.supportedEnumValues); } +TEST_F(JsonConfigLoaderUnitTest, testAccess_areaOverrideGlobalDefault) { + std::istringstream iss(R"( + { + "properties": [{ + "property": "VehicleProperty::CABIN_LIGHTS_SWITCH", + "areas": [{ + "access": "VehiclePropertyAccess::READ", + "areaId": 0 + }] + }] + } + )"); + + auto result = mLoader.loadPropConfig(iss); + ASSERT_TRUE(result.ok()); + + auto configs = result.value(); + ASSERT_EQ(configs.size(), 1u); + + const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.areaConfigs.size(), 1u); + + const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); + ASSERT_EQ(areaConfig.areaId, 0); +} + +TEST_F(JsonConfigLoaderUnitTest, testAccess_globalOverrideDefault) { + std::istringstream iss(R"( + { + "properties": [{ + "property": "VehicleProperty::CABIN_LIGHTS_SWITCH", + "areas": [{ + "areaId": 0 + }], + "access": "VehiclePropertyAccess::READ" + }] + } + )"); + + auto result = mLoader.loadPropConfig(iss); + ASSERT_TRUE(result.ok()); + + auto configs = result.value(); + ASSERT_EQ(configs.size(), 1u); + + const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.areaConfigs.size(), 1u); + + const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; + ASSERT_EQ(areaConfig.access, VehiclePropertyAccess::READ); + ASSERT_EQ(areaConfig.areaId, 0); +} + +TEST_F(JsonConfigLoaderUnitTest, testAccess_areaOverrideGlobal) { + std::istringstream iss(R"( + { + "properties": [{ + "property": "VehicleProperty::CABIN_LIGHTS_SWITCH", + "areas": [{ + "access": "VehiclePropertyAccess::WRITE", + "areaId": 0 + }, + { + "areaId": 1 + }], + "access": "VehiclePropertyAccess::READ", + }] + } + )"); + + auto result = mLoader.loadPropConfig(iss); + ASSERT_TRUE(result.ok()); + + auto configs = result.value(); + ASSERT_EQ(configs.size(), 1u); + + const VehiclePropConfig& config = configs.begin()->second.config; + ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.areaConfigs.size(), 2u); + + const VehicleAreaConfig& areaConfig1 = config.areaConfigs[0]; + ASSERT_EQ(areaConfig1.access, VehiclePropertyAccess::WRITE); + ASSERT_EQ(areaConfig1.areaId, 0); + + const VehicleAreaConfig& areaConfig2 = config.areaConfigs[1]; + ASSERT_EQ(areaConfig2.access, VehiclePropertyAccess::READ); + ASSERT_EQ(areaConfig2.areaId, 1); +} + } // namespace vehicle } // namespace automotive } // namespace hardware diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index b5ee335ff6..b0e44ae649 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -119,6 +119,7 @@ class VtsHalAutomotiveVehicleTargetTest : public testing::TestWithParamgetAccess() != toInt(VehiclePropertyAccess::NONE)) { + isReadWrite = (cfg.getAreaConfigs()[0]->getAccess() == + toInt(VehiclePropertyAccess::READ_WRITE)); + } + if (isReadWrite && isBooleanGlobalProp(propId) && !hvacProps.count(propId)) { auto propToGet = mVhalClient->createHalPropValue(propId); auto getValueResult = mVhalClient->getValueSync(*propToGet); @@ -469,6 +475,53 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, testGetValuesTimestampAIDL) { } } +// Test that access mode is populated in exclusively one of the VehiclePropConfig or the +// VehicleAreaConfigs. Either VehiclePropConfig.access must be populated, or all the +// VehicleAreaConfig.access fields should be populated. +TEST_P(VtsHalAutomotiveVehicleTargetTest, testAccessModeExclusivityAIDL) { + if (!mVhalClient->isAidlVhal()) { + GTEST_SKIP() << "Skip checking access mode for HIDL because the access mode field is only " + "present for AIDL"; + } + + auto result = mVhalClient->getAllPropConfigs(); + ASSERT_TRUE(result.ok()); + for (const auto& cfgPtr : result.value()) { + const IHalPropConfig& cfg = *cfgPtr; + + bool propAccessIsSet = (cfg.getAccess() != toInt(VehiclePropertyAccess::NONE)); + bool unsetAreaAccessExists = false; + bool setAreaAccessExists = false; + + for (const auto& areaConfig : cfg.getAreaConfigs()) { + if (areaConfig->getAccess() == toInt(VehiclePropertyAccess::NONE)) { + unsetAreaAccessExists = true; + } else { + setAreaAccessExists = true; + } + } + + ASSERT_FALSE(propAccessIsSet && setAreaAccessExists) << StringPrintf( + "Both prop and area config access is set for propertyId %d", cfg.getPropId()); + ASSERT_FALSE(!propAccessIsSet && !setAreaAccessExists) << StringPrintf( + "Neither prop and area config access is set for propertyId %d", cfg.getPropId()); + ASSERT_FALSE(unsetAreaAccessExists && setAreaAccessExists) << StringPrintf( + "Area access is only set in some configs for propertyId %d", cfg.getPropId()); + } +} + +void VtsHalAutomotiveVehicleTargetTest::verifyAccessMode(int actualAccess, int expectedAccess) { + if (expectedAccess == toInt(VehiclePropertyAccess::READ_WRITE)) { + ASSERT_TRUE(actualAccess == expectedAccess || + actualAccess == toInt(VehiclePropertyAccess::READ)) + << StringPrintf("Expect to get VehiclePropertyAccess: %i or %i, got %i", + expectedAccess, toInt(VehiclePropertyAccess::READ), actualAccess); + return; + } + ASSERT_EQ(actualAccess, expectedAccess) << StringPrintf( + "Expect to get VehiclePropertyAccess: %i, got %i", expectedAccess, actualAccess); +} + // Helper function to compare actual vs expected property config void VtsHalAutomotiveVehicleTargetTest::verifyProperty(VehicleProperty propId, VehiclePropertyAccess access, @@ -511,7 +564,6 @@ void VtsHalAutomotiveVehicleTargetTest::verifyProperty(VehicleProperty propId, const auto& config = result.value().at(0); int actualPropId = config->getPropId(); - int actualAccess = config->getAccess(); int actualChangeMode = config->getChangeMode(); int actualGroup = actualPropId & toInt(VehiclePropertyGroup::MASK); int actualArea = actualPropId & toInt(VehicleArea::MASK); @@ -520,14 +572,17 @@ void VtsHalAutomotiveVehicleTargetTest::verifyProperty(VehicleProperty propId, ASSERT_EQ(actualPropId, expectedPropId) << StringPrintf("Expect to get property ID: %i, got %i", expectedPropId, actualPropId); - if (expectedAccess == toInt(VehiclePropertyAccess::READ_WRITE)) { - ASSERT_TRUE(actualAccess == expectedAccess || - actualAccess == toInt(VehiclePropertyAccess::READ)) - << StringPrintf("Expect to get VehiclePropertyAccess: %i or %i, got %i", - expectedAccess, toInt(VehiclePropertyAccess::READ), actualAccess); + int globalAccess = config->getAccess(); + if (config->getAreaConfigSize() == 0) { + verifyAccessMode(globalAccess, expectedAccess); } else { - ASSERT_EQ(actualAccess, expectedAccess) << StringPrintf( - "Expect to get VehiclePropertyAccess: %i, got %i", expectedAccess, actualAccess); + for (const auto& areaConfig : config->getAreaConfigs()) { + int areaConfigAccess = areaConfig->getAccess(); + int actualAccess = (areaConfigAccess != toInt(VehiclePropertyAccess::NONE)) + ? areaConfigAccess + : globalAccess; + verifyAccessMode(actualAccess, expectedAccess); + } } ASSERT_EQ(actualChangeMode, expectedChangeMode) From 5f21fc7462d1d908c52bacdf98cc3e04eb45172f Mon Sep 17 00:00:00 2001 From: yomna Date: Wed, 3 Jan 2024 17:51:37 +0000 Subject: [PATCH 058/198] Clarify securityAlgorithmsUpdated and add new null enums Per vendor feedback, adds SRTP_NULL, IMS_NULL, clarifies VoWiFi are reserved for future use, and when state for securityAlgorithmsUpdated is expected to be cleared. Bug: b/318426372, b/318425921, b/318426377, b/318427053 Test: m Change-Id: I465e97a445d330088fb58d2ccc9481cfe360fc07 --- .../radio/network/SecurityAlgorithm.aidl | 6 +++--- .../radio/network/IRadioNetworkIndication.aidl | 16 ++++++++-------- .../radio/network/SecurityAlgorithm.aidl | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl index 3eb51e7e83..c590d2bede 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -57,6 +57,7 @@ enum SecurityAlgorithm { NEA1 = 56, NEA2 = 57, NEA3 = 58, + IMS_NULL = 67, SIP_NULL = 68, AES_GCM = 69, AES_GMAC = 70, @@ -64,9 +65,8 @@ enum SecurityAlgorithm { DES_EDE3_CBC = 72, AES_EDE3_CBC = 73, HMAC_SHA1_96 = 74, - HMAC_SHA1_96_NULL = 75, - HMAC_MD5_96 = 76, - HMAC_MD5_96_NULL = 77, + HMAC_MD5_96 = 75, + SRTP_NULL = 86, SRTP_AES_COUNTER = 87, SRTP_AES_F8 = 88, SRTP_HMAC_SHA1 = 89, diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl index 875a1b2e1a..da82b78d32 100644 --- a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -231,13 +231,12 @@ oneway interface IRadioNetworkIndication { /* * Indicates that a new ciphering or integrity algorithm was used for a particular voice, - * signaling, or data connection attempt for a given PLMN and/or access network. Due to - * power concerns, once a connection type has been reported on, follow-up reports about that + * signaling, or data connection for a given PLMN and/or access network. Due to power + * concerns, once a connection type has been reported on, follow-up reports about that * connection type are only generated if there is any change to the most-recently reported * encryption or integrity, or if the value of SecurityAlgorithmUpdate#isUnprotectedEmergency - * changes. Thus the AP is only to be notified when there is new information. A change only in - * cell ID should not trigger an update, as the design is intended to be agnostic to dual - * connectivity ("secondary serving cells"). + * changes. A change only in cell ID should not trigger an update, as the design is intended + * to be agnostic to dual connectivity ("secondary serving cells"). * * Sample scenario to further clarify "most-recently reported": * @@ -246,9 +245,10 @@ oneway interface IRadioNetworkIndication { * 3. User returns to original location and reconnects to the null-ciphered 3G network. Modem * should report this as it's different than the most-recently reported data from step (2). * - * List is reset upon rebooting thus info about initial connections is always passed to the AP - * after a reboot. List is also reset if the SIM is changed or if there has been a change in - * the access network. + * State is reset when (1) RadioState is transitioned to ON from any other state (e.g. radio + * is turned on during device boot, or modem boot), and (2) when CardState is transitioned + * to PRESENT from any other state (e.g. when SIM is inserted), or (3) if there is a change in + * access network (PLMN). * * @param type Type of radio indication * @param securityAlgorithmUpdate SecurityAlgorithmUpdate encapsulates details of security diff --git a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl index fefa26edd0..19feeeff59 100644 --- a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -59,7 +59,8 @@ enum SecurityAlgorithm { NEA2 = 57, NEA3 = 58, - // SIP layer security (See 3GPP TS 33.203) + // IMS and SIP layer security (See 3GPP TS 33.203) + IMS_NULL = 67, SIP_NULL = 68, AES_GCM = 69, AES_GMAC = 70, @@ -67,16 +68,15 @@ enum SecurityAlgorithm { DES_EDE3_CBC = 72, AES_EDE3_CBC = 73, HMAC_SHA1_96 = 74, - HMAC_SHA1_96_NULL = 75, - HMAC_MD5_96 = 76, - HMAC_MD5_96_NULL = 77, + HMAC_MD5_96 = 75, // RTP (see 3GPP TS 33.328) + SRTP_NULL = 86, SRTP_AES_COUNTER = 87, SRTP_AES_F8 = 88, SRTP_HMAC_SHA1 = 89, - // ePDG (3GPP TS 33.402) + // ePDG (3GPP TS 33.402) (reserved for future use) ENCR_AES_GCM_16 = 99, ENCR_AES_CBC = 100, AUTH_HMAC_SHA2_256_128 = 101, From 23b29d6f69d8c981fe09449d470f46b5b24a94fe Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Thu, 4 Jan 2024 15:22:11 -0800 Subject: [PATCH 059/198] Update audio common dependency in audio control HAL Upgraded audio common dependency to V3 in AIDL audio control dependency. Bug: 307967844 Test: atest VtsAidlHalAudioControlTest Change-Id: I40f8e03c128893a609bdf7e5e0d815c0602ba758 --- automotive/audiocontrol/aidl/default/Android.bp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/automotive/audiocontrol/aidl/default/Android.bp b/automotive/audiocontrol/aidl/default/Android.bp index 435c2d63de..a48d22893e 100644 --- a/automotive/audiocontrol/aidl/default/Android.bp +++ b/automotive/audiocontrol/aidl/default/Android.bp @@ -27,11 +27,13 @@ cc_binary { init_rc: ["audiocontrol-default.rc"], vintf_fragments: ["audiocontrol-default.xml"], vendor: true, + defaults: [ + "latest_android_hardware_audio_common_ndk_shared", + "latest_android_hardware_automotive_audiocontrol_ndk_shared", + ], shared_libs: [ "android.hardware.audio.common@7.0-enums", - "android.hardware.audio.common-V1-ndk", "android.frameworks.automotive.powerpolicy-V2-ndk", - "android.hardware.automotive.audiocontrol-V3-ndk", "libbase", "libbinder_ndk", "libcutils", From c67c887c5aa8cb81b905fe4462addfd86854de38 Mon Sep 17 00:00:00 2001 From: Wiwit Rifa'i Date: Thu, 4 Jan 2024 17:51:34 +0800 Subject: [PATCH 060/198] composer: vts: update getClientTargetSupport tests Ensure the primary display to set power on before running getClientTargetSupport tests for VTS 2.1 - 2.3. Bug: 308252481 Test: atest VtsHalGraphicsComposerV2_1TargetTest Test: atest VtsHalGraphicsComposerV2_2TargetTest Test: atest VtsHalGraphicsComposerV2_3TargetTest Change-Id: I6b793537ee42c87f37c4c1d7141364541f448134 --- .../2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp | 2 ++ .../2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp | 2 ++ .../2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp index b67cfc2114..a1992b9a7d 100644 --- a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp +++ b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp @@ -315,6 +315,8 @@ TEST_P(GraphicsComposerHidlTest, GetDisplayType) { * required client targets. */ TEST_P(GraphicsComposerHidlTest, GetClientTargetSupport) { + ASSERT_NO_FATAL_FAILURE( + mComposerClient->setPowerMode(mPrimaryDisplay, IComposerClient::PowerMode::ON)); std::vector configs = mComposerClient->getDisplayConfigs(mPrimaryDisplay); for (auto config : configs) { int32_t width = mComposerClient->getDisplayAttribute(mPrimaryDisplay, config, diff --git a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp index 2bd287b29d..cd4cb58aed 100644 --- a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp +++ b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp @@ -256,6 +256,8 @@ TEST_P(GraphicsComposerHidlTest, CreateVirtualDisplay_2_2) { * required client targets. */ TEST_P(GraphicsComposerHidlTest, GetClientTargetSupport_2_2) { + ASSERT_NO_FATAL_FAILURE( + mComposerClient->setPowerMode_2_2(mPrimaryDisplay, IComposerClient::PowerMode::ON)); std::vector configs = mComposerClient->getDisplayConfigs(mPrimaryDisplay); for (auto config : configs) { int32_t width = mComposerClient->getDisplayAttribute(mPrimaryDisplay, config, diff --git a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp index c072ef08a9..f99c72d7b5 100644 --- a/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp +++ b/graphics/composer/2.3/vts/functional/VtsHalGraphicsComposerV2_3TargetTest.cpp @@ -274,6 +274,8 @@ TEST_P(GraphicsComposerHidlTest, GetReadbackBufferAttributes_2_3) { * Test IComposerClient::getClientTargetSupport_2_3 */ TEST_P(GraphicsComposerHidlTest, GetClientTargetSupport_2_3) { + ASSERT_NO_FATAL_FAILURE( + mComposerClient->setPowerMode_2_2(mPrimaryDisplay, IComposerClient::PowerMode::ON)); std::vector configs = mComposerClient->getDisplayConfigs(mPrimaryDisplay); for (auto config : configs) { int32_t width = mComposerClient->getDisplayAttribute(mPrimaryDisplay, config, From 4aca35e205336d88e554a4f87155cad114379606 Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Thu, 4 Jan 2024 22:40:33 +0000 Subject: [PATCH 061/198] Support Face Virtual HAL operation latency randomization Bug: 294254230 Test: atest android.hardware.biometrics.face.* Change-Id: I1e0c2ba2f0f6756c79375b56c7d1a10f7f3bf5c4 --- .../face/aidl/default/FakeFaceEngine.cpp | 35 ++++++- biometrics/face/aidl/default/FakeFaceEngine.h | 2 + .../face/aidl/default/FakeLockoutTracker.h | 2 + ...e.biometrics.face.VirtualProps-current.txt | 98 ------------------- biometrics/face/aidl/default/face.sysprop | 52 +++++----- .../aidl/default/tests/FakeFaceEngineTest.cpp | 27 +++++ 6 files changed, 89 insertions(+), 127 deletions(-) diff --git a/biometrics/face/aidl/default/FakeFaceEngine.cpp b/biometrics/face/aidl/default/FakeFaceEngine.cpp index 7380611853..bdc13fd403 100644 --- a/biometrics/face/aidl/default/FakeFaceEngine.cpp +++ b/biometrics/face/aidl/default/FakeFaceEngine.cpp @@ -70,7 +70,7 @@ void FakeFaceEngine::enrollImpl(ISessionCallback* cb, const keymaster::HardwareA EnrollmentType /*enrollmentType*/, const std::vector& /*features*/, const std::future& cancel) { - BEGIN_OP(FaceHalProperties::operation_start_enroll_latency().value_or(0)); + BEGIN_OP(getLatency(FaceHalProperties::operation_enroll_latency())); // Do proper HAT verification in the real implementation. if (hat.mac.empty()) { @@ -158,7 +158,7 @@ void FakeFaceEngine::enrollImpl(ISessionCallback* cb, const keymaster::HardwareA void FakeFaceEngine::authenticateImpl(ISessionCallback* cb, int64_t /*operationId*/, const std::future& cancel) { - BEGIN_OP(FaceHalProperties::operation_authenticate_latency().value_or(0)); + BEGIN_OP(getLatency(FaceHalProperties::operation_authenticate_latency())); auto id = FaceHalProperties::enrollment_hit().value_or(0); auto enrolls = FaceHalProperties::enrollments(); @@ -291,7 +291,7 @@ std::pair FakeFaceEngine::convertError(int32_t code) { } void FakeFaceEngine::detectInteractionImpl(ISessionCallback* cb, const std::future& cancel) { - BEGIN_OP(FaceHalProperties::operation_detect_interaction_latency().value_or(0)); + BEGIN_OP(getLatency(FaceHalProperties::operation_detect_interaction_latency())); if (FaceHalProperties::operation_detect_interaction_fails().value_or(false)) { LOG(ERROR) << "Fail: operation_detect_interaction_fails"; @@ -418,4 +418,33 @@ void FakeFaceEngine::resetLockoutImpl(ISessionCallback* cb, cb->onLockoutCleared(); } +int32_t FakeFaceEngine::getRandomInRange(int32_t bound1, int32_t bound2) { + std::uniform_int_distribution dist(std::min(bound1, bound2), std::max(bound1, bound2)); + return dist(mRandom); +} + +int32_t FakeFaceEngine::getLatency(const std::vector>& latencyIn) { + int32_t res = DEFAULT_LATENCY; + + std::vector latency; + for (auto x : latencyIn) + if (x.has_value()) latency.push_back(*x); + + switch (latency.size()) { + case 0: + break; + case 1: + res = latency[0]; + break; + case 2: + res = getRandomInRange(latency[0], latency[1]); + break; + default: + LOG(ERROR) << "ERROR: unexpected input of size " << latency.size(); + break; + } + + return res; +} + } // namespace aidl::android::hardware::biometrics::face diff --git a/biometrics/face/aidl/default/FakeFaceEngine.h b/biometrics/face/aidl/default/FakeFaceEngine.h index 8d9303c491..b1e1388186 100644 --- a/biometrics/face/aidl/default/FakeFaceEngine.h +++ b/biometrics/face/aidl/default/FakeFaceEngine.h @@ -60,6 +60,7 @@ class FakeFaceEngine { void getAuthenticatorIdImpl(ISessionCallback* cb); void invalidateAuthenticatorIdImpl(ISessionCallback* cb); void resetLockoutImpl(ISessionCallback* cb, const keymaster::HardwareAuthToken& /*hat*/); + int32_t getLatency(const std::vector>& latencyVec); virtual std::string toString() const { std::ostringstream os; @@ -71,6 +72,7 @@ class FakeFaceEngine { std::mt19937 mRandom; private: + int32_t getRandomInRange(int32_t bound1, int32_t bound2); static constexpr int32_t FACE_ACQUIRED_VENDOR_BASE = 1000; static constexpr int32_t FACE_ERROR_VENDOR_BASE = 1000; std::pair convertAcquiredInfo(int32_t code); diff --git a/biometrics/face/aidl/default/FakeLockoutTracker.h b/biometrics/face/aidl/default/FakeLockoutTracker.h index f2d38f3608..82cc3133b1 100644 --- a/biometrics/face/aidl/default/FakeLockoutTracker.h +++ b/biometrics/face/aidl/default/FakeLockoutTracker.h @@ -28,7 +28,9 @@ class FakeLockoutTracker { public: FakeLockoutTracker() : mFailedCount(0), + mTimedFailedCount(0), mLastFailedTime(0), + mCurrentMode(LockoutMode::kNone), mIsLockoutTimerStarted(false), mIsLockoutTimerAborted(false) {} ~FakeLockoutTracker() {} diff --git a/biometrics/face/aidl/default/api/android.hardware.biometrics.face.VirtualProps-current.txt b/biometrics/face/aidl/default/api/android.hardware.biometrics.face.VirtualProps-current.txt index 95489205f6..e69de29bb2 100644 --- a/biometrics/face/aidl/default/api/android.hardware.biometrics.face.VirtualProps-current.txt +++ b/biometrics/face/aidl/default/api/android.hardware.biometrics.face.VirtualProps-current.txt @@ -1,98 +0,0 @@ -props { - owner: Vendor - module: "android.face.virt.FaceHalProperties" - prop { - api_name: "authenticator_id" - type: Long - access: ReadWrite - prop_name: "vendor.face.virtual.authenticator_id" - } - prop { - api_name: "challenge" - type: Long - access: ReadWrite - prop_name: "vendor.face.virtual.challenge" - } - prop { - api_name: "enrollment_hit" - type: Integer - access: ReadWrite - prop_name: "vendor.face.virtual.enrollment_hit" - } - prop { - api_name: "enrollments" - type: IntegerList - access: ReadWrite - prop_name: "persist.vendor.face.virtual.enrollments" - } - prop { - api_name: "features" - type: IntegerList - access: ReadWrite - prop_name: "persist.vendor.face.virtual.features" - } - prop { - api_name: "lockout" - access: ReadWrite - prop_name: "vendor.face.virtual.lockout" - } - prop { - api_name: "next_enrollment" - type: String - access: ReadWrite - prop_name: "vendor.face.virtual.next_enrollment" - } - prop { - api_name: "operation_authenticate_duration" - type: Integer - access: ReadWrite - prop_name: "vendor.face.virtual.operation_authenticate_duration" - } - prop { - api_name: "operation_authenticate_fails" - access: ReadWrite - prop_name: "vendor.face.virtual.operation_authenticate_fails" - } - prop { - api_name: "operation_authenticate_latency" - type: Integer - access: ReadWrite - prop_name: "vendor.face.virtual.operation_authenticate_latency" - } - prop { - api_name: "operation_detect_interaction_fails" - access: ReadWrite - prop_name: "vendor.face.virtual.operation_detect_interaction_fails" - } - prop { - api_name: "operation_detect_interaction_latency" - type: Integer - access: ReadWrite - prop_name: "vendor.face.virtual.operation_detect_interaction_latency" - } - prop { - api_name: "operation_enroll_fails" - access: ReadWrite - prop_name: "vendor.face.virtual.operation_enroll_fails" - } - prop { - api_name: "operation_start_enroll_latency" - type: Integer - access: ReadWrite - prop_name: "vendor.face.virtual.operation_start_enroll_latency" - } - prop { - api_name: "strength" - type: String - access: ReadWrite - prop_name: "persist.vendor.face.virtual.strength" - enum_values: "convenience|weak|strong" - } - prop { - api_name: "type" - type: String - access: ReadWrite - prop_name: "persist.vendor.face.virtual.type" - enum_values: "IR|RGB" - } -} diff --git a/biometrics/face/aidl/default/face.sysprop b/biometrics/face/aidl/default/face.sysprop index 95b0b43ca7..997fd671ac 100644 --- a/biometrics/face/aidl/default/face.sysprop +++ b/biometrics/face/aidl/default/face.sysprop @@ -7,7 +7,7 @@ owner: Vendor prop { prop_name: "persist.vendor.face.virtual.type" type: String - scope: Public + scope: Internal access: ReadWrite enum_values: "IR|RGB" api_name: "type" @@ -17,7 +17,7 @@ prop { prop { prop_name: "persist.vendor.face.virtual.strength" type: String - scope: Public + scope: Internal access: ReadWrite enum_values: "convenience|weak|strong" api_name: "strength" @@ -27,7 +27,7 @@ prop { prop { prop_name: "persist.vendor.face.virtual.enrollments" type: IntegerList - scope: Public + scope: Internal access: ReadWrite api_name: "enrollments" } @@ -36,7 +36,7 @@ prop { prop { prop_name: "persist.vendor.face.virtual.features" type: IntegerList - scope: Public + scope: Internal access: ReadWrite api_name: "features" } @@ -46,20 +46,11 @@ prop { prop { prop_name: "vendor.face.virtual.enrollment_hit" type: Integer - scope: Public + scope: Internal access: ReadWrite api_name: "enrollment_hit" } -# The initial latency for enrollment -prop { - prop_name: "vendor.face.virtual.operation_start_enroll_latency" - type: Integer - scope: Public - access: ReadWrite - api_name: "operation_start_enroll_latency" -} - # the next enrollment in the format: # ",::,..." # for example: "0:1,0:100:1,1:200:1" indicating that bucket 0 took @@ -69,7 +60,7 @@ prop { prop { prop_name: "vendor.face.virtual.next_enrollment" type: String - scope: Public + scope: Internal access: ReadWrite api_name: "next_enrollment" } @@ -78,7 +69,7 @@ prop { prop { prop_name: "vendor.face.virtual.authenticator_id" type: Long - scope: Public + scope: Internal access: ReadWrite api_name: "authenticator_id" } @@ -87,7 +78,7 @@ prop { prop { prop_name: "vendor.face.virtual.challenge" type: Long - scope: Public + scope: Internal access: ReadWrite api_name: "challenge" } @@ -96,7 +87,7 @@ prop { prop { prop_name: "vendor.face.virtual.lockout" type: Boolean - scope: Public + scope: Internal access: ReadWrite api_name: "lockout" } @@ -105,7 +96,7 @@ prop { prop { prop_name: "vendor.face.virtual.operation_authenticate_fails" type: Boolean - scope: Public + scope: Internal access: ReadWrite api_name: "operation_authenticate_fails" } @@ -114,7 +105,7 @@ prop { prop { prop_name: "vendor.face.virtual.operation_detect_interaction_fails" type: Boolean - scope: Public + scope: Internal access: ReadWrite api_name: "operation_detect_interaction_fails" } @@ -123,7 +114,7 @@ prop { prop { prop_name: "vendor.face.virtual.operation_enroll_fails" type: Boolean - scope: Public + scope: Internal access: ReadWrite api_name: "operation_enroll_fails" } @@ -133,8 +124,8 @@ prop { # the HAL will send AcquiredInfo::START and AcquiredInfo::FIRST_FRAME_RECEIVED prop { prop_name: "vendor.face.virtual.operation_authenticate_latency" - type: Integer - scope: Public + type: IntegerList + scope: Internal access: ReadWrite api_name: "operation_authenticate_latency" } @@ -142,18 +133,27 @@ prop { # add a latency to detectInteraction operations prop { prop_name: "vendor.face.virtual.operation_detect_interaction_latency" - type: Integer - scope: Public + type: IntegerList + scope: Internal access: ReadWrite api_name: "operation_detect_interaction_latency" } +# add a latency to enroll operations +prop { + prop_name: "vendor.face.virtual.operation_enroll_latency" + type: IntegerList + scope: Internal + access: ReadWrite + api_name: "operation_enroll_latency" +} + # millisecond duration for authenticate operations # (waits for changes to enrollment_hit) prop { prop_name: "vendor.face.virtual.operation_authenticate_duration" type: Integer - scope: Public + scope: Internal access: ReadWrite api_name: "operation_authenticate_duration" } diff --git a/biometrics/face/aidl/default/tests/FakeFaceEngineTest.cpp b/biometrics/face/aidl/default/tests/FakeFaceEngineTest.cpp index 69c9bf457b..8c39b589af 100644 --- a/biometrics/face/aidl/default/tests/FakeFaceEngineTest.cpp +++ b/biometrics/face/aidl/default/tests/FakeFaceEngineTest.cpp @@ -22,6 +22,7 @@ #include #include "FakeFaceEngine.h" +#include "util/Util.h" using namespace ::android::face::virt; using namespace ::aidl::android::hardware::biometrics::face; @@ -137,11 +138,15 @@ class FakeFaceEngineTest : public ::testing::Test { void SetUp() override { LOG(ERROR) << "JRM SETUP"; mCallback = ndk::SharedRefBase::make(); + } + + void TearDown() override { FaceHalProperties::enrollments({}); FaceHalProperties::challenge({}); FaceHalProperties::features({}); FaceHalProperties::authenticator_id({}); FaceHalProperties::strength(""); + FaceHalProperties::operation_detect_interaction_latency({}); } FakeFaceEngine mEngine; @@ -383,4 +388,26 @@ TEST_F(FakeFaceEngineTest, ResetLockoutWithAuth) { ASSERT_FALSE(mCallback->mAuthenticateFailed); } +TEST_F(FakeFaceEngineTest, LatencyDefault) { + FaceHalProperties::operation_detect_interaction_latency({}); + ASSERT_EQ(DEFAULT_LATENCY, + mEngine.getLatency(FaceHalProperties::operation_detect_interaction_latency())); +} + +TEST_F(FakeFaceEngineTest, LatencyFixed) { + FaceHalProperties::operation_detect_interaction_latency({10}); + ASSERT_EQ(10, mEngine.getLatency(FaceHalProperties::operation_detect_interaction_latency())); +} + +TEST_F(FakeFaceEngineTest, LatencyRandom) { + FaceHalProperties::operation_detect_interaction_latency({1, 1000}); + std::set latencySet; + for (int i = 0; i < 100; i++) { + auto x = mEngine.getLatency(FaceHalProperties::operation_detect_interaction_latency()); + ASSERT_TRUE(x >= 1 && x <= 1000); + latencySet.insert(x); + } + ASSERT_TRUE(latencySet.size() > 95); // unique values +} + } // namespace aidl::android::hardware::biometrics::face From 3bc635e7b7e2565505827f20df39d1481c5c68eb Mon Sep 17 00:00:00 2001 From: Grant Menke Date: Thu, 4 Jan 2024 11:48:48 -0800 Subject: [PATCH 062/198] Updated VTS getSimultaneousCallingSupport test. This CL updates the getSimultaneousCallingSupport VTS test to ensure that REQUEST_NOT_SUPPORTED is not returned and that enabledLogicalSlots is set to an empty array by default for the default CF impl. Test: VtsHalRadioTargetTest Bug: 311495663 Change-Id: Ie382c14a19951bb69c7b7db4056f0e9dabc27685 --- radio/aidl/vts/radio_config_response.cpp | 3 ++- radio/aidl/vts/radio_config_test.cpp | 9 ++++++++- radio/aidl/vts/radio_config_utils.h | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/radio/aidl/vts/radio_config_response.cpp b/radio/aidl/vts/radio_config_response.cpp index dccbd0e9c5..c532440dcc 100644 --- a/radio/aidl/vts/radio_config_response.cpp +++ b/radio/aidl/vts/radio_config_response.cpp @@ -41,8 +41,9 @@ ndk::ScopedAStatus RadioConfigResponse::getPhoneCapabilityResponse( } ndk::ScopedAStatus RadioConfigResponse::getSimultaneousCallingSupportResponse( - const RadioResponseInfo& info, const std::vector& /* enabledLogicalSlots */) { + const RadioResponseInfo& info, const std::vector& enabledLogicalSlots) { rspInfo = info; + currentEnabledLogicalSlots = enabledLogicalSlots; parent_config.notify(info.serial); return ndk::ScopedAStatus::ok(); } diff --git a/radio/aidl/vts/radio_config_test.cpp b/radio/aidl/vts/radio_config_test.cpp index f7251367c3..6f18d18c49 100644 --- a/radio/aidl/vts/radio_config_test.cpp +++ b/radio/aidl/vts/radio_config_test.cpp @@ -150,10 +150,17 @@ TEST_P(RadioConfigTest, getSimultaneousCallingSupport) { ALOGI("getSimultaneousCallingSupport, rspInfo.error = %s\n", toString(radioRsp_config->rspInfo.error).c_str()); + // REQUEST_NOT_SUPPORTED is omitted here because users of the V3 HAL should implement this + // method and return at least an empty array ASSERT_TRUE(CheckAnyOfErrors( radioRsp_config->rspInfo.error, {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::INTERNAL_ERR, - RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); + RadioError::MODEM_ERR})); + + if (radioRsp_config->rspInfo.error == RadioError ::NONE) { + // The size of enabledLogicalSLots should be 0 or a positive number: + EXPECT_GE(radioRsp_config->currentEnabledLogicalSlots.size(), 0); + } } /* diff --git a/radio/aidl/vts/radio_config_utils.h b/radio/aidl/vts/radio_config_utils.h index 9e809ff4ef..84c74fcec7 100644 --- a/radio/aidl/vts/radio_config_utils.h +++ b/radio/aidl/vts/radio_config_utils.h @@ -39,6 +39,7 @@ class RadioConfigResponse : public BnRadioConfigResponse { PhoneCapability phoneCap; bool modemReducedFeatureSet1; std::vector simSlotStatus; + std::vector currentEnabledLogicalSlots; virtual ndk::ScopedAStatus getSimSlotsStatusResponse( const RadioResponseInfo& info, const std::vector& slotStatus) override; From e400c835a22356687e38e30681ad7a0c4fae923c Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Fri, 5 Jan 2024 02:33:47 +0000 Subject: [PATCH 063/198] Effect AIDL: add IEffect.reopen to update the effect instances data FMQ The effect instance may choose to reallocate the input data message queue under specific conditions. For example, when the input format changes, requiring an update to the data message queue allocated during the open time. In such cases, the effect instance can destroy the existing data message queue, when the audio framework see a valid status MQ and invalid data MQ, it call reopen to get the new data message queue. Bug: 302036943 Test: m android.hardware.audio.effect-update-api, m Change-Id: Ia245b154176f64bc3cc6e6049bca4f9c68ad482d --- .../hardware/audio/effect/IEffect.aidl | 1 + .../hardware/audio/effect/IEffect.aidl | 37 +++++++++++++++++-- .../android/hardware/audio/effect/state.gv | 6 ++- audio/aidl/default/EffectImpl.cpp | 10 +++++ .../default/include/effect-impl/EffectImpl.h | 1 + 5 files changed, 49 insertions(+), 6 deletions(-) diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl index 8c196e7abf..a1b00be41f 100644 --- a/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/current/android/hardware/audio/effect/IEffect.aidl @@ -41,6 +41,7 @@ interface IEffect { android.hardware.audio.effect.State getState(); void setParameter(in android.hardware.audio.effect.Parameter param); android.hardware.audio.effect.Parameter getParameter(in android.hardware.audio.effect.Parameter.Id paramId); + android.hardware.audio.effect.IEffect.OpenEffectReturn reopen(); @FixedSize @VintfStability parcelable Status { int status; diff --git a/audio/aidl/android/hardware/audio/effect/IEffect.aidl b/audio/aidl/android/hardware/audio/effect/IEffect.aidl index 6097f34ead..266adecc5d 100644 --- a/audio/aidl/android/hardware/audio/effect/IEffect.aidl +++ b/audio/aidl/android/hardware/audio/effect/IEffect.aidl @@ -54,7 +54,16 @@ interface IEffect { } /** - * Return data structure of IEffect.open() interface. + * Return data structure of the IEffect.open() and IEffect.reopen() method. + * + * Contains Fast Message Queues (FMQs) for effect processing status and input/output data. + * The status FMQ remains valid and unchanged after opening, while input/output data FMQs can be + * modified with changes in input/output AudioConfig. If reallocation of data FMQ is necessary, + * the effect instance must release the existing data FMQs to signal the need to the audio + * framework. + * When the audio framework encounters a valid status FMQ and invalid input/output data FMQs, + * it must invoke the IEffect.reopen() method to request the effect instance to reallocate + * the FMQ and return to the audio framework. */ @VintfStability parcelable OpenEffectReturn { @@ -97,7 +106,7 @@ interface IEffect { * client responsibility to make sure all parameter/buffer is correct if client wants to reopen * a closed instance. * - * Effect instance close interface should always succeed unless: + * Effect instance close method should always succeed unless: * 1. The effect instance is not in a proper state to be closed, for example it's still in * State::PROCESSING state. * 2. There is system/hardware related failure when close. @@ -154,8 +163,8 @@ interface IEffect { /** * Get a parameter from the effect instance with parameter ID. * - * This interface must return the current parameter of the effect instance, if no parameter - * has been set by client yet, the default value must be returned. + * This method must return the current parameter of the effect instance, if no parameter has + * been set by client yet, the default value must be returned. * * Must be available for the effect instance after open(). * @@ -165,4 +174,24 @@ interface IEffect { * @throws EX_ILLEGAL_ARGUMENT if the effect instance receive unsupported parameter tag. */ Parameter getParameter(in Parameter.Id paramId); + + /** + * Reopen the effect instance, keeping all previous parameters unchanged, and reallocate only + * the Fast Message Queues (FMQs) allocated during the open time as needed. + * + * When the audio framework encounters a valid status FMQ and invalid data FMQ(s), it calls + * this method to reopen the effect and request the latest data FMQ. + * Upon receiving this call, if the effect instance's data FMQ(s) is invalid, it must reallocate + * the necessary data FMQ(s) and return them to the audio framework. All previous parameters and + * states keep unchanged. + * Once the audio framework successfully completes the call, it must validate the returned FMQs, + * deprecate all old FMQs, and exclusively use the FMQs returned from this method. + * + * @return The reallocated data FMQ and the original status FMQ. + * + * @throws EX_ILLEGAL_STATE if the effect instance is not in a proper state to reallocate FMQ. + * This may occur if the effect instance has already been closed or if there is no need to + * update any data FMQ. + */ + OpenEffectReturn reopen(); } diff --git a/audio/aidl/android/hardware/audio/effect/state.gv b/audio/aidl/android/hardware/audio/effect/state.gv index ce369ba5c8..22c70c8d8f 100644 --- a/audio/aidl/android/hardware/audio/effect/state.gv +++ b/audio/aidl/android/hardware/audio/effect/state.gv @@ -31,6 +31,8 @@ digraph effect_state_machine { IDLE -> INIT[label = "IEffect.close()"]; INIT -> INIT[label = "IEffect.getState\nIEffect.getDescriptor"]; - IDLE -> IDLE[label = "IEffect.getParameter\nIEffect.setParameter\nIEffect.getDescriptor\nIEffect.command(RESET)"]; - PROCESSING -> PROCESSING[label = "IEffect.getParameter\nIEffect.setParameter\nIEffect.getDescriptor"]; + IDLE -> IDLE[label = "IEffect.getParameter\nIEffect.setParameter\nIEffect.getDescriptor\nIEffect.command(RESET)\nIEffect.reopen"]; + PROCESSING + -> PROCESSING + [label = "IEffect.getParameter\nIEffect.setParameter\nIEffect.getDescriptor\nIEffect.reopen"]; } diff --git a/audio/aidl/default/EffectImpl.cpp b/audio/aidl/default/EffectImpl.cpp index c81c731c43..3c12f83e0f 100644 --- a/audio/aidl/default/EffectImpl.cpp +++ b/audio/aidl/default/EffectImpl.cpp @@ -60,6 +60,16 @@ ndk::ScopedAStatus EffectImpl::open(const Parameter::Common& common, return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus EffectImpl::reopen(OpenEffectReturn* ret) { + RETURN_IF(mState == State::INIT, EX_ILLEGAL_STATE, "alreadyClosed"); + + // TODO: b/302036943 add reopen implementation + auto context = getContext(); + RETURN_IF(!context, EX_NULL_POINTER, "nullContext"); + context->dupeFmq(ret); + return ndk::ScopedAStatus::ok(); +} + ndk::ScopedAStatus EffectImpl::close() { RETURN_OK_IF(mState == State::INIT); RETURN_IF(mState == State::PROCESSING, EX_ILLEGAL_STATE, "closeAtProcessing"); diff --git a/audio/aidl/default/include/effect-impl/EffectImpl.h b/audio/aidl/default/include/effect-impl/EffectImpl.h index e7d081f6fc..242a268912 100644 --- a/audio/aidl/default/include/effect-impl/EffectImpl.h +++ b/audio/aidl/default/include/effect-impl/EffectImpl.h @@ -43,6 +43,7 @@ class EffectImpl : public BnEffect, public EffectThread { OpenEffectReturn* ret) override; virtual ndk::ScopedAStatus close() override; virtual ndk::ScopedAStatus command(CommandId id) override; + virtual ndk::ScopedAStatus reopen(OpenEffectReturn* ret) override; virtual ndk::ScopedAStatus getState(State* state) override; virtual ndk::ScopedAStatus setParameter(const Parameter& param) override; From 918ecd17aab8358d5440460c4892568fdc9cb910 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Tue, 2 Jan 2024 19:56:05 +0000 Subject: [PATCH 064/198] Camera: Allow non-session parameters in SessionConfiguration Also remove a workaround in VTS test Test: Build Bug: 309627704 Change-Id: I0ed266e837f5d0bec6197ff9f725a897048038ae --- .../hardware/camera/device/ICameraDevice.aidl | 14 +++++++++----- .../camera/device/StreamConfiguration.aidl | 8 ++++++++ camera/provider/aidl/vts/camera_aidl_test.cpp | 9 ++------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl index 01009ad788..da3d5dfdcb 100644 --- a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl @@ -365,16 +365,20 @@ interface ICameraDevice { * isStreamCombinationWithSettingsSupported: * * This is the same as isStreamCombinationSupported with below exceptions: - * * 1. The input StreamConfiguration parameter may contain session parameters - * supported by this camera device. When checking if the particular StreamConfiguration - * is supported, the camera HAL must take the session parameters into consideration. + * as well as additional CaptureRequest keys. See the comment + * sections below on what additional capture request keys are passed in + * StreamConfiguration::sessionParameters for each interface version. When checking if + * the particular StreamConfiguration is supported, the camera HAL must take all + * the keys in sessionParameters into consideration. * * 2. For version 3 of this interface, the camera compliance test will verify that * isStreamCombinationWithSettingsSupported behaves properly for all combinations of * below features. This function must return true for all supported combinations, * and return false for non-supported feature combinations. The list of features - * required may grow in future versions. + * required may grow in future versions. The additional metadata entries in + * StreamConfiguration::sessionParameters are {CONTROL_AE_TARGET_FPS_RANGE, + * CONTROL_VIDEO_STABILIZATION_MODE}. * * - Stream Combinations (a subset of LEGACY device mandatory stream combinations): * { @@ -429,7 +433,7 @@ interface ICameraDevice { * 4032 x 3024, the camera compliance test will verify both * {PRIV, 1920 x 1440, JPEG, 4032 x 3024} and {PRIV, 2560 x 1440, JPEG, 4032 x 2268}. * - * @param streams The StreamConfiguration to be tested, with optional session parameters. + * @param streams The StreamConfiguration to be tested, with optional CaptureRequest parameters. * * @return true in case the stream combination is supported, false otherwise. * diff --git a/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl b/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl index 197d9af588..0f5bad932a 100644 --- a/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl +++ b/camera/device/aidl/android/hardware/camera/device/StreamConfiguration.aidl @@ -59,6 +59,14 @@ parcelable StreamConfiguration { * pipeline updates. The field is optional, clients can choose to ignore it and avoid * including any initial settings. If parameters are present, then hal must examine * their values and configure the internal camera pipeline accordingly. + * + * A null pointer is equivalent to a valid CameraMetadata object with zero entries. + * + * For a StreamConfiguration passed to ICameraDevice.isStreamCombinationWithSettingsSupported + * or ICameraDevice.getSessionCharacteristics, this variable may also contain keys + * that are not session parameters, but are used to specify certain features for a + * session. For example, CONTROL_VIDEO_STABILIZATION_MODE may be included even if it's not a + * session parameter. */ CameraMetadata sessionParams; diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index 6a08f58bf6..b7115d8760 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -1919,13 +1919,8 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptrisStreamCombinationWithSettingsSupported(config, &streamCombinationSupported); - // TODO: Do not allow OPERATION_NOT_SUPPORTED once HAL - // implementation is in place. - ASSERT_TRUE(ret.isOk() || static_cast(ret.getServiceSpecificError()) == - Status::OPERATION_NOT_SUPPORTED); - if (ret.isOk()) { - ASSERT_EQ(expectedStatus, streamCombinationSupported); - } + ASSERT_TRUE(ret.isOk()); + ASSERT_EQ(expectedStatus, streamCombinationSupported); } } } From 7b690750fe605a68298bb519173b360b9d65b4d8 Mon Sep 17 00:00:00 2001 From: Austin Delgado Date: Thu, 21 Dec 2023 16:01:56 -0800 Subject: [PATCH 065/198] Add isHardwareIgnoringTouches to OperationContext Bug: 313763144 Test: atest SystemUITests:com.android.systemui.biometrics Flag: None Change-Id: If337f491b809d5e9c9fdfedad86a3d63a3431102 --- .../biometrics/common/OperationContext.aidl | 1 + .../biometrics/common/OperationState.aidl | 49 +++++++++++++++++++ .../biometrics/common/OperationContext.aidl | 4 ++ .../biometrics/common/OperationState.aidl | 43 ++++++++++++++++ .../biometrics/fingerprint/ISession.aidl | 3 ++ .../biometrics/fingerprint/ISession.aidl | 2 + 6 files changed, 102 insertions(+) create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationState.aidl create mode 100644 biometrics/common/aidl/android/hardware/biometrics/common/OperationState.aidl diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl index 42c305a985..8d913c8f10 100644 --- a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationContext.aidl @@ -46,4 +46,5 @@ parcelable OperationContext { android.hardware.biometrics.common.DisplayState displayState = android.hardware.biometrics.common.DisplayState.UNKNOWN; @nullable android.hardware.biometrics.common.AuthenticateReason authenticateReason; android.hardware.biometrics.common.FoldState foldState = android.hardware.biometrics.common.FoldState.UNKNOWN; + @nullable android.hardware.biometrics.common.OperationState operationState; } diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationState.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationState.aidl new file mode 100644 index 0000000000..fca95252fc --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/current/android/hardware/biometrics/common/OperationState.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +union OperationState { + android.hardware.biometrics.common.OperationState.FingerprintOperationState fingerprintOperationState; + android.hardware.biometrics.common.OperationState.FaceOperationState faceOperationState; + @VintfStability + parcelable FingerprintOperationState { + ParcelableHolder extension; + boolean isHardwareIgnoringTouches = false; + } + @VintfStability + parcelable FaceOperationState { + ParcelableHolder extension; + } +} diff --git a/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl b/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl index 584057d1b5..5f9844f94f 100644 --- a/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl +++ b/biometrics/common/aidl/android/hardware/biometrics/common/OperationContext.aidl @@ -20,6 +20,7 @@ import android.hardware.biometrics.common.AuthenticateReason; import android.hardware.biometrics.common.DisplayState; import android.hardware.biometrics.common.FoldState; import android.hardware.biometrics.common.OperationReason; +import android.hardware.biometrics.common.OperationState; import android.hardware.biometrics.common.WakeReason; /** @@ -75,4 +76,7 @@ parcelable OperationContext { /** The current fold/unfold state. */ FoldState foldState = FoldState.UNKNOWN; + + /** An associated operation state for this operation. */ + @nullable OperationState operationState; } diff --git a/biometrics/common/aidl/android/hardware/biometrics/common/OperationState.aidl b/biometrics/common/aidl/android/hardware/biometrics/common/OperationState.aidl new file mode 100644 index 0000000000..40cf589569 --- /dev/null +++ b/biometrics/common/aidl/android/hardware/biometrics/common/OperationState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ + +package android.hardware.biometrics.common; + +/** + * Additional state associated with an operation + * + * @hide + */ +@VintfStability +union OperationState { + /** Operation state related to fingerprint*/ + @VintfStability + parcelable FingerprintOperationState { + ParcelableHolder extension; + + /** Flag indicating if the HAL should ignore touches on the fingerprint sensor */ + boolean isHardwareIgnoringTouches = false; + } + + /** Operation state related to face*/ + @VintfStability + parcelable FaceOperationState { + ParcelableHolder extension; + } + + OperationState.FingerprintOperationState fingerprintOperationState; + OperationState.FaceOperationState faceOperationState; +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl index 4fdcefc8ff..feb6ba3548 100644 --- a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl @@ -62,5 +62,8 @@ interface ISession { void onPointerUpWithContext(in android.hardware.biometrics.fingerprint.PointerContext context); void onContextChanged(in android.hardware.biometrics.common.OperationContext context); void onPointerCancelWithContext(in android.hardware.biometrics.fingerprint.PointerContext context); + /** + * @deprecated use isHardwareIgnoringTouches in OperationContext from onContextChanged instead + */ void setIgnoreDisplayTouches(in boolean shouldIgnore); } diff --git a/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl b/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl index 83e7bbc43f..07e22c2b3f 100644 --- a/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl +++ b/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl @@ -544,6 +544,8 @@ interface ISession { * whenever it's appropriate. * * @param shouldIgnore whether the display touches should be ignored. + + * @deprecated use isHardwareIgnoringTouches in OperationContext from onContextChanged instead */ void setIgnoreDisplayTouches(in boolean shouldIgnore); } From f23a08a81aaa7e2fb5fffa97f54c665356cf2889 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 27 Dec 2023 15:27:22 -0800 Subject: [PATCH 066/198] Add dump sub option to FakeVehicleHardware. This CL also changes several property ID output to property name for better debugging. Test: adb shell dumpsys android.hardware.automotive.vehicle.IVehicle/default --dumpSub Bug: 316208952 Change-Id: I127ab82b20dec58a8f5fad90ff2a0ec4cb7d1feb --- .../hardware/include/FakeVehicleHardware.h | 1 + .../hardware/src/FakeVehicleHardware.cpp | 59 ++++++++++++++----- .../hardware/test/FakeVehicleHardwareTest.cpp | 7 +-- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h index 96eff0eef2..1153217ee2 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h @@ -256,6 +256,7 @@ class FakeVehicleHardware : public IVehicleHardware { std::string dumpSaveProperty(const std::vector& options); std::string dumpRestoreProperty(const std::vector& options); std::string dumpInjectEvent(const std::vector& options); + std::string dumpSubscriptions(); template android::base::Result safelyParseInt(int index, const std::string& s) { diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index d95ffd6d82..bcc765cf96 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -51,6 +51,8 @@ namespace fake { namespace { +#define PROP_ID_TO_CSTR(A) (propIdToString(A).c_str()) + using ::aidl::android::hardware::automotive::vehicle::CruiseControlCommand; using ::aidl::android::hardware::automotive::vehicle::CruiseControlType; using ::aidl::android::hardware::automotive::vehicle::DriverDistractionState; @@ -725,7 +727,7 @@ std::optional FakeVehicleHardware::getSyncedAreaIdIfHvacDualOn( FakeVehicleHardware::ValueResultType FakeVehicleHardware::getUserHalProp( const VehiclePropValue& value) const { auto propId = value.prop; - ALOGI("get(): getting value for prop %d from User HAL", propId); + ALOGI("get(): getting value for prop %s from User HAL", PROP_ID_TO_CSTR(propId)); auto result = mFakeUserHal->onGetProperty(value); if (!result.ok()) { @@ -1088,7 +1090,7 @@ StatusCode FakeVehicleHardware::setValues(std::shared_ptr& requests) { for (auto& request : requests) { if (FAKE_VEHICLEHARDWARE_DEBUG) { - ALOGD("Set value for property ID: %d", request.value.prop); + ALOGD("Set value for property ID: %s", PROP_ID_TO_CSTR(request.value.prop)); } // In a real VHAL implementation, you could either send the setValue request to vehicle bus @@ -1109,9 +1111,9 @@ VhalResult FakeVehicleHardware::setValue(const VehiclePropValue& value) { auto setSpecialValueResult = maybeSetSpecialValue(value, &isSpecialValue); if (isSpecialValue) { if (!setSpecialValueResult.ok()) { - return StatusError(getErrorCode(setSpecialValueResult)) - << StringPrintf("failed to set special value for property ID: %d, error: %s", - value.prop, getErrorMsg(setSpecialValueResult).c_str()); + return StatusError(getErrorCode(setSpecialValueResult)) << StringPrintf( + "failed to set special value for property ID: %s, error: %s", + PROP_ID_TO_CSTR(value.prop), getErrorMsg(setSpecialValueResult).c_str()); } return {}; } @@ -1150,7 +1152,7 @@ StatusCode FakeVehicleHardware::getValues(std::shared_ptr& requests) const { for (auto& request : requests) { if (FAKE_VEHICLEHARDWARE_DEBUG) { - ALOGD("getValues(%d)", request.prop.prop); + ALOGD("getValues(%s)", PROP_ID_TO_CSTR(request.prop.prop)); } // In a real VHAL implementation, you could either send the getValue request to vehicle bus @@ -1189,8 +1191,8 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::getValue( if (isSpecialValue) { if (!result.ok()) { return StatusError(getErrorCode(result)) - << StringPrintf("failed to get special value: %d, error: %s", value.prop, - getErrorMsg(result).c_str()); + << StringPrintf("failed to get special value: %s, error: %s", + PROP_ID_TO_CSTR(value.prop), getErrorMsg(result).c_str()); } else { return result; } @@ -1249,6 +1251,8 @@ DumpResult FakeVehicleHardware::dump(const std::vector& options) { mAddExtraTestVendorConfigs = false; result.refreshPropertyConfigs = true; result.buffer = "successfully restored vendor configs"; + } else if (EqualsIgnoreCase(option, "--dumpSub")) { + result.buffer = dumpSubscriptions(); } else { result.buffer = StringPrintf("Invalid option: %s\n", option.c_str()); } @@ -1380,7 +1384,8 @@ std::string FakeVehicleHardware::genFakeDataCommand(const std::vectorunregisterGenerator(propId)) { return "Linear event generator stopped successfully"; } - return StringPrintf("No linear event generator found for property: %d", propId); + return StringPrintf("No linear event generator found for property: %s", + PROP_ID_TO_CSTR(propId)); } else if (command == "--startjson") { // --genfakedata --startjson --path path repetition // or @@ -1650,6 +1655,26 @@ void FakeVehicleHardware::eventFromVehicleBus(const VehiclePropValue& value) { mServerSidePropStore->writeValue(mValuePool->obtain(value)); } +std::string FakeVehicleHardware::dumpSubscriptions() { + std::scoped_lock lockGuard(mLock); + std::string result = "Subscriptions: \n"; + for (const auto& [interval, actionForInterval] : mActionByIntervalInNanos) { + for (const auto& propIdAreaId : actionForInterval.propIdAreaIdsToRefresh) { + const auto& refreshInfo = mRefreshInfoByPropIdAreaId[propIdAreaId]; + bool vur = (refreshInfo.eventMode == VehiclePropertyStore::EventMode::ON_VALUE_CHANGE); + float sampleRateHz = 1'000'000'000. / refreshInfo.intervalInNanos; + result += StringPrintf("Continuous{property: %s, areaId: %d, rate: %lf hz, vur: %b}\n", + PROP_ID_TO_CSTR(propIdAreaId.propId), propIdAreaId.areaId, + sampleRateHz, vur); + } + } + for (const auto& propIdAreaId : mSubOnChangePropIdAreaIds) { + result += StringPrintf("OnChange{property: %s, areaId: %d}\n", + PROP_ID_TO_CSTR(propIdAreaId.propId), propIdAreaId.areaId); + } + return result; +} + std::string FakeVehicleHardware::dumpHelp() { return "Usage: \n\n" "[no args]: dumps (id and value) all supported properties \n" @@ -1717,8 +1742,9 @@ std::string FakeVehicleHardware::dumpOnePropertyById(int32_t propId, int32_t are result = mServerSidePropStore->readValue(value); } if (!result.ok()) { - return StringPrintf("failed to read property value: %d, error: %s, code: %d\n", propId, - getErrorMsg(result).c_str(), getIntErrorCode(result)); + return StringPrintf("failed to read property value: %s, error: %s, code: %d\n", + PROP_ID_TO_CSTR(propId), getErrorMsg(result).c_str(), + getIntErrorCode(result)); } else { return result.value()->toString() + "\n"; @@ -1733,7 +1759,7 @@ std::string FakeVehicleHardware::dumpListProperties() { int rowNumber = 1; std::string msg = StringPrintf("listing %zu properties\n", configs.size()); for (const auto& config : configs) { - msg += StringPrintf("%d: %d\n", rowNumber++, config.prop); + msg += StringPrintf("%d: %s\n", rowNumber++, PROP_ID_TO_CSTR(config.prop)); } return msg; } @@ -1766,7 +1792,7 @@ std::string FakeVehicleHardware::dumpSpecificProperty(const std::vectorgetPropConfig(prop); if (!result.ok()) { - msg += StringPrintf("No property %d\n", prop); + msg += StringPrintf("No property %s\n", PROP_ID_TO_CSTR(prop)); continue; } msg += dumpOnePropertyByConfig(rowNumber++, result.value()); @@ -1952,8 +1978,9 @@ std::string FakeVehicleHardware::dumpGetPropertyWithArg(const std::vectortoString().c_str()); } @@ -2046,7 +2073,7 @@ std::string FakeVehicleHardware::dumpInjectEvent(const std::vector& eventFromVehicleBus(prop); - return StringPrintf("Event for property: %d injected", prop.prop); + return StringPrintf("Event for property: %s injected", PROP_ID_TO_CSTR(prop.prop)); } StatusCode FakeVehicleHardware::checkHealth() { diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp index 909c89dab4..90643aa5e3 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp @@ -2617,8 +2617,8 @@ TEST_F(FakeVehicleHardwareTest, testDumpSpecificPropertiesInvalidProp) { DumpResult result = getHardware()->dump(options); ASSERT_FALSE(result.callerShouldDumpState); ASSERT_NE(result.buffer, ""); - ASSERT_THAT(result.buffer, ContainsRegex(StringPrintf("1:.*prop: %s.*\nNo property %d\n", - prop1.c_str(), INVALID_PROP_ID))); + ASSERT_THAT(result.buffer, ContainsRegex(StringPrintf("1:.*prop: %s.*\nNo property INVALID\n", + prop1.c_str()))); } TEST_F(FakeVehicleHardwareTest, testDumpSpecificPropertiesNoArg) { @@ -2701,8 +2701,7 @@ TEST_F(FakeVehicleHardwareTest, testDumpInjectEvent) { {"--inject-event", propIdStr, "-i", "1234", "-t", std::to_string(timestamp)}); ASSERT_FALSE(result.callerShouldDumpState); - ASSERT_THAT(result.buffer, - ContainsRegex(StringPrintf("Event for property: %d injected", prop))); + ASSERT_THAT(result.buffer, ContainsRegex("Event for property: ENGINE_OIL_LEVEL injected")); ASSERT_TRUE(waitForChangedProperties(prop, 0, /*count=*/1, milliseconds(1000))) << "No changed event received for injected event from vehicle bus"; auto events = getChangedProperties(); From 5189925e1d3c8b3fd6e40f7db8cd8304075be8af Mon Sep 17 00:00:00 2001 From: Peiyong Lin Date: Mon, 8 Jan 2024 23:46:37 +0000 Subject: [PATCH 067/198] Add APP SessionTag Add a SessionTag enum APP to distinguish hint sessions created by apps. Bug: b/274929700 Test: atest VtsHalPowerTargetTest Change-Id: I85263dc6b1b89f73f79f1a7696d37bf7fa2556ad --- .../current/android/hardware/power/SessionTag.aidl | 1 + power/aidl/android/hardware/power/SessionTag.aidl | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl index 80848a41cb..862fbc5a07 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionTag.aidl @@ -38,4 +38,5 @@ enum SessionTag { SURFACEFLINGER, HWUI, GAME, + APP, } diff --git a/power/aidl/android/hardware/power/SessionTag.aidl b/power/aidl/android/hardware/power/SessionTag.aidl index c1d48e4318..27bf3e3c67 100644 --- a/power/aidl/android/hardware/power/SessionTag.aidl +++ b/power/aidl/android/hardware/power/SessionTag.aidl @@ -30,12 +30,20 @@ enum SessionTag { SURFACEFLINGER, /** - * This tag is used to mark HWUI hint sessions. + * This tag is used to mark hint sessions created by HWUI. */ HWUI, /** - * This tag is used to mark Game hint sessions. + * This tag is used to mark hint sessions created by applications that are + * categorized as games. */ GAME, + + /** + * This tag is used to mark the hint session is created by the application. + * If an applications is categorized as game, then GAME should be used + * instead. + */ + APP, } From 143fce5c50760f590bd80156514a144a61651325 Mon Sep 17 00:00:00 2001 From: Xiang Wang Date: Mon, 8 Jan 2024 16:46:05 -0800 Subject: [PATCH 068/198] Add GPU_LOAD_RESET hint Bug: 284324521 Test: n/a Change-Id: I4ef7cf5b6368f7aacf7cf83058b1afa219e6822a --- .../current/android/hardware/power/SessionHint.aidl | 1 + power/aidl/android/hardware/power/SessionHint.aidl | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionHint.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionHint.aidl index cb377191bd..df316189a4 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionHint.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/SessionHint.aidl @@ -41,4 +41,5 @@ enum SessionHint { POWER_EFFICIENCY = 4, GPU_LOAD_UP = 5, GPU_LOAD_DOWN = 6, + GPU_LOAD_RESET = 7, } diff --git a/power/aidl/android/hardware/power/SessionHint.aidl b/power/aidl/android/hardware/power/SessionHint.aidl index ae91061c60..1a8c505574 100644 --- a/power/aidl/android/hardware/power/SessionHint.aidl +++ b/power/aidl/android/hardware/power/SessionHint.aidl @@ -65,4 +65,11 @@ enum SessionHint { * this hint session can reduce GPU resources and still meet the target duration. */ GPU_LOAD_DOWN = 6, + + /** + * This hint indicates an upcoming GPU workload that is completely changed and + * unknown. It means that the hint session should reset GPU resources to a known + * baseline to prepare for an arbitrary load, and must wake up if inactive. + */ + GPU_LOAD_RESET = 7, } From 82f17d9ed4d10106c3aad700815f000806edb5bf Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Mon, 11 Dec 2023 15:03:07 -0800 Subject: [PATCH 069/198] Fix timeout issue for bcradio worker thread Accessed mIsTerminating inside the same lock as what is used in while loop in worker thread class of broadcast radio HAL utils lib. This fixed the race condition that mIsTerminating is accessed as true in threadLoop while the destructor is setting mIsTerminating as false, which causes the thread waits forever for lock after lock is released in the desctructor. Bug: 314100017 Test: atest VtsHalBroadcastradioAidlTargetTest WorkerThreadTest Change-Id: I885e1487ac39525fc2d1ee2134d24409264ca0fc --- broadcastradio/common/tests/Android.bp | 3 +++ broadcastradio/common/utils/WorkerThread.cpp | 5 ++++- .../utils/include/broadcastradio-utils/WorkerThread.h | 8 +++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/broadcastradio/common/tests/Android.bp b/broadcastradio/common/tests/Android.bp index 0a6a3a27d0..1ea4e8584b 100644 --- a/broadcastradio/common/tests/Android.bp +++ b/broadcastradio/common/tests/Android.bp @@ -86,4 +86,7 @@ cc_test { ], static_libs: ["android.hardware.broadcastradio@common-utils-lib"], test_suites: ["general-tests"], + shared_libs: [ + "libbase", + ], } diff --git a/broadcastradio/common/utils/WorkerThread.cpp b/broadcastradio/common/utils/WorkerThread.cpp index 43fd04a89a..5c8e59c03f 100644 --- a/broadcastradio/common/utils/WorkerThread.cpp +++ b/broadcastradio/common/utils/WorkerThread.cpp @@ -69,8 +69,11 @@ void WorkerThread::cancelAll() { } void WorkerThread::threadLoop() { - while (!mIsTerminating) { + while (true) { unique_lock lk(mMut); + if (mIsTerminating) { + return; + } if (mTasks.empty()) { mCond.wait(lk); continue; diff --git a/broadcastradio/common/utils/include/broadcastradio-utils/WorkerThread.h b/broadcastradio/common/utils/include/broadcastradio-utils/WorkerThread.h index 457b57e403..e381f5a132 100644 --- a/broadcastradio/common/utils/include/broadcastradio-utils/WorkerThread.h +++ b/broadcastradio/common/utils/include/broadcastradio-utils/WorkerThread.h @@ -20,6 +20,8 @@ #include #include +#include + namespace android { class WorkerThread { @@ -40,11 +42,11 @@ class WorkerThread { }; friend bool operator<(const Task& lhs, const Task& rhs); - std::atomic mIsTerminating; std::mutex mMut; - std::condition_variable mCond; + bool mIsTerminating GUARDED_BY(mMut); + std::condition_variable mCond GUARDED_BY(mMut); std::thread mThread; - std::priority_queue mTasks; + std::priority_queue mTasks GUARDED_BY(mMut); void threadLoop(); }; From 1ccbbd9262eee445a11e811a4bf228685facc134 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 5 Jan 2024 14:18:48 -0800 Subject: [PATCH 070/198] Update metadata doc for AIDL 2 bcradio HAL Change "must be up to" to "should be <=" in Metadata of broadcast radio HAL definition so that the format for metadata types is clear. Bug: 318763229 Test: m -j Change-Id: Ibd54988587170f2c20f7770be0f8376d9be2d3b2 --- .../aidl/android/hardware/broadcastradio/Metadata.aidl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/broadcastradio/aidl/android/hardware/broadcastradio/Metadata.aidl b/broadcastradio/aidl/android/hardware/broadcastradio/Metadata.aidl index 0ce967f009..f1800dca0a 100644 --- a/broadcastradio/aidl/android/hardware/broadcastradio/Metadata.aidl +++ b/broadcastradio/aidl/android/hardware/broadcastradio/Metadata.aidl @@ -86,7 +86,7 @@ union Metadata { /** * DAB ensemble name abbreviated (string). * - *

Note: The string must be up to 8 characters long. + *

Note: The string should be <= 8 characters. * *

Note: If the short variant is present, the long ({@link Metadata#dabEnsembleName}) * one must be present as well. @@ -101,7 +101,7 @@ union Metadata { /** * DAB service name abbreviated (string) * - *

Note: The string must be up to 8 characters long. + *

Note: The string should be <= 8 characters. */ String dabServiceNameShort; @@ -113,7 +113,7 @@ union Metadata { /** * DAB component name abbreviated (string) * - *

Note: The string must be up to 8 characters long. + *

Note: The string should be <= 8 characters. */ String dabComponentNameShort; @@ -161,7 +161,7 @@ union Metadata { /** * HD short station name or HD universal short station name * - *

It can be up to 12 characters (see SY_IDD_1020s for more info). + *

It can be <= 12 characters (see SY_IDD_1020s for more info). */ String hdStationNameShort; From 94f4b20dcf9d0d8d382c3aeac736a0236d7e2b21 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Tue, 9 Jan 2024 11:43:45 -0500 Subject: [PATCH 071/198] Avoid crashing when failing graphics VTS When the tests fail, ensure we continue running so we can run the remainder of the tests. Bug: 304976052 Test: atest GraphicsComposerAidlCommandTest Change-Id: Ia6ab2bbd284bb7eddeb49164dcbe7285829ad9c3 --- graphics/composer/aidl/vts/VtsComposerClient.cpp | 3 +++ .../composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp | 1 + .../composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp | 1 + 3 files changed, 5 insertions(+) diff --git a/graphics/composer/aidl/vts/VtsComposerClient.cpp b/graphics/composer/aidl/vts/VtsComposerClient.cpp index 2c24bfb8f5..89ba2e63d1 100644 --- a/graphics/composer/aidl/vts/VtsComposerClient.cpp +++ b/graphics/composer/aidl/vts/VtsComposerClient.cpp @@ -68,6 +68,9 @@ bool VtsComposerClient::tearDown(ComposerClientWriter* writer) { std::pair VtsComposerClient::getInterfaceVersion() const { int32_t version = 1; + if (!mComposerClient) { + return {ScopedAStatus{nullptr}, version}; + } auto status = mComposerClient->getInterfaceVersion(&version); return {std::move(status), version}; } diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp index 164e6d5cab..3f82925455 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp @@ -85,6 +85,7 @@ class GraphicsCompositionTestBase : public ::testing::Test { } void TearDown() override { + ASSERT_FALSE(mDisplays.empty()); ASSERT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); ASSERT_TRUE(mComposerClient->tearDown(mWriter.get())); mComposerClient.reset(); diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 5ff420a05b..311164743f 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1400,6 +1400,7 @@ TEST_P(GraphicsComposerAidlV3Test, NotifyExpectedPresent) { class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { protected: void TearDown() override { + ASSERT_FALSE(mDisplays.empty()); const auto errors = mReader.takeErrors(); ASSERT_TRUE(mReader.takeErrors().empty()); ASSERT_TRUE(mReader.takeChangedCompositionTypes(getPrimaryDisplayId()).empty()); From 3dc6dd2bd4ef93c9e9dcc8c101559f8bc7450ea5 Mon Sep 17 00:00:00 2001 From: Manali Bhutiyani Date: Tue, 9 Jan 2024 20:09:46 +0000 Subject: [PATCH 072/198] Update aidl documentation Bug: 290685621 Test: N/A Change-Id: I1d30c24e667ce02d7553462d663cf66a32aa4b4b --- .../graphics/composer3/LayerLifecycleBatchCommandType.aidl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl index ec2d55f791..e619712fa2 100644 --- a/graphics/composer/aidl/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl +++ b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl @@ -32,8 +32,8 @@ enum LayerLifecycleBatchCommandType { */ CREATE = 1, /** - * This indicates that the current LayerCommand should also destroyes the layer, - * after processing the other attributes in the LayerCommand. + * This indicates that the current LayerCommand should also destroy the layer, + * before processing the other attributes in the LayerCommand. */ DESTROY = 2, } From 7eae30d5e3f7b268b199ec1d27948d35fb66b8ba Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Tue, 9 Jan 2024 13:48:32 -0800 Subject: [PATCH 073/198] Fix a nullptr deref in ref VHAL. Check for nullptr returned from refreshTimestamp if the property is not available. Test: m Bug: 319147839 Change-Id: Idb214a4f889bdd11e6d4f3979fd7d2e38ded7873 --- .../2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp index b56a1907c8..82e357f34f 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultVehicleHal.cpp @@ -494,7 +494,11 @@ void DefaultVehicleHal::onContinuousPropertyTimer(const std::vector& pr } for (int areaId : areaIds) { - auto v = pool.obtain(*mPropStore->refreshTimestamp(property, areaId)); + auto refreshedProp = mPropStore->refreshTimestamp(property, areaId); + VehiclePropValuePtr v = nullptr; + if (refreshedProp != nullptr) { + v = pool.obtain(*refreshedProp); + } if (v.get()) { events.push_back(std::move(v)); } From fc1e3f11ad1e355f1b2e25bf9730150f6f553a76 Mon Sep 17 00:00:00 2001 From: Ady Abraham Date: Wed, 3 Jan 2024 11:45:08 -0800 Subject: [PATCH 074/198] composer: vts: don't clear reader errors on teardown Fixing a bug that caused Teardown to clear the errors before checking them Bug: 303735490 Test: presubmit Change-Id: Ieb02ab3015fc21bcef6624f8f45c3b84549005c2 --- .../composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 311164743f..5e45fd902b 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1401,7 +1401,6 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { protected: void TearDown() override { ASSERT_FALSE(mDisplays.empty()); - const auto errors = mReader.takeErrors(); ASSERT_TRUE(mReader.takeErrors().empty()); ASSERT_TRUE(mReader.takeChangedCompositionTypes(getPrimaryDisplayId()).empty()); From 2424cc007d1b7a160e22155f77436ef7f8d011e0 Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Wed, 10 Jan 2024 12:30:37 -0800 Subject: [PATCH 075/198] Baseline NewApi issues NewApi is a lint check that you don't call framework methods that were introduced in versions later than your min_sdk_version. We want to make this an error, so we're baselineing all existing issues. This cl was generated automatically, by taking all the NewApi issues from the reference baselines, and all the non-NewApi issues from the existing checked in baselines. Bug: 268261262 Test: Presubmits Change-Id: I3e4bcd76bad422513d48712303ce5c857511d9be --- security/rkp/aidl/Android.bp | 3 +++ security/rkp/aidl/lint-baseline.xml | 25 ++++++++++++++++++------- tetheroffload/aidl/Android.bp | 3 +++ tetheroffload/aidl/lint-baseline.xml | 26 ++++++++++++++++++++++++++ wifi/hostapd/aidl/Android.bp | 3 +++ wifi/hostapd/aidl/lint-baseline.xml | 18 +++++++++--------- 6 files changed, 62 insertions(+), 16 deletions(-) create mode 100644 tetheroffload/aidl/lint-baseline.xml diff --git a/security/rkp/aidl/Android.bp b/security/rkp/aidl/Android.bp index e9e20214f5..adc63f666a 100644 --- a/security/rkp/aidl/Android.bp +++ b/security/rkp/aidl/Android.bp @@ -25,6 +25,9 @@ aidl_interface { "//apex_available:platform", "com.android.rkpd", ], + lint: { + baseline_filename: "lint-baseline.xml", + }, }, rust: { enabled: true, diff --git a/security/rkp/aidl/lint-baseline.xml b/security/rkp/aidl/lint-baseline.xml index d25d383dfd..8e98094575 100644 --- a/security/rkp/aidl/lint-baseline.xml +++ b/security/rkp/aidl/lint-baseline.xml @@ -1,5 +1,5 @@ - + @@ -18,8 +18,8 @@ errorLine1=" this.markVintfStability();" errorLine2=" ~~~~~~~~~~~~~~~~~~"> @@ -29,8 +29,19 @@ errorLine1=" this.markVintfStability();" errorLine2=" ~~~~~~~~~~~~~~~~~~"> + + + + diff --git a/tetheroffload/aidl/Android.bp b/tetheroffload/aidl/Android.bp index 6de27c3462..e091c5bab8 100644 --- a/tetheroffload/aidl/Android.bp +++ b/tetheroffload/aidl/Android.bp @@ -18,6 +18,9 @@ aidl_interface { ], min_sdk_version: "30", enabled: true, + lint: { + baseline_filename: "lint-baseline.xml", + }, }, ndk: { apps_enabled: false, diff --git a/tetheroffload/aidl/lint-baseline.xml b/tetheroffload/aidl/lint-baseline.xml new file mode 100644 index 0000000000..62924b1471 --- /dev/null +++ b/tetheroffload/aidl/lint-baseline.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/wifi/hostapd/aidl/Android.bp b/wifi/hostapd/aidl/Android.bp index cdc94bb036..e5d492a204 100644 --- a/wifi/hostapd/aidl/Android.bp +++ b/wifi/hostapd/aidl/Android.bp @@ -39,6 +39,9 @@ aidl_interface { "com.android.wifi", ], min_sdk_version: "30", + lint: { + baseline_filename: "lint-baseline.xml", + }, }, ndk: { gen_trace: true, diff --git a/wifi/hostapd/aidl/lint-baseline.xml b/wifi/hostapd/aidl/lint-baseline.xml index 657622e674..99231fc739 100644 --- a/wifi/hostapd/aidl/lint-baseline.xml +++ b/wifi/hostapd/aidl/lint-baseline.xml @@ -1,5 +1,5 @@ - + @@ -18,8 +18,8 @@ errorLine1=" this.markVintfStability();" errorLine2=" ~~~~~~~~~~~~~~~~~~"> @@ -29,8 +29,8 @@ errorLine1=" this.markVintfStability();" errorLine2=" ~~~~~~~~~~~~~~~~~~"> @@ -40,8 +40,8 @@ errorLine1=" this.markVintfStability();" errorLine2=" ~~~~~~~~~~~~~~~~~~"> From 468341e6771e39c2c0c7c7028edf15605f24e18a Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Fri, 5 Jan 2024 13:29:09 -0800 Subject: [PATCH 076/198] camera: Make readoutTimestamp visible to HALs `readoutTimestamp` metadata key was previously only visible to SDK and the framework, and the camera framework force set the values based on if the HAL implemented the AIDL or the HIDL interface. This CL makes readoutTimestamp available to HALs and lets AIDL HALs choose if they can support sensor readout timestamp or not. Bug: 309543399 Test: External Camera HAL now sets this value and passes VTS Change-Id: Ifee2b4020b7630383dc32ef7590f8a9ccdaf49d2 --- camera/device/aidl/Android.bp | 2 +- .../camera/metadata/CameraMetadataTag.aidl | 1 + .../metadata/SensorReadoutTimestamp.aidl | 43 +++++++++++++++++++ .../camera/metadata/CameraMetadataTag.aidl | 7 +++ .../metadata/SensorReadoutTimestamp.aidl | 34 +++++++++++++++ camera/provider/aidl/vts/Android.bp | 2 +- 6 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl create mode 100644 camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl diff --git a/camera/device/aidl/Android.bp b/camera/device/aidl/Android.bp index 4115c651d8..0104636f8c 100644 --- a/camera/device/aidl/Android.bp +++ b/camera/device/aidl/Android.bp @@ -17,7 +17,7 @@ aidl_interface { "android.hardware.common-V2", "android.hardware.common.fmq-V1", "android.hardware.camera.common-V1", - "android.hardware.camera.metadata-V2", + "android.hardware.camera.metadata-V3", "android.hardware.graphics.common-V5", ], backend: { diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/CameraMetadataTag.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/CameraMetadataTag.aidl index 542b296272..9321ec0e37 100644 --- a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/CameraMetadataTag.aidl +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/CameraMetadataTag.aidl @@ -246,6 +246,7 @@ enum CameraMetadataTag { ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION, ANDROID_SENSOR_PIXEL_MODE, ANDROID_SENSOR_RAW_BINNING_FACTOR_USED, + ANDROID_SENSOR_READOUT_TIMESTAMP, ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SENSOR_INFO_START /* 983040 */, ANDROID_SENSOR_INFO_SENSITIVITY_RANGE, ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT, diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl new file mode 100644 index 0000000000..35dc1a976f --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/current/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorReadoutTimestamp { + ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED, + ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE, +} diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/CameraMetadataTag.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/CameraMetadataTag.aidl index 03cfba150a..f1333728c2 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/CameraMetadataTag.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/CameraMetadataTag.aidl @@ -1590,6 +1590,13 @@ enum CameraMetadataTag { * @see ANDROID_SENSOR_INFO_BINNING_FACTOR */ ANDROID_SENSOR_RAW_BINNING_FACTOR_USED, + /** + * android.sensor.readoutTimestamp [static, enum, java_public] + * + *

Whether or not the camera device supports readout timestamp and + * {@code onReadoutStarted} callback.

+ */ + ANDROID_SENSOR_READOUT_TIMESTAMP, /** * android.sensor.info.activeArraySize [static, int32[], public] * diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl new file mode 100644 index 0000000000..1678515a69 --- /dev/null +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl @@ -0,0 +1,34 @@ +/* + * 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. + */ + +/* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ + +package android.hardware.camera.metadata; + +/** + * android.sensor.readoutTimestamp enumeration values + * @see ANDROID_SENSOR_READOUT_TIMESTAMP + */ +@VintfStability +@Backing(type="int") +enum SensorReadoutTimestamp { + ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED, + ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE, +} diff --git a/camera/provider/aidl/vts/Android.bp b/camera/provider/aidl/vts/Android.bp index f9305bbe10..1c106f60bd 100644 --- a/camera/provider/aidl/vts/Android.bp +++ b/camera/provider/aidl/vts/Android.bp @@ -61,7 +61,7 @@ cc_test { "android.hardware.camera.common@1.0-helper", "android.hardware.camera.common-V1-ndk", "android.hardware.camera.device-V3-ndk", - "android.hardware.camera.metadata-V2-ndk", + "android.hardware.camera.metadata-V3-ndk", "android.hardware.camera.provider-V3-ndk", "android.hidl.allocator@1.0", "libgrallocusage", From 1fb9ba494c43ee7c2fd4d09a3513f0f98ed5c01f Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Wed, 13 Dec 2023 13:09:57 -0800 Subject: [PATCH 077/198] ExternalCameraHAL: Add ANDROID_SENSOR_READOUT_TIMESTAMP key. As ExternalCameraHAL does not support sensor readout timestamp, it should set ANDROID_SENSOR_READOUT_TIMESTAMP to ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED in CameraDevice characteristics. This CL adds the CameraMetadata entry to ExternalCameraDevice. Bug: 309543399 Test: ReadoutTimestampTest#testReadoutTimestamp passes for ExternalCameraHAL Change-Id: I12203f0832416b4ca325380e671675ddc1d788d4 --- camera/device/default/ExternalCameraDevice.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/camera/device/default/ExternalCameraDevice.cpp b/camera/device/default/ExternalCameraDevice.cpp index 649bf43f49..8e8474800f 100644 --- a/camera/device/default/ExternalCameraDevice.cpp +++ b/camera/device/default/ExternalCameraDevice.cpp @@ -497,6 +497,9 @@ status_t ExternalCameraDevice::initDefaultCharsKeys( const int32_t maxLatency = ANDROID_SYNC_MAX_LATENCY_UNKNOWN; UPDATE(ANDROID_SYNC_MAX_LATENCY, &maxLatency, 1); + const uint8_t sensorReadoutTimestamp = ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED; + UPDATE(ANDROID_SENSOR_READOUT_TIMESTAMP, &sensorReadoutTimestamp, 1); + /* Other sensor/RAW related keys: * android.sensor.info.colorFilterArrangement -> no need if we don't do RAW * android.sensor.info.physicalSize -> not available @@ -1002,4 +1005,4 @@ binder_status_t ExternalCameraDevice::dump(int fd, const char** args, uint32_t n } // namespace device } // namespace camera } // namespace hardware -} // namespace android \ No newline at end of file +} // namespace android From 6633a8573267d5fbb293daf7161d8d8e5f710cf2 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Wed, 13 Dec 2023 16:08:04 -0800 Subject: [PATCH 078/198] Add DAB unit test for bcradio utils lib Added unit tests for utils method related to DAB radio in AIDL broadcast radio utils library. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I7c7333c11898665ae7e5184bd3022a7019f862ca --- .../test/BroadcastRadioUtilsTest.cpp | 141 +++++++++++++++--- 1 file changed, 117 insertions(+), 24 deletions(-) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index 07509495a4..b2dc94ac77 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -21,7 +21,12 @@ namespace aidl::android::hardware::broadcastradio { namespace { constexpr int64_t kFmFrequencyKHz = 97900; -constexpr uint64_t kDabSidExt = 0x0E10000C221u; +constexpr uint32_t kDabSid = 0x0000C221u; +constexpr int kDabEccCode = 0xE1u; +constexpr int kDabSCIdS = 0x1u; +constexpr uint64_t kDabSidExt = static_cast(kDabSid) | + (static_cast(kDabEccCode) << 32) | + (static_cast(kDabSCIdS) << 40); constexpr uint32_t kDabEnsemble = 0xCE15u; constexpr uint64_t kDabFrequencyKhz = 225648u; constexpr uint64_t kHdStationId = 0xA0000001u; @@ -29,87 +34,175 @@ constexpr uint64_t kHdSubChannel = 1u; constexpr uint64_t kHdFrequency = 97700u; } // namespace -TEST(BroadcastRadioUtilsTest, hasIdWithPrimaryIdType) { +TEST(BroadcastRadioUtilsTest, HasIdWithPrimaryIdType) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); ASSERT_TRUE(utils::hasId(sel, IdentifierType::AMFM_FREQUENCY_KHZ)); } -TEST(BroadcastRadioUtilsTest, makeIdentifier) { +TEST(BroadcastRadioUtilsTest, HasIdWithSecondaryIdType) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::hasId(sel, IdentifierType::DAB_FREQUENCY_KHZ)); +} + +TEST(BroadcastRadioUtilsTest, HasIdWithIdNotInSelector) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_FALSE(utils::hasId(sel, IdentifierType::AMFM_FREQUENCY_KHZ)); +} + +TEST(BroadcastRadioUtilsTest, GetIdWithPrimaryIdType) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getId(sel, IdentifierType::DAB_SID_EXT), static_cast(kDabSidExt)); +} + +TEST(BroadcastRadioUtilsTest, GetIdWithSecondaryIdType) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getId(sel, IdentifierType::DAB_ENSEMBLE), static_cast(kDabEnsemble)); +} + +TEST(BroadcastRadioUtilsTest, GetIdWithIdNotFound) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getId(sel, IdentifierType::AMFM_FREQUENCY_KHZ), 0); +} + +TEST(BroadcastRadioUtilsTest, GetIdWithIdFoundAndDefaultValue) { + int64_t defaultValue = 0x0E10000C222u; + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getId(sel, IdentifierType::DAB_SID_EXT, defaultValue), + static_cast(kDabSidExt)); +} + +TEST(BroadcastRadioUtilsTest, GetIdWithIdNotFoundAndDefaultValue) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getId(sel, IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz), + static_cast(kFmFrequencyKHz)); +} + +TEST(BroadcastRadioUtilsTest, MakeIdentifier) { ProgramIdentifier id = utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz); - ASSERT_EQ(id.type, IdentifierType::AMFM_FREQUENCY_KHZ); - ASSERT_EQ(id.value, kFmFrequencyKHz); + EXPECT_EQ(id.type, IdentifierType::AMFM_FREQUENCY_KHZ); + EXPECT_EQ(id.value, kFmFrequencyKHz); } -TEST(BroadcastRadioUtilsTest, makeSelectorAmfm) { +TEST(BroadcastRadioUtilsTest, MakeSelectorAmfm) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); - ASSERT_EQ(sel.primaryId.type, IdentifierType::AMFM_FREQUENCY_KHZ); - ASSERT_EQ(sel.primaryId.value, kFmFrequencyKHz); - ASSERT_TRUE(sel.secondaryIds.empty()); + EXPECT_EQ(sel.primaryId.type, IdentifierType::AMFM_FREQUENCY_KHZ); + EXPECT_EQ(sel.primaryId.value, kFmFrequencyKHz); + EXPECT_TRUE(sel.secondaryIds.empty()); } -TEST(BroadcastRadioUtilsTest, makeSelectorHd) { +TEST(BroadcastRadioUtilsTest, MakeSelectorHd) { ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); - ASSERT_EQ(sel.primaryId.type, IdentifierType::HD_STATION_ID_EXT); - ASSERT_TRUE(sel.secondaryIds.empty()); - ASSERT_EQ(utils::getHdSubchannel(sel), static_cast(kHdSubChannel)); - ASSERT_EQ(utils::getHdFrequency(sel), static_cast(kHdFrequency)); + EXPECT_EQ(sel.primaryId.type, IdentifierType::HD_STATION_ID_EXT); + EXPECT_TRUE(sel.secondaryIds.empty()); + EXPECT_EQ(utils::getHdSubchannel(sel), static_cast(kHdSubChannel)); + EXPECT_EQ(utils::getHdFrequency(sel), static_cast(kHdFrequency)); } -TEST(BroadcastRadioUtilsTest, makeHdRadioStationName) { +TEST(BroadcastRadioUtilsTest, MakeHdRadioStationName) { std::string stationName = "aB1-FM"; int64_t expectedIdValue = 0x4D46314241; ProgramIdentifier stationNameId = utils::makeHdRadioStationName(stationName); - ASSERT_EQ(stationNameId.type, IdentifierType::HD_STATION_NAME); - ASSERT_EQ(stationNameId.value, expectedIdValue); + EXPECT_EQ(stationNameId.type, IdentifierType::HD_STATION_NAME); + EXPECT_EQ(stationNameId.value, expectedIdValue); } -TEST(BroadcastRadioUtilsTest, getHdFrequencyWithoutHdId) { +TEST(BroadcastRadioUtilsTest, GetHdFrequencyWithoutHdId) { ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); ASSERT_EQ(utils::getHdFrequency(sel), 0u); } -TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithAmFmSelector) { +TEST(BroadcastRadioUtilsTest, HasAmFmFrequencyWithAmFmSelector) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); ASSERT_TRUE(utils::hasAmFmFrequency(sel)); } -TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithHdSelector) { +TEST(BroadcastRadioUtilsTest, HasAmFmFrequencyWithHdSelector) { ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); ASSERT_TRUE(utils::hasAmFmFrequency(sel)); } -TEST(BroadcastRadioUtilsTest, hasAmFmFrequencyWithNonAmFmHdSelector) { +TEST(BroadcastRadioUtilsTest, HasAmFmFrequencyWithNonAmFmHdSelector) { ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); ASSERT_FALSE(utils::hasAmFmFrequency(sel)); } -TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithAmFmSelector) { +TEST(BroadcastRadioUtilsTest, GetAmFmFrequencyWithAmFmSelector) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); ASSERT_EQ(utils::getAmFmFrequency(sel), static_cast(kFmFrequencyKHz)); } -TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithHdSelector) { +TEST(BroadcastRadioUtilsTest, GetAmFmFrequencyWithHdSelector) { ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); ASSERT_EQ(utils::getAmFmFrequency(sel), static_cast(kHdFrequency)); } -TEST(BroadcastRadioUtilsTest, getAmFmFrequencyWithNonAmFmHdSelector) { +TEST(BroadcastRadioUtilsTest, GetAmFmFrequencyWithNonAmFmHdSelector) { ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); ASSERT_EQ(utils::getAmFmFrequency(sel), 0u); } +TEST(BroadcastRadioUtilsTest, MakeSelectorDabWithOnlySidExt) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt); + + EXPECT_EQ(sel.primaryId.type, IdentifierType::DAB_SID_EXT); + EXPECT_EQ(sel.primaryId.value, static_cast(kDabSidExt)); + EXPECT_TRUE(sel.secondaryIds.empty()); +} + +TEST(BroadcastRadioUtilsTest, MakeSelectorDab) { + ProgramIdentifier ensembleIdExpected = + utils::makeIdentifier(IdentifierType::DAB_ENSEMBLE, kDabEnsemble); + ProgramIdentifier frequencyIdExpected = + utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, kDabFrequencyKhz); + + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + EXPECT_EQ(sel.primaryId.type, IdentifierType::DAB_SID_EXT); + EXPECT_EQ(sel.primaryId.value, static_cast(kDabSidExt)); + EXPECT_EQ(sel.secondaryIds.size(), 2u); + EXPECT_NE(std::find(sel.secondaryIds.begin(), sel.secondaryIds.end(), ensembleIdExpected), + sel.secondaryIds.end()); + EXPECT_NE(std::find(sel.secondaryIds.begin(), sel.secondaryIds.end(), frequencyIdExpected), + sel.secondaryIds.end()); +} + +TEST(BroadcastRadioUtilsTest, GetDabSId) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getDabSId(sel), kDabSid); +} + +TEST(BroadcastRadioUtilsTest, GetDabEccCode) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getDabEccCode(sel), kDabEccCode); +} + +TEST(BroadcastRadioUtilsTest, GetDabSCIdS) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_EQ(utils::getDabSCIdS(sel), kDabSCIdS); +} + } // namespace aidl::android::hardware::broadcastradio From 9e2546bda50260373edc01dfb7bb9eaef44d127c Mon Sep 17 00:00:00 2001 From: yomna Date: Wed, 10 Jan 2024 19:04:23 +0000 Subject: [PATCH 079/198] Include SOS enums in ConnectionEvent, IPsec enums in SecurityAlgorithm Bug: b/319272663 Test: m Change-Id: Ifdfc4da8a93485f4f39beb57d60910f2905eb4ad --- .../hardware/radio/network/ConnectionEvent.aidl | 14 +++++++++----- .../radio/network/SecurityAlgorithm.aidl | 2 ++ .../hardware/radio/network/ConnectionEvent.aidl | 16 +++++++++++----- .../radio/network/SecurityAlgorithm.aidl | 9 ++++++++- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ConnectionEvent.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ConnectionEvent.aidl index eedb8edefa..1529512695 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ConnectionEvent.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ConnectionEvent.aidl @@ -42,9 +42,13 @@ enum ConnectionEvent { NAS_SIGNALLING_LTE = 4, AS_SIGNALLING_LTE = 5, VOLTE_SIP = 6, - VOLTE_RTP = 7, - NAS_SIGNALLING_5G = 8, - AS_SIGNALLING_5G = 9, - VONR_SIP = 10, - VONR_RTP = 11, + VOLTE_SIP_SOS = 7, + VOLTE_RTP = 8, + VOLTE_RTP_SOS = 9, + NAS_SIGNALLING_5G = 10, + AS_SIGNALLING_5G = 11, + VONR_SIP = 12, + VONR_SIP_SOS = 13, + VONR_RTP = 14, + VONR_RTP_SOS = 15, } diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl index c590d2bede..c3333bf190 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -57,6 +57,7 @@ enum SecurityAlgorithm { NEA1 = 56, NEA2 = 57, NEA3 = 58, + SIP_NO_IPSEC_CONFIG = 66, IMS_NULL = 67, SIP_NULL = 68, AES_GCM = 69, @@ -66,6 +67,7 @@ enum SecurityAlgorithm { AES_EDE3_CBC = 73, HMAC_SHA1_96 = 74, HMAC_MD5_96 = 75, + RTP = 85, SRTP_NULL = 86, SRTP_AES_COUNTER = 87, SRTP_AES_F8 = 88, diff --git a/radio/aidl/android/hardware/radio/network/ConnectionEvent.aidl b/radio/aidl/android/hardware/radio/network/ConnectionEvent.aidl index 2e39ebf791..d5f367f646 100644 --- a/radio/aidl/android/hardware/radio/network/ConnectionEvent.aidl +++ b/radio/aidl/android/hardware/radio/network/ConnectionEvent.aidl @@ -42,14 +42,20 @@ enum ConnectionEvent { AS_SIGNALLING_LTE = 5, // VoLTE + // Note: emergency calls could use either normal or SOS (emergency) PDN in practice VOLTE_SIP = 6, - VOLTE_RTP = 7, + VOLTE_SIP_SOS = 7, + VOLTE_RTP = 8, + VOLTE_RTP_SOS = 9, // 5G packet services - NAS_SIGNALLING_5G = 8, - AS_SIGNALLING_5G = 9, + NAS_SIGNALLING_5G = 10, + AS_SIGNALLING_5G = 11, // VoNR - VONR_SIP = 10, - VONR_RTP = 11, + // Note: emergency calls could use either normal or SOS (emergency) PDN in practice + VONR_SIP = 12, + VONR_SIP_SOS = 13, + VONR_RTP = 14, + VONR_RTP_SOS = 15 } diff --git a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl index 19feeeff59..01f732738b 100644 --- a/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl +++ b/radio/aidl/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -60,7 +60,11 @@ enum SecurityAlgorithm { NEA3 = 58, // IMS and SIP layer security (See 3GPP TS 33.203) + // No IPsec config + SIP_NO_IPSEC_CONFIG = 66, IMS_NULL = 67, + + // Has IPsec config SIP_NULL = 68, AES_GCM = 69, AES_GMAC = 70, @@ -70,7 +74,10 @@ enum SecurityAlgorithm { HMAC_SHA1_96 = 74, HMAC_MD5_96 = 75, - // RTP (see 3GPP TS 33.328) + // RTP and SRTP (see 3GPP TS 33.328) + // When SRTP is not being used + RTP = 85, + // When SRTP is available and used SRTP_NULL = 86, SRTP_AES_COUNTER = 87, SRTP_AES_F8 = 88, From a4ab299db4433766ce407f8e1ed7fb40d4ff58c8 Mon Sep 17 00:00:00 2001 From: Aishwarya Mallampati Date: Wed, 10 Jan 2024 20:57:24 +0000 Subject: [PATCH 080/198] Fix enum number in RegistrationFailCause Bug: 317689758 Test: build Change-Id: Ie35226fae05054dfe2ec92a4e19a8a6396aa6f25 --- .../hardware/radio/network/RegistrationFailCause.aidl | 4 ++++ .../hardware/radio/network/RegistrationFailCause.aidl | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl index 56f516d532..fcc079ec0f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl @@ -50,7 +50,11 @@ enum RegistrationFailCause { ROAMING_NOT_ALLOWED = 13, GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14, NO_SUITABLE_CELLS = 15, + /** + * @deprecated MSC_TEMPORARILY_NOT_REACHABLE value is wrong and should not be used. Use MSC_TEMP_NOT_REACHABLE instead. + */ MSC_TEMPORARILY_NOT_REACHABLE = 15, + MSC_TEMP_NOT_REACHABLE = 16, NETWORK_FAILURE = 17, MAC_FAILURE = 20, SYNC_FAILURE = 21, diff --git a/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl index 2955f9658d..11fd8c5ec9 100644 --- a/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl +++ b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl @@ -86,9 +86,14 @@ enum RegistrationFailCause { */ NO_SUITABLE_CELLS = 15, /** - * 16 - MSC temporarily not reachable + * @deprecated MSC_TEMPORARILY_NOT_REACHABLE value is wrong and should not be used. + * Use MSC_TEMP_NOT_REACHABLE instead. */ MSC_TEMPORARILY_NOT_REACHABLE = 15, + /** + * 16 - MSC temporarily not reachable + */ + MSC_TEMP_NOT_REACHABLE = 16, /** * 17 - Network Failure */ From 81bfcda77a4c0776012098b8f9d00f15b2415348 Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Tue, 9 Jan 2024 20:50:53 +0000 Subject: [PATCH 081/198] Effect AIDL: implement IEffect.reopen - add IEffect.reopen implementation - now data MQs can update at runtime, sync EffectContext access - add clang thread annotation Bug: 302036943 Test: atest VtsHalAudioEffectTargetTest Test: build and test audio effect on Pixel Change-Id: I3e9fdc2d5eb50b8c1377e0da75573f0eba7ea3f1 --- audio/aidl/default/Android.bp | 1 + audio/aidl/default/EffectContext.cpp | 227 ++++++++++++++++++ audio/aidl/default/EffectImpl.cpp | 157 +++++++++--- audio/aidl/default/EffectThread.cpp | 55 +---- .../AcousticEchoCancelerSw.cpp | 4 - .../AcousticEchoCancelerSw.h | 18 +- .../AutomaticGainControlV1Sw.cpp | 4 - .../AutomaticGainControlV1Sw.h | 21 +- .../AutomaticGainControlV2Sw.cpp | 4 - .../AutomaticGainControlV2Sw.h | 21 +- audio/aidl/default/bassboost/BassBoostSw.cpp | 4 - audio/aidl/default/bassboost/BassBoostSw.h | 20 +- audio/aidl/default/downmix/DownmixSw.cpp | 4 - audio/aidl/default/downmix/DownmixSw.h | 21 +- .../DynamicsProcessingSw.cpp | 7 +- .../dynamicProcessing/DynamicsProcessingSw.h | 21 +- audio/aidl/default/envReverb/EnvReverbSw.cpp | 4 - audio/aidl/default/envReverb/EnvReverbSw.h | 18 +- audio/aidl/default/equalizer/EqualizerSw.cpp | 4 - audio/aidl/default/equalizer/EqualizerSw.h | 18 +- .../default/extension/ExtensionEffect.cpp | 4 - .../aidl/default/extension/ExtensionEffect.h | 18 +- .../hapticGenerator/HapticGeneratorSw.cpp | 4 - .../hapticGenerator/HapticGeneratorSw.h | 21 +- .../include/effect-impl/EffectContext.h | 137 ++++------- .../default/include/effect-impl/EffectImpl.h | 50 +++- .../include/effect-impl/EffectThread.h | 35 +-- .../default/include/effect-impl/EffectTypes.h | 5 +- .../loudnessEnhancer/LoudnessEnhancerSw.cpp | 4 - .../loudnessEnhancer/LoudnessEnhancerSw.h | 21 +- .../noiseSuppression/NoiseSuppressionSw.cpp | 4 - .../noiseSuppression/NoiseSuppressionSw.h | 21 +- .../default/presetReverb/PresetReverbSw.cpp | 4 - .../default/presetReverb/PresetReverbSw.h | 20 +- .../default/spatializer/SpatializerSw.cpp | 4 - .../aidl/default/spatializer/SpatializerSw.h | 18 +- .../default/virtualizer/VirtualizerSw.cpp | 4 - .../aidl/default/virtualizer/VirtualizerSw.h | 19 +- .../aidl/default/visualizer/VisualizerSw.cpp | 4 - audio/aidl/default/visualizer/VisualizerSw.h | 20 +- audio/aidl/default/volume/VolumeSw.cpp | 4 - audio/aidl/default/volume/VolumeSw.h | 21 +- audio/aidl/vts/EffectHelper.h | 11 + .../aidl/vts/VtsHalAudioEffectTargetTest.cpp | 96 ++++++++ 44 files changed, 735 insertions(+), 447 deletions(-) create mode 100644 audio/aidl/default/EffectContext.cpp diff --git a/audio/aidl/default/Android.bp b/audio/aidl/default/Android.bp index 7e06c2c461..bfa2783970 100644 --- a/audio/aidl/default/Android.bp +++ b/audio/aidl/default/Android.bp @@ -230,6 +230,7 @@ cc_defaults { filegroup { name: "effectCommonFile", srcs: [ + "EffectContext.cpp", "EffectThread.cpp", "EffectImpl.cpp", ], diff --git a/audio/aidl/default/EffectContext.cpp b/audio/aidl/default/EffectContext.cpp new file mode 100644 index 0000000000..2e1291822a --- /dev/null +++ b/audio/aidl/default/EffectContext.cpp @@ -0,0 +1,227 @@ +/* + * 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. + */ + +#include +#define LOG_TAG "AHAL_EffectContext" +#include "effect-impl/EffectContext.h" +#include "include/effect-impl/EffectTypes.h" + +using aidl::android::hardware::audio::common::getChannelCount; +using aidl::android::hardware::audio::common::getFrameSizeInBytes; +using aidl::android::hardware::audio::effect::IEffect; +using aidl::android::media::audio::common::PcmType; +using ::android::hardware::EventFlag; + +namespace aidl::android::hardware::audio::effect { + +EffectContext::EffectContext(size_t statusDepth, const Parameter::Common& common) { + LOG_ALWAYS_FATAL_IF(RetCode::SUCCESS != setCommon(common), "illegalCommonParameter"); + + // in/outBuffer size in float (FMQ data format defined for DataMQ) + size_t inBufferSizeInFloat = common.input.frameCount * mInputFrameSize / sizeof(float); + size_t outBufferSizeInFloat = common.output.frameCount * mOutputFrameSize / sizeof(float); + + // only status FMQ use the EventFlag + mStatusMQ = std::make_shared(statusDepth, true /*configureEventFlagWord*/); + mInputMQ = std::make_shared(inBufferSizeInFloat); + mOutputMQ = std::make_shared(outBufferSizeInFloat); + + if (!mStatusMQ->isValid() || !mInputMQ->isValid() || !mOutputMQ->isValid()) { + LOG(ERROR) << __func__ << " created invalid FMQ"; + } + + ::android::status_t status = + EventFlag::createEventFlag(mStatusMQ->getEventFlagWord(), &mEfGroup); + LOG_ALWAYS_FATAL_IF(status != ::android::OK || !mEfGroup, " create EventFlagGroup failed "); + mWorkBuffer.reserve(std::max(inBufferSizeInFloat, outBufferSizeInFloat)); +} + +// reset buffer status by abandon input data in FMQ +void EffectContext::resetBuffer() { + auto buffer = static_cast(mWorkBuffer.data()); + std::vector status(mStatusMQ->availableToRead()); + if (mInputMQ) { + mInputMQ->read(buffer, mInputMQ->availableToRead()); + } +} + +void EffectContext::dupeFmqWithReopen(IEffect::OpenEffectReturn* effectRet) { + if (!mInputMQ) { + mInputMQ = std::make_shared(mCommon.input.frameCount * mInputFrameSize / + sizeof(float)); + } + if (!mOutputMQ) { + mOutputMQ = std::make_shared(mCommon.output.frameCount * mOutputFrameSize / + sizeof(float)); + } + dupeFmq(effectRet); +} + +void EffectContext::dupeFmq(IEffect::OpenEffectReturn* effectRet) { + if (effectRet) { + effectRet->statusMQ = mStatusMQ->dupeDesc(); + effectRet->inputDataMQ = mInputMQ->dupeDesc(); + effectRet->outputDataMQ = mOutputMQ->dupeDesc(); + } +} + +float* EffectContext::getWorkBuffer() { + return static_cast(mWorkBuffer.data()); +} + +std::shared_ptr EffectContext::getStatusFmq() const { + return mStatusMQ; +} + +std::shared_ptr EffectContext::getInputDataFmq() const { + return mInputMQ; +} + +std::shared_ptr EffectContext::getOutputDataFmq() const { + return mOutputMQ; +} + +size_t EffectContext::getInputFrameSize() const { + return mInputFrameSize; +} + +size_t EffectContext::getOutputFrameSize() const { + return mOutputFrameSize; +} + +int EffectContext::getSessionId() const { + return mCommon.session; +} + +int EffectContext::getIoHandle() const { + return mCommon.ioHandle; +} + +RetCode EffectContext::setOutputDevice( + const std::vector& device) { + mOutputDevice = device; + return RetCode::SUCCESS; +} + +std::vector +EffectContext::getOutputDevice() { + return mOutputDevice; +} + +RetCode EffectContext::setAudioMode(const aidl::android::media::audio::common::AudioMode& mode) { + mMode = mode; + return RetCode::SUCCESS; +} +aidl::android::media::audio::common::AudioMode EffectContext::getAudioMode() { + return mMode; +} + +RetCode EffectContext::setAudioSource( + const aidl::android::media::audio::common::AudioSource& source) { + mSource = source; + return RetCode::SUCCESS; +} + +aidl::android::media::audio::common::AudioSource EffectContext::getAudioSource() { + return mSource; +} + +RetCode EffectContext::setVolumeStereo(const Parameter::VolumeStereo& volumeStereo) { + mVolumeStereo = volumeStereo; + return RetCode::SUCCESS; +} + +Parameter::VolumeStereo EffectContext::getVolumeStereo() { + return mVolumeStereo; +} + +RetCode EffectContext::setCommon(const Parameter::Common& common) { + LOG(VERBOSE) << __func__ << common.toString(); + auto& input = common.input; + auto& output = common.output; + + if (input.base.format.pcm != aidl::android::media::audio::common::PcmType::FLOAT_32_BIT || + output.base.format.pcm != aidl::android::media::audio::common::PcmType::FLOAT_32_BIT) { + LOG(ERROR) << __func__ << " illegal IO, input " + << ::android::internal::ToString(input.base.format) << ", output " + << ::android::internal::ToString(output.base.format); + return RetCode::ERROR_ILLEGAL_PARAMETER; + } + + if (auto ret = updateIOFrameSize(common); ret != RetCode::SUCCESS) { + return ret; + } + + mInputChannelCount = getChannelCount(input.base.channelMask); + mOutputChannelCount = getChannelCount(output.base.channelMask); + if (mInputChannelCount == 0 || mOutputChannelCount == 0) { + LOG(ERROR) << __func__ << " illegal channel count input " << mInputChannelCount + << ", output " << mOutputChannelCount; + return RetCode::ERROR_ILLEGAL_PARAMETER; + } + + mCommon = common; + return RetCode::SUCCESS; +} + +Parameter::Common EffectContext::getCommon() { + LOG(VERBOSE) << __func__ << mCommon.toString(); + return mCommon; +} + +EventFlag* EffectContext::getStatusEventFlag() { + return mEfGroup; +} + +RetCode EffectContext::updateIOFrameSize(const Parameter::Common& common) { + const auto iFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes( + common.input.base.format, common.input.base.channelMask); + const auto oFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes( + common.output.base.format, common.output.base.channelMask); + + bool needUpdateMq = false; + if (mInputMQ && + (mInputFrameSize != iFrameSize || mCommon.input.frameCount != common.input.frameCount)) { + mInputMQ.reset(); + needUpdateMq = true; + } + if (mOutputMQ && + (mOutputFrameSize != oFrameSize || mCommon.output.frameCount != common.output.frameCount)) { + mOutputMQ.reset(); + needUpdateMq = true; + } + mInputFrameSize = iFrameSize; + mOutputFrameSize = oFrameSize; + if (needUpdateMq) { + return notifyDataMqUpdate(); + } + return RetCode::SUCCESS; +} + +RetCode EffectContext::notifyDataMqUpdate() { + if (!mEfGroup) { + LOG(ERROR) << __func__ << ": invalid EventFlag group"; + return RetCode::ERROR_EVENT_FLAG_ERROR; + } + + if (const auto ret = mEfGroup->wake(kEventFlagDataMqUpdate); ret != ::android::OK) { + LOG(ERROR) << __func__ << ": wake failure with ret " << ret; + return RetCode::ERROR_EVENT_FLAG_ERROR; + } + LOG(DEBUG) << __func__ << " : signal client for reopen"; + return RetCode::SUCCESS; +} +} // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/EffectImpl.cpp b/audio/aidl/default/EffectImpl.cpp index 3c12f83e0f..b76269aa52 100644 --- a/audio/aidl/default/EffectImpl.cpp +++ b/audio/aidl/default/EffectImpl.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #define LOG_TAG "AHAL_EffectImpl" #include "effect-impl/EffectImpl.h" #include "effect-impl/EffectTypes.h" @@ -22,6 +23,7 @@ using aidl::android::hardware::audio::effect::IEffect; using aidl::android::hardware::audio::effect::State; using aidl::android::media::audio::common::PcmType; +using ::android::hardware::EventFlag; extern "C" binder_exception_t destroyEffect(const std::shared_ptr& instanceSp) { State state; @@ -45,50 +47,62 @@ ndk::ScopedAStatus EffectImpl::open(const Parameter::Common& common, RETURN_IF(common.input.base.format.pcm != common.output.base.format.pcm || common.input.base.format.pcm != PcmType::FLOAT_32_BIT, EX_ILLEGAL_ARGUMENT, "dataMustBe32BitsFloat"); + std::lock_guard lg(mImplMutex); RETURN_OK_IF(mState != State::INIT); - auto context = createContext(common); - RETURN_IF(!context, EX_NULL_POINTER, "createContextFailed"); + mImplContext = createContext(common); + RETURN_IF(!mImplContext, EX_NULL_POINTER, "nullContext"); + mEventFlag = mImplContext->getStatusEventFlag(); if (specific.has_value()) { RETURN_IF_ASTATUS_NOT_OK(setParameterSpecific(specific.value()), "setSpecParamErr"); } mState = State::IDLE; - context->dupeFmq(ret); - RETURN_IF(createThread(context, getEffectName()) != RetCode::SUCCESS, EX_UNSUPPORTED_OPERATION, + mImplContext->dupeFmq(ret); + RETURN_IF(createThread(getEffectName()) != RetCode::SUCCESS, EX_UNSUPPORTED_OPERATION, "FailedToCreateWorker"); return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus EffectImpl::reopen(OpenEffectReturn* ret) { + std::lock_guard lg(mImplMutex); RETURN_IF(mState == State::INIT, EX_ILLEGAL_STATE, "alreadyClosed"); // TODO: b/302036943 add reopen implementation - auto context = getContext(); - RETURN_IF(!context, EX_NULL_POINTER, "nullContext"); - context->dupeFmq(ret); + RETURN_IF(!mImplContext, EX_NULL_POINTER, "nullContext"); + mImplContext->dupeFmqWithReopen(ret); return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus EffectImpl::close() { - RETURN_OK_IF(mState == State::INIT); - RETURN_IF(mState == State::PROCESSING, EX_ILLEGAL_STATE, "closeAtProcessing"); + { + std::lock_guard lg(mImplMutex); + RETURN_OK_IF(mState == State::INIT); + RETURN_IF(mState == State::PROCESSING, EX_ILLEGAL_STATE, "closeAtProcessing"); + mState = State::INIT; + } + RETURN_IF(notifyEventFlag(kEventFlagNotEmpty) != RetCode::SUCCESS, EX_ILLEGAL_STATE, + "notifyEventFlagFailed"); // stop the worker thread, ignore the return code RETURN_IF(destroyThread() != RetCode::SUCCESS, EX_UNSUPPORTED_OPERATION, "FailedToDestroyWorker"); - mState = State::INIT; - RETURN_IF(releaseContext() != RetCode::SUCCESS, EX_UNSUPPORTED_OPERATION, - "FailedToCreateWorker"); + + { + std::lock_guard lg(mImplMutex); + releaseContext(); + mImplContext.reset(); + } LOG(DEBUG) << getEffectName() << __func__; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus EffectImpl::setParameter(const Parameter& param) { + std::lock_guard lg(mImplMutex); LOG(VERBOSE) << getEffectName() << __func__ << " with: " << param.toString(); - const auto tag = param.getTag(); + const auto& tag = param.getTag(); switch (tag) { case Parameter::common: case Parameter::deviceDescription: @@ -110,8 +124,8 @@ ndk::ScopedAStatus EffectImpl::setParameter(const Parameter& param) { } ndk::ScopedAStatus EffectImpl::getParameter(const Parameter::Id& id, Parameter* param) { - auto tag = id.getTag(); - switch (tag) { + std::lock_guard lg(mImplMutex); + switch (id.getTag()) { case Parameter::Id::commonTag: { RETURN_IF_ASTATUS_NOT_OK(getParameterCommon(id.get(), param), "CommonParamNotSupported"); @@ -131,30 +145,30 @@ ndk::ScopedAStatus EffectImpl::getParameter(const Parameter::Id& id, Parameter* } ndk::ScopedAStatus EffectImpl::setParameterCommon(const Parameter& param) { - auto context = getContext(); - RETURN_IF(!context, EX_NULL_POINTER, "nullContext"); + RETURN_IF(!mImplContext, EX_NULL_POINTER, "nullContext"); - auto tag = param.getTag(); + const auto& tag = param.getTag(); switch (tag) { case Parameter::common: - RETURN_IF(context->setCommon(param.get()) != RetCode::SUCCESS, + RETURN_IF(mImplContext->setCommon(param.get()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setCommFailed"); break; case Parameter::deviceDescription: - RETURN_IF(context->setOutputDevice(param.get()) != + RETURN_IF(mImplContext->setOutputDevice(param.get()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setDeviceFailed"); break; case Parameter::mode: - RETURN_IF(context->setAudioMode(param.get()) != RetCode::SUCCESS, + RETURN_IF(mImplContext->setAudioMode(param.get()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setModeFailed"); break; case Parameter::source: - RETURN_IF(context->setAudioSource(param.get()) != RetCode::SUCCESS, + RETURN_IF(mImplContext->setAudioSource(param.get()) != + RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setSourceFailed"); break; case Parameter::volumeStereo: - RETURN_IF(context->setVolumeStereo(param.get()) != + RETURN_IF(mImplContext->setVolumeStereo(param.get()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setVolumeStereoFailed"); break; @@ -169,28 +183,27 @@ ndk::ScopedAStatus EffectImpl::setParameterCommon(const Parameter& param) { } ndk::ScopedAStatus EffectImpl::getParameterCommon(const Parameter::Tag& tag, Parameter* param) { - auto context = getContext(); - RETURN_IF(!context, EX_NULL_POINTER, "nullContext"); + RETURN_IF(!mImplContext, EX_NULL_POINTER, "nullContext"); switch (tag) { case Parameter::common: { - param->set(context->getCommon()); + param->set(mImplContext->getCommon()); break; } case Parameter::deviceDescription: { - param->set(context->getOutputDevice()); + param->set(mImplContext->getOutputDevice()); break; } case Parameter::mode: { - param->set(context->getAudioMode()); + param->set(mImplContext->getAudioMode()); break; } case Parameter::source: { - param->set(context->getAudioSource()); + param->set(mImplContext->getAudioSource()); break; } case Parameter::volumeStereo: { - param->set(context->getVolumeStereo()); + param->set(mImplContext->getVolumeStereo()); break; } default: { @@ -202,30 +215,34 @@ ndk::ScopedAStatus EffectImpl::getParameterCommon(const Parameter::Tag& tag, Par return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus EffectImpl::getState(State* state) { +ndk::ScopedAStatus EffectImpl::getState(State* state) NO_THREAD_SAFETY_ANALYSIS { *state = mState; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus EffectImpl::command(CommandId command) { - RETURN_IF(mState == State::INIT, EX_ILLEGAL_STATE, "CommandStateError"); + std::lock_guard lg(mImplMutex); + RETURN_IF(mState == State::INIT, EX_ILLEGAL_STATE, "instanceNotOpen"); LOG(DEBUG) << getEffectName() << __func__ << ": receive command: " << toString(command) << " at state " << toString(mState); switch (command) { case CommandId::START: - RETURN_IF(mState == State::INIT, EX_ILLEGAL_STATE, "instanceNotOpen"); RETURN_OK_IF(mState == State::PROCESSING); RETURN_IF_ASTATUS_NOT_OK(commandImpl(command), "commandImplFailed"); - startThread(); mState = State::PROCESSING; + RETURN_IF(notifyEventFlag(kEventFlagNotEmpty) != RetCode::SUCCESS, EX_ILLEGAL_STATE, + "notifyEventFlagFailed"); + startThread(); break; case CommandId::STOP: case CommandId::RESET: RETURN_OK_IF(mState == State::IDLE); + mState = State::IDLE; + RETURN_IF(notifyEventFlag(kEventFlagNotEmpty) != RetCode::SUCCESS, EX_ILLEGAL_STATE, + "notifyEventFlagFailed"); stopThread(); RETURN_IF_ASTATUS_NOT_OK(commandImpl(command), "commandImplFailed"); - mState = State::IDLE; break; default: LOG(ERROR) << getEffectName() << __func__ << " instance still processing"; @@ -237,19 +254,41 @@ ndk::ScopedAStatus EffectImpl::command(CommandId command) { } ndk::ScopedAStatus EffectImpl::commandImpl(CommandId command) { - auto context = getContext(); - RETURN_IF(!context, EX_NULL_POINTER, "nullContext"); + RETURN_IF(!mImplContext, EX_NULL_POINTER, "nullContext"); if (command == CommandId::RESET) { - context->resetBuffer(); + mImplContext->resetBuffer(); } return ndk::ScopedAStatus::ok(); } +std::shared_ptr EffectImpl::createContext(const Parameter::Common& common) { + return std::make_shared(1 /* statusMqDepth */, common); +} + +RetCode EffectImpl::releaseContext() { + if (mImplContext) { + mImplContext.reset(); + } + return RetCode::SUCCESS; +} + void EffectImpl::cleanUp() { command(CommandId::STOP); close(); } +RetCode EffectImpl::notifyEventFlag(uint32_t flag) { + if (!mEventFlag) { + LOG(ERROR) << getEffectName() << __func__ << ": StatusEventFlag invalid"; + return RetCode::ERROR_EVENT_FLAG_ERROR; + } + if (const auto ret = mEventFlag->wake(flag); ret != ::android::OK) { + LOG(ERROR) << getEffectName() << __func__ << ": wake failure with ret " << ret; + return RetCode::ERROR_EVENT_FLAG_ERROR; + } + return RetCode::SUCCESS; +} + IEffect::Status EffectImpl::status(binder_status_t status, size_t consumed, size_t produced) { IEffect::Status ret; ret.status = status; @@ -258,6 +297,48 @@ IEffect::Status EffectImpl::status(binder_status_t status, size_t consumed, size return ret; } +void EffectImpl::process() { + /** + * wait for the EventFlag without lock, it's ok because the mEfGroup pointer will not change + * in the life cycle of workerThread (threadLoop). + */ + uint32_t efState = 0; + if (!mEventFlag || + ::android::OK != mEventFlag->wait(kEventFlagNotEmpty, &efState, 0 /* no timeout */, + true /* retry */) || + !(efState & kEventFlagNotEmpty)) { + LOG(ERROR) << getEffectName() << __func__ << ": StatusEventFlag - " << mEventFlag + << " efState - " << std::hex << efState; + return; + } + + { + std::lock_guard lg(mImplMutex); + if (mState != State::PROCESSING) { + LOG(DEBUG) << getEffectName() << " skip process in state: " << toString(mState); + return; + } + RETURN_VALUE_IF(!mImplContext, void(), "nullContext"); + auto statusMQ = mImplContext->getStatusFmq(); + auto inputMQ = mImplContext->getInputDataFmq(); + auto outputMQ = mImplContext->getOutputDataFmq(); + auto buffer = mImplContext->getWorkBuffer(); + if (!inputMQ || !outputMQ) { + return; + } + + auto processSamples = inputMQ->availableToRead(); + if (processSamples) { + inputMQ->read(buffer, processSamples); + IEffect::Status status = effectProcessImpl(buffer, buffer, processSamples); + outputMQ->write(buffer, status.fmqProduced); + statusMQ->writeBlocking(&status, 1); + LOG(VERBOSE) << getEffectName() << __func__ << ": done processing, effect consumed " + << status.fmqConsumed << " produced " << status.fmqProduced; + } + } +} + // A placeholder processing implementation to copy samples from input to output IEffect::Status EffectImpl::effectProcessImpl(float* in, float* out, int samples) { for (int i = 0; i < samples; i++) { diff --git a/audio/aidl/default/EffectThread.cpp b/audio/aidl/default/EffectThread.cpp index 47ba9f44cb..fdd48034e8 100644 --- a/audio/aidl/default/EffectThread.cpp +++ b/audio/aidl/default/EffectThread.cpp @@ -25,8 +25,6 @@ #include "effect-impl/EffectThread.h" #include "effect-impl/EffectTypes.h" -using ::android::hardware::EventFlag; - namespace aidl::android::hardware::audio::effect { EffectThread::EffectThread() { @@ -38,31 +36,18 @@ EffectThread::~EffectThread() { LOG(DEBUG) << __func__ << " done"; } -RetCode EffectThread::createThread(std::shared_ptr context, const std::string& name, - int priority) { +RetCode EffectThread::createThread(const std::string& name, int priority) { if (mThread.joinable()) { LOG(WARNING) << mName << __func__ << " thread already created, no-op"; return RetCode::SUCCESS; } + mName = name; mPriority = priority; { std::lock_guard lg(mThreadMutex); mStop = true; mExit = false; - mThreadContext = std::move(context); - auto statusMQ = mThreadContext->getStatusFmq(); - EventFlag* efGroup = nullptr; - ::android::status_t status = - EventFlag::createEventFlag(statusMQ->getEventFlagWord(), &efGroup); - if (status != ::android::OK || !efGroup) { - LOG(ERROR) << mName << __func__ << " create EventFlagGroup failed " << status - << " efGroup " << efGroup; - return RetCode::ERROR_THREAD; - } - mEfGroup.reset(efGroup); - // kickoff and wait for commands (CommandId::START/STOP) or IEffect.close from client - mEfGroup->wake(kEventFlagNotEmpty); } mThread = std::thread(&EffectThread::threadLoop, this); @@ -75,16 +60,12 @@ RetCode EffectThread::destroyThread() { std::lock_guard lg(mThreadMutex); mStop = mExit = true; } - mCv.notify_one(); + mCv.notify_one(); if (mThread.joinable()) { mThread.join(); } - { - std::lock_guard lg(mThreadMutex); - mThreadContext.reset(); - } LOG(DEBUG) << mName << __func__; return RetCode::SUCCESS; } @@ -96,7 +77,6 @@ RetCode EffectThread::startThread() { mCv.notify_one(); } - mEfGroup->wake(kEventFlagNotEmpty); LOG(DEBUG) << mName << __func__; return RetCode::SUCCESS; } @@ -108,7 +88,6 @@ RetCode EffectThread::stopThread() { mCv.notify_one(); } - mEfGroup->wake(kEventFlagNotEmpty); LOG(DEBUG) << mName << __func__; return RetCode::SUCCESS; } @@ -117,13 +96,6 @@ void EffectThread::threadLoop() { pthread_setname_np(pthread_self(), mName.substr(0, kMaxTaskNameLen - 1).c_str()); setpriority(PRIO_PROCESS, 0, mPriority); while (true) { - /** - * wait for the EventFlag without lock, it's ok because the mEfGroup pointer will not change - * in the life cycle of workerThread (threadLoop). - */ - uint32_t efState = 0; - mEfGroup->wait(kEventFlagNotEmpty, &efState); - { std::unique_lock l(mThreadMutex); ::android::base::ScopedLockAssertion lock_assertion(mThreadMutex); @@ -132,27 +104,8 @@ void EffectThread::threadLoop() { LOG(INFO) << __func__ << " EXIT!"; return; } - process_l(); } - } -} - -void EffectThread::process_l() { - RETURN_VALUE_IF(!mThreadContext, void(), "nullContext"); - - auto statusMQ = mThreadContext->getStatusFmq(); - auto inputMQ = mThreadContext->getInputDataFmq(); - auto outputMQ = mThreadContext->getOutputDataFmq(); - auto buffer = mThreadContext->getWorkBuffer(); - - auto processSamples = inputMQ->availableToRead(); - if (processSamples) { - inputMQ->read(buffer, processSamples); - IEffect::Status status = effectProcessImpl(buffer, buffer, processSamples); - outputMQ->write(buffer, status.fmqProduced); - statusMQ->writeBlocking(&status, 1); - LOG(VERBOSE) << mName << __func__ << ": done processing, effect consumed " - << status.fmqConsumed << " produced " << status.fmqProduced; + process(); } } diff --git a/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.cpp b/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.cpp index 5e18f1b12f..be0927c457 100644 --- a/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.cpp +++ b/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.cpp @@ -168,10 +168,6 @@ std::shared_ptr AcousticEchoCancelerSw::createContext( return mContext; } -std::shared_ptr AcousticEchoCancelerSw::getContext() { - return mContext; -} - RetCode AcousticEchoCancelerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.h b/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.h index 73cf42b17a..95738f8dd1 100644 --- a/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.h +++ b/audio/aidl/default/acousticEchoCanceler/AcousticEchoCancelerSw.h @@ -52,21 +52,23 @@ class AcousticEchoCancelerSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterAcousticEchoCanceler(const AcousticEchoCanceler::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.cpp b/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.cpp index ce10ae1674..d865b7e95a 100644 --- a/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.cpp +++ b/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.cpp @@ -177,10 +177,6 @@ std::shared_ptr AutomaticGainControlV1Sw::createContext( return mContext; } -std::shared_ptr AutomaticGainControlV1Sw::getContext() { - return mContext; -} - RetCode AutomaticGainControlV1Sw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.h b/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.h index 7d2a69f9d5..76b91aef31 100644 --- a/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.h +++ b/audio/aidl/default/automaticGainControlV1/AutomaticGainControlV1Sw.h @@ -53,21 +53,24 @@ class AutomaticGainControlV1Sw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterAutomaticGainControlV1(const AutomaticGainControlV1::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.cpp b/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.cpp index 1e336ac012..3ff6e38cdd 100644 --- a/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.cpp +++ b/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.cpp @@ -180,10 +180,6 @@ std::shared_ptr AutomaticGainControlV2Sw::createContext( return mContext; } -std::shared_ptr AutomaticGainControlV2Sw::getContext() { - return mContext; -} - RetCode AutomaticGainControlV2Sw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.h b/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.h index 9aa60eab60..863d470f90 100644 --- a/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.h +++ b/audio/aidl/default/automaticGainControlV2/AutomaticGainControlV2Sw.h @@ -59,21 +59,24 @@ class AutomaticGainControlV2Sw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterAutomaticGainControlV2(const AutomaticGainControlV2::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/bassboost/BassBoostSw.cpp b/audio/aidl/default/bassboost/BassBoostSw.cpp index 6072d896d9..60adc3014d 100644 --- a/audio/aidl/default/bassboost/BassBoostSw.cpp +++ b/audio/aidl/default/bassboost/BassBoostSw.cpp @@ -151,10 +151,6 @@ std::shared_ptr BassBoostSw::createContext(const Parameter::Commo return mContext; } -std::shared_ptr BassBoostSw::getContext() { - return mContext; -} - RetCode BassBoostSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/bassboost/BassBoostSw.h b/audio/aidl/default/bassboost/BassBoostSw.h index 11324727a7..901e4551b8 100644 --- a/audio/aidl/default/bassboost/BassBoostSw.h +++ b/audio/aidl/default/bassboost/BassBoostSw.h @@ -51,21 +51,23 @@ class BassBoostSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterBassBoost(const BassBoost::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/downmix/DownmixSw.cpp b/audio/aidl/default/downmix/DownmixSw.cpp index ce5fe20817..19ab2e8f6a 100644 --- a/audio/aidl/default/downmix/DownmixSw.cpp +++ b/audio/aidl/default/downmix/DownmixSw.cpp @@ -144,10 +144,6 @@ std::shared_ptr DownmixSw::createContext(const Parameter::Common& return mContext; } -std::shared_ptr DownmixSw::getContext() { - return mContext; -} - RetCode DownmixSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/downmix/DownmixSw.h b/audio/aidl/default/downmix/DownmixSw.h index 3f8a09b16c..1a9f0f01b0 100644 --- a/audio/aidl/default/downmix/DownmixSw.h +++ b/audio/aidl/default/downmix/DownmixSw.h @@ -55,20 +55,23 @@ class DownmixSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int sample) override; + IEffect::Status effectProcessImpl(float* in, float* out, int sample) + REQUIRES(mImplMutex) override; private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); - ndk::ScopedAStatus getParameterDownmix(const Downmix::Tag& tag, Parameter::Specific* specific); + ndk::ScopedAStatus getParameterDownmix(const Downmix::Tag& tag, Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.cpp b/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.cpp index e8f90b216b..36face148b 100644 --- a/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.cpp +++ b/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.cpp @@ -260,10 +260,6 @@ std::shared_ptr DynamicsProcessingSw::createContext( return mContext; } -std::shared_ptr DynamicsProcessingSw::getContext() { - return mContext; -} - RetCode DynamicsProcessingSw::releaseContext() { if (mContext) { mContext.reset(); @@ -282,6 +278,9 @@ IEffect::Status DynamicsProcessingSw::effectProcessImpl(float* in, float* out, i } RetCode DynamicsProcessingSwContext::setCommon(const Parameter::Common& common) { + if (auto ret = updateIOFrameSize(common); ret != RetCode::SUCCESS) { + return ret; + } mCommon = common; mChannelCount = ::aidl::android::hardware::audio::common::getChannelCount( common.input.base.channelMask); diff --git a/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.h b/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.h index 641cf71f68..98edca088c 100644 --- a/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.h +++ b/audio/aidl/default/dynamicProcessing/DynamicsProcessingSw.h @@ -113,15 +113,17 @@ class DynamicsProcessingSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; private: @@ -130,9 +132,10 @@ class DynamicsProcessingSw final : public EffectImpl { static const Range::DynamicsProcessingRange kPreEqBandRange; static const Range::DynamicsProcessingRange kPostEqBandRange; static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterDynamicsProcessing(const DynamicsProcessing::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; // DynamicsProcessingSw diff --git a/audio/aidl/default/envReverb/EnvReverbSw.cpp b/audio/aidl/default/envReverb/EnvReverbSw.cpp index 73975c6996..7937a6a247 100644 --- a/audio/aidl/default/envReverb/EnvReverbSw.cpp +++ b/audio/aidl/default/envReverb/EnvReverbSw.cpp @@ -267,10 +267,6 @@ std::shared_ptr EnvReverbSw::createContext(const Parameter::Commo return mContext; } -std::shared_ptr EnvReverbSw::getContext() { - return mContext; -} - RetCode EnvReverbSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/envReverb/EnvReverbSw.h b/audio/aidl/default/envReverb/EnvReverbSw.h index 5e31e2f8b2..367462b7da 100644 --- a/audio/aidl/default/envReverb/EnvReverbSw.h +++ b/audio/aidl/default/envReverb/EnvReverbSw.h @@ -100,21 +100,23 @@ class EnvReverbSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; std::string getEffectName() override { return kEffectName; } private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterEnvironmentalReverb(const EnvironmentalReverb::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/equalizer/EqualizerSw.cpp b/audio/aidl/default/equalizer/EqualizerSw.cpp index b2add3113c..640b3ba95e 100644 --- a/audio/aidl/default/equalizer/EqualizerSw.cpp +++ b/audio/aidl/default/equalizer/EqualizerSw.cpp @@ -198,10 +198,6 @@ std::shared_ptr EqualizerSw::createContext(const Parameter::Commo return mContext; } -std::shared_ptr EqualizerSw::getContext() { - return mContext; -} - RetCode EqualizerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/equalizer/EqualizerSw.h b/audio/aidl/default/equalizer/EqualizerSw.h index 56af3b5821..caaa129501 100644 --- a/audio/aidl/default/equalizer/EqualizerSw.h +++ b/audio/aidl/default/equalizer/EqualizerSw.h @@ -97,15 +97,17 @@ class EqualizerSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: @@ -113,7 +115,7 @@ class EqualizerSw final : public EffectImpl { static const std::vector kPresets; static const std::vector kRanges; ndk::ScopedAStatus getParameterEqualizer(const Equalizer::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); std::shared_ptr mContext; }; diff --git a/audio/aidl/default/extension/ExtensionEffect.cpp b/audio/aidl/default/extension/ExtensionEffect.cpp index 4a4d71b687..11916c88d2 100644 --- a/audio/aidl/default/extension/ExtensionEffect.cpp +++ b/audio/aidl/default/extension/ExtensionEffect.cpp @@ -123,10 +123,6 @@ std::shared_ptr ExtensionEffect::createContext(const Parameter::C return mContext; } -std::shared_ptr ExtensionEffect::getContext() { - return mContext; -} - RetCode ExtensionEffect::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/extension/ExtensionEffect.h b/audio/aidl/default/extension/ExtensionEffect.h index e7a068ba46..b56086068c 100644 --- a/audio/aidl/default/extension/ExtensionEffect.h +++ b/audio/aidl/default/extension/ExtensionEffect.h @@ -54,18 +54,20 @@ class ExtensionEffect final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/hapticGenerator/HapticGeneratorSw.cpp b/audio/aidl/default/hapticGenerator/HapticGeneratorSw.cpp index 27cdac8086..7469ab930e 100644 --- a/audio/aidl/default/hapticGenerator/HapticGeneratorSw.cpp +++ b/audio/aidl/default/hapticGenerator/HapticGeneratorSw.cpp @@ -158,10 +158,6 @@ std::shared_ptr HapticGeneratorSw::createContext(const Parameter: return mContext; } -std::shared_ptr HapticGeneratorSw::getContext() { - return mContext; -} - RetCode HapticGeneratorSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/hapticGenerator/HapticGeneratorSw.h b/audio/aidl/default/hapticGenerator/HapticGeneratorSw.h index 3bbe41ad29..47f3848796 100644 --- a/audio/aidl/default/hapticGenerator/HapticGeneratorSw.h +++ b/audio/aidl/default/hapticGenerator/HapticGeneratorSw.h @@ -67,21 +67,24 @@ class HapticGeneratorSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterHapticGenerator(const HapticGenerator::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/include/effect-impl/EffectContext.h b/audio/aidl/default/include/effect-impl/EffectContext.h index 89d0c7cf3c..24f3b5dcf2 100644 --- a/audio/aidl/default/include/effect-impl/EffectContext.h +++ b/audio/aidl/default/include/effect-impl/EffectContext.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "EffectTypes.h" @@ -36,127 +37,73 @@ class EffectContext { float, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite> DataMQ; - EffectContext(size_t statusDepth, const Parameter::Common& common) { - auto& input = common.input; - auto& output = common.output; - - LOG_ALWAYS_FATAL_IF( - input.base.format.pcm != aidl::android::media::audio::common::PcmType::FLOAT_32_BIT, - "inputFormatNotFloat"); - LOG_ALWAYS_FATAL_IF(output.base.format.pcm != - aidl::android::media::audio::common::PcmType::FLOAT_32_BIT, - "outputFormatNotFloat"); - - size_t inputChannelCount = - ::aidl::android::hardware::audio::common::getChannelCount(input.base.channelMask); - LOG_ALWAYS_FATAL_IF(inputChannelCount == 0, "inputChannelCountNotValid"); - size_t outputChannelCount = - ::aidl::android::hardware::audio::common::getChannelCount(output.base.channelMask); - LOG_ALWAYS_FATAL_IF(outputChannelCount == 0, "outputChannelCountNotValid"); - - mInputFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes( - input.base.format, input.base.channelMask); - mOutputFrameSize = ::aidl::android::hardware::audio::common::getFrameSizeInBytes( - output.base.format, output.base.channelMask); - // in/outBuffer size in float (FMQ data format defined for DataMQ) - size_t inBufferSizeInFloat = input.frameCount * mInputFrameSize / sizeof(float); - size_t outBufferSizeInFloat = output.frameCount * mOutputFrameSize / sizeof(float); - - // only status FMQ use the EventFlag - mStatusMQ = std::make_shared(statusDepth, true /*configureEventFlagWord*/); - mInputMQ = std::make_shared(inBufferSizeInFloat); - mOutputMQ = std::make_shared(outBufferSizeInFloat); - - if (!mStatusMQ->isValid() || !mInputMQ->isValid() || !mOutputMQ->isValid()) { - LOG(ERROR) << __func__ << " created invalid FMQ"; + EffectContext(size_t statusDepth, const Parameter::Common& common); + virtual ~EffectContext() { + if (mEfGroup) { + ::android::hardware::EventFlag::deleteEventFlag(&mEfGroup); } - mWorkBuffer.reserve(std::max(inBufferSizeInFloat, outBufferSizeInFloat)); - mCommon = common; } - virtual ~EffectContext() {} - std::shared_ptr getStatusFmq() { return mStatusMQ; } - std::shared_ptr getInputDataFmq() { return mInputMQ; } - std::shared_ptr getOutputDataFmq() { return mOutputMQ; } + std::shared_ptr getStatusFmq() const; + std::shared_ptr getInputDataFmq() const; + std::shared_ptr getOutputDataFmq() const; - float* getWorkBuffer() { return static_cast(mWorkBuffer.data()); } + float* getWorkBuffer(); // reset buffer status by abandon input data in FMQ - void resetBuffer() { - auto buffer = static_cast(mWorkBuffer.data()); - std::vector status(mStatusMQ->availableToRead()); - mInputMQ->read(buffer, mInputMQ->availableToRead()); - } + void resetBuffer(); + void dupeFmq(IEffect::OpenEffectReturn* effectRet); + size_t getInputFrameSize() const; + size_t getOutputFrameSize() const; + int getSessionId() const; + int getIoHandle() const; - void dupeFmq(IEffect::OpenEffectReturn* effectRet) { - if (effectRet) { - effectRet->statusMQ = mStatusMQ->dupeDesc(); - effectRet->inputDataMQ = mInputMQ->dupeDesc(); - effectRet->outputDataMQ = mOutputMQ->dupeDesc(); - } - } - size_t getInputFrameSize() { return mInputFrameSize; } - size_t getOutputFrameSize() { return mOutputFrameSize; } - int getSessionId() { return mCommon.session; } - int getIoHandle() { return mCommon.ioHandle; } + virtual void dupeFmqWithReopen(IEffect::OpenEffectReturn* effectRet); virtual RetCode setOutputDevice( - const std::vector& - device) { - mOutputDevice = device; - return RetCode::SUCCESS; - } + const std::vector& device); virtual std::vector - getOutputDevice() { - return mOutputDevice; - } + getOutputDevice(); - virtual RetCode setAudioMode(const aidl::android::media::audio::common::AudioMode& mode) { - mMode = mode; - return RetCode::SUCCESS; - } - virtual aidl::android::media::audio::common::AudioMode getAudioMode() { return mMode; } + virtual RetCode setAudioMode(const aidl::android::media::audio::common::AudioMode& mode); + virtual aidl::android::media::audio::common::AudioMode getAudioMode(); - virtual RetCode setAudioSource(const aidl::android::media::audio::common::AudioSource& source) { - mSource = source; - return RetCode::SUCCESS; - } - virtual aidl::android::media::audio::common::AudioSource getAudioSource() { return mSource; } + virtual RetCode setAudioSource(const aidl::android::media::audio::common::AudioSource& source); + virtual aidl::android::media::audio::common::AudioSource getAudioSource(); - virtual RetCode setVolumeStereo(const Parameter::VolumeStereo& volumeStereo) { - mVolumeStereo = volumeStereo; - return RetCode::SUCCESS; - } - virtual Parameter::VolumeStereo getVolumeStereo() { return mVolumeStereo; } + virtual RetCode setVolumeStereo(const Parameter::VolumeStereo& volumeStereo); + virtual Parameter::VolumeStereo getVolumeStereo(); - virtual RetCode setCommon(const Parameter::Common& common) { - mCommon = common; - LOG(VERBOSE) << __func__ << mCommon.toString(); - return RetCode::SUCCESS; - } - virtual Parameter::Common getCommon() { - LOG(VERBOSE) << __func__ << mCommon.toString(); - return mCommon; - } + virtual RetCode setCommon(const Parameter::Common& common); + virtual Parameter::Common getCommon(); + + virtual ::android::hardware::EventFlag* getStatusEventFlag(); protected: - // common parameters size_t mInputFrameSize; size_t mOutputFrameSize; - Parameter::Common mCommon; - std::vector mOutputDevice; - aidl::android::media::audio::common::AudioMode mMode; - aidl::android::media::audio::common::AudioSource mSource; - Parameter::VolumeStereo mVolumeStereo; + size_t mInputChannelCount; + size_t mOutputChannelCount; + Parameter::Common mCommon = {}; + std::vector mOutputDevice = {}; + aidl::android::media::audio::common::AudioMode mMode = + aidl::android::media::audio::common::AudioMode::SYS_RESERVED_INVALID; + aidl::android::media::audio::common::AudioSource mSource = + aidl::android::media::audio::common::AudioSource::SYS_RESERVED_INVALID; + Parameter::VolumeStereo mVolumeStereo = {}; + RetCode updateIOFrameSize(const Parameter::Common& common); + RetCode notifyDataMqUpdate(); private: // fmq and buffers std::shared_ptr mStatusMQ; std::shared_ptr mInputMQ; std::shared_ptr mOutputMQ; - // TODO handle effect process input and output + // std::shared_ptr mRet; // work buffer set by effect instances, the access and update are in same thread std::vector mWorkBuffer; + + ::android::hardware::EventFlag* mEfGroup; }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/include/effect-impl/EffectImpl.h b/audio/aidl/default/include/effect-impl/EffectImpl.h index 242a268912..21f6502385 100644 --- a/audio/aidl/default/include/effect-impl/EffectImpl.h +++ b/audio/aidl/default/include/effect-impl/EffectImpl.h @@ -49,33 +49,54 @@ class EffectImpl : public BnEffect, public EffectThread { virtual ndk::ScopedAStatus setParameter(const Parameter& param) override; virtual ndk::ScopedAStatus getParameter(const Parameter::Id& id, Parameter* param) override; - virtual ndk::ScopedAStatus setParameterCommon(const Parameter& param); - virtual ndk::ScopedAStatus getParameterCommon(const Parameter::Tag& tag, Parameter* param); + virtual ndk::ScopedAStatus setParameterCommon(const Parameter& param) REQUIRES(mImplMutex); + virtual ndk::ScopedAStatus getParameterCommon(const Parameter::Tag& tag, Parameter* param) + REQUIRES(mImplMutex); /* Methods MUST be implemented by each effect instances */ virtual ndk::ScopedAStatus getDescriptor(Descriptor* desc) = 0; - virtual ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) = 0; + virtual ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) = 0; virtual ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) = 0; + Parameter::Specific* specific) + REQUIRES(mImplMutex) = 0; virtual std::string getEffectName() = 0; - virtual IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + virtual std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex); + virtual RetCode releaseContext() REQUIRES(mImplMutex) = 0; /** - * Effect context methods must be implemented by each effect. - * Each effect can derive from EffectContext and define its own context, but must upcast to - * EffectContext for EffectImpl to use. + * @brief effectProcessImpl is running in worker thread which created in EffectThread. + * + * EffectThread will make sure effectProcessImpl only be called after startThread() successful + * and before stopThread() successful. + * + * effectProcessImpl implementation must not call any EffectThread interface, otherwise it will + * cause deadlock. + * + * @param in address of input float buffer. + * @param out address of output float buffer. + * @param samples number of samples to process. + * @return IEffect::Status */ - virtual std::shared_ptr createContext(const Parameter::Common& common) = 0; - virtual std::shared_ptr getContext() = 0; - virtual RetCode releaseContext() = 0; + virtual IEffect::Status effectProcessImpl(float* in, float* out, int samples) = 0; + + /** + * process() get data from data MQs, and call effectProcessImpl() for effect data processing. + * Its important for the implementation to use mImplMutex for context synchronization. + */ + void process() override; protected: - State mState = State::INIT; + State mState GUARDED_BY(mImplMutex) = State::INIT; IEffect::Status status(binder_status_t status, size_t consumed, size_t produced); void cleanUp(); + std::mutex mImplMutex; + std::shared_ptr mImplContext GUARDED_BY(mImplMutex); + /** * Optional CommandId handling methods for effects to override. * For CommandId::START, EffectImpl call commandImpl before starting the EffectThread @@ -83,6 +104,9 @@ class EffectImpl : public BnEffect, public EffectThread { * For CommandId::STOP and CommandId::RESET, EffectImpl call commandImpl after stop the * EffectThread processing. */ - virtual ndk::ScopedAStatus commandImpl(CommandId id); + virtual ndk::ScopedAStatus commandImpl(CommandId id) REQUIRES(mImplMutex); + + RetCode notifyEventFlag(uint32_t flag); + ::android::hardware::EventFlag* mEventFlag; }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/include/effect-impl/EffectThread.h b/audio/aidl/default/include/effect-impl/EffectThread.h index ae51ef70ab..3dbb0e6798 100644 --- a/audio/aidl/default/include/effect-impl/EffectThread.h +++ b/audio/aidl/default/include/effect-impl/EffectThread.h @@ -36,8 +36,7 @@ class EffectThread { virtual ~EffectThread(); // called by effect implementation. - RetCode createThread(std::shared_ptr context, const std::string& name, - int priority = ANDROID_PRIORITY_URGENT_AUDIO); + RetCode createThread(const std::string& name, int priority = ANDROID_PRIORITY_URGENT_AUDIO); RetCode destroyThread(); RetCode startThread(); RetCode stopThread(); @@ -45,33 +44,12 @@ class EffectThread { // Will call process() in a loop if the thread is running. void threadLoop(); - /** - * @brief effectProcessImpl is running in worker thread which created in EffectThread. - * - * Effect implementation should think about concurrency in the implementation if necessary. - * Parameter setting usually implemented in context (derived from EffectContext), and some - * parameter maybe used in the processing, then effect implementation should consider using a - * mutex to protect these parameter. - * - * EffectThread will make sure effectProcessImpl only be called after startThread() successful - * and before stopThread() successful. - * - * effectProcessImpl implementation must not call any EffectThread interface, otherwise it will - * cause deadlock. - * - * @param in address of input float buffer. - * @param out address of output float buffer. - * @param samples number of samples to process. - * @return IEffect::Status - */ - virtual IEffect::Status effectProcessImpl(float* in, float* out, int samples) = 0; - /** * process() call effectProcessImpl() for effect data processing, it is necessary for the * processing to be called under Effect thread mutex mThreadMutex, to avoid the effect state * change before/during data processing, and keep the thread and effect state consistent. */ - virtual void process_l() REQUIRES(mThreadMutex); + virtual void process() = 0; private: static constexpr int kMaxTaskNameLen = 15; @@ -80,16 +58,7 @@ class EffectThread { std::condition_variable mCv; bool mStop GUARDED_BY(mThreadMutex) = true; bool mExit GUARDED_BY(mThreadMutex) = false; - std::shared_ptr mThreadContext GUARDED_BY(mThreadMutex); - struct EventFlagDeleter { - void operator()(::android::hardware::EventFlag* flag) const { - if (flag) { - ::android::hardware::EventFlag::deleteEventFlag(&flag); - } - } - }; - std::unique_ptr<::android::hardware::EventFlag, EventFlagDeleter> mEfGroup; std::thread mThread; int mPriority; std::string mName; diff --git a/audio/aidl/default/include/effect-impl/EffectTypes.h b/audio/aidl/default/include/effect-impl/EffectTypes.h index 4bda7bea21..9740d6ee9c 100644 --- a/audio/aidl/default/include/effect-impl/EffectTypes.h +++ b/audio/aidl/default/include/effect-impl/EffectTypes.h @@ -46,7 +46,8 @@ enum class RetCode { ERROR_NULL_POINTER, /* NULL pointer */ ERROR_ALIGNMENT_ERROR, /* Memory alignment error */ ERROR_BLOCK_SIZE_EXCEED, /* Maximum block size exceeded */ - ERROR_EFFECT_LIB_ERROR + ERROR_EFFECT_LIB_ERROR, /* Effect implementation library error */ + ERROR_EVENT_FLAG_ERROR /* Error with effect event flags */ }; static const int INVALID_AUDIO_SESSION_ID = -1; @@ -67,6 +68,8 @@ inline std::ostream& operator<<(std::ostream& out, const RetCode& code) { return out << "ERROR_BLOCK_SIZE_EXCEED"; case RetCode::ERROR_EFFECT_LIB_ERROR: return out << "ERROR_EFFECT_LIB_ERROR"; + case RetCode::ERROR_EVENT_FLAG_ERROR: + return out << "ERROR_EVENT_FLAG_ERROR"; } return out << "EnumError: " << code; diff --git a/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.cpp b/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.cpp index 7954316654..1e70716a96 100644 --- a/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.cpp +++ b/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.cpp @@ -147,10 +147,6 @@ std::shared_ptr LoudnessEnhancerSw::createContext(const Parameter return mContext; } -std::shared_ptr LoudnessEnhancerSw::getContext() { - return mContext; -} - RetCode LoudnessEnhancerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.h b/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.h index 25824f20d5..cf71a5f03f 100644 --- a/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.h +++ b/audio/aidl/default/loudnessEnhancer/LoudnessEnhancerSw.h @@ -54,20 +54,23 @@ class LoudnessEnhancerSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterLoudnessEnhancer(const LoudnessEnhancer::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.cpp b/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.cpp index a3208df865..d304416dff 100644 --- a/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.cpp +++ b/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.cpp @@ -155,10 +155,6 @@ std::shared_ptr NoiseSuppressionSw::createContext(const Parameter return mContext; } -std::shared_ptr NoiseSuppressionSw::getContext() { - return mContext; -} - RetCode NoiseSuppressionSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.h b/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.h index fc1e028808..acef8ee135 100644 --- a/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.h +++ b/audio/aidl/default/noiseSuppression/NoiseSuppressionSw.h @@ -55,20 +55,23 @@ class NoiseSuppressionSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterNoiseSuppression(const NoiseSuppression::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/presetReverb/PresetReverbSw.cpp b/audio/aidl/default/presetReverb/PresetReverbSw.cpp index 3f02eb7382..2ac201038d 100644 --- a/audio/aidl/default/presetReverb/PresetReverbSw.cpp +++ b/audio/aidl/default/presetReverb/PresetReverbSw.cpp @@ -161,10 +161,6 @@ std::shared_ptr PresetReverbSw::createContext(const Parameter::Co return mContext; } -std::shared_ptr PresetReverbSw::getContext() { - return mContext; -} - RetCode PresetReverbSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/presetReverb/PresetReverbSw.h b/audio/aidl/default/presetReverb/PresetReverbSw.h index 9ceee7cca9..61fc88c079 100644 --- a/audio/aidl/default/presetReverb/PresetReverbSw.h +++ b/audio/aidl/default/presetReverb/PresetReverbSw.h @@ -56,21 +56,23 @@ class PresetReverbSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterPresetReverb(const PresetReverb::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/spatializer/SpatializerSw.cpp b/audio/aidl/default/spatializer/SpatializerSw.cpp index 434ed5ac38..6d3c4bd16e 100644 --- a/audio/aidl/default/spatializer/SpatializerSw.cpp +++ b/audio/aidl/default/spatializer/SpatializerSw.cpp @@ -141,10 +141,6 @@ std::shared_ptr SpatializerSw::createContext(const Parameter::Com return mContext; } -std::shared_ptr SpatializerSw::getContext() { - return mContext; -} - RetCode SpatializerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/spatializer/SpatializerSw.h b/audio/aidl/default/spatializer/SpatializerSw.h index b205704cb1..b321e83b9a 100644 --- a/audio/aidl/default/spatializer/SpatializerSw.h +++ b/audio/aidl/default/spatializer/SpatializerSw.h @@ -50,19 +50,21 @@ class SpatializerSw final : public EffectImpl { ~SpatializerSw(); ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; }; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; private: static const std::vector kRanges; - std::shared_ptr mContext = nullptr; + std::shared_ptr mContext GUARDED_BY(mImplMutex) = nullptr; }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/virtualizer/VirtualizerSw.cpp b/audio/aidl/default/virtualizer/VirtualizerSw.cpp index 0e8435ef82..091b0b72c4 100644 --- a/audio/aidl/default/virtualizer/VirtualizerSw.cpp +++ b/audio/aidl/default/virtualizer/VirtualizerSw.cpp @@ -203,10 +203,6 @@ std::shared_ptr VirtualizerSw::createContext(const Parameter::Com return mContext; } -std::shared_ptr VirtualizerSw::getContext() { - return mContext; -} - RetCode VirtualizerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/virtualizer/VirtualizerSw.h b/audio/aidl/default/virtualizer/VirtualizerSw.h index 5e114d9abd..9287838083 100644 --- a/audio/aidl/default/virtualizer/VirtualizerSw.h +++ b/audio/aidl/default/virtualizer/VirtualizerSw.h @@ -59,24 +59,25 @@ class VirtualizerSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; std::string getEffectName() override { return kEffectName; } private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterVirtualizer(const Virtualizer::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); ndk::ScopedAStatus getSpeakerAngles(const Virtualizer::SpeakerAnglesPayload payload, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/visualizer/VisualizerSw.cpp b/audio/aidl/default/visualizer/VisualizerSw.cpp index 285c102b6b..54f7f1c52e 100644 --- a/audio/aidl/default/visualizer/VisualizerSw.cpp +++ b/audio/aidl/default/visualizer/VisualizerSw.cpp @@ -190,10 +190,6 @@ std::shared_ptr VisualizerSw::createContext(const Parameter::Comm return mContext; } -std::shared_ptr VisualizerSw::getContext() { - return mContext; -} - RetCode VisualizerSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/visualizer/VisualizerSw.h b/audio/aidl/default/visualizer/VisualizerSw.h index 995774e197..4b87b04298 100644 --- a/audio/aidl/default/visualizer/VisualizerSw.h +++ b/audio/aidl/default/visualizer/VisualizerSw.h @@ -72,21 +72,23 @@ class VisualizerSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); ndk::ScopedAStatus getParameterVisualizer(const Visualizer::Tag& tag, - Parameter::Specific* specific); + Parameter::Specific* specific) REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/default/volume/VolumeSw.cpp b/audio/aidl/default/volume/VolumeSw.cpp index 890258457f..dd019f6c93 100644 --- a/audio/aidl/default/volume/VolumeSw.cpp +++ b/audio/aidl/default/volume/VolumeSw.cpp @@ -160,10 +160,6 @@ std::shared_ptr VolumeSw::createContext(const Parameter::Common& return mContext; } -std::shared_ptr VolumeSw::getContext() { - return mContext; -} - RetCode VolumeSw::releaseContext() { if (mContext) { mContext.reset(); diff --git a/audio/aidl/default/volume/VolumeSw.h b/audio/aidl/default/volume/VolumeSw.h index 1432b2be0d..3fc0d97320 100644 --- a/audio/aidl/default/volume/VolumeSw.h +++ b/audio/aidl/default/volume/VolumeSw.h @@ -57,21 +57,24 @@ class VolumeSw final : public EffectImpl { } ndk::ScopedAStatus getDescriptor(Descriptor* _aidl_return) override; - ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) override; - ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, - Parameter::Specific* specific) override; + ndk::ScopedAStatus setParameterSpecific(const Parameter::Specific& specific) + REQUIRES(mImplMutex) override; + ndk::ScopedAStatus getParameterSpecific(const Parameter::Id& id, Parameter::Specific* specific) + REQUIRES(mImplMutex) override; - std::shared_ptr createContext(const Parameter::Common& common) override; - std::shared_ptr getContext() override; - RetCode releaseContext() override; + std::shared_ptr createContext(const Parameter::Common& common) + REQUIRES(mImplMutex) override; + RetCode releaseContext() REQUIRES(mImplMutex) override; - IEffect::Status effectProcessImpl(float* in, float* out, int samples) override; + IEffect::Status effectProcessImpl(float* in, float* out, int samples) + REQUIRES(mImplMutex) override; std::string getEffectName() override { return kEffectName; } private: static const std::vector kRanges; - std::shared_ptr mContext; + std::shared_ptr mContext GUARDED_BY(mImplMutex); - ndk::ScopedAStatus getParameterVolume(const Volume::Tag& tag, Parameter::Specific* specific); + ndk::ScopedAStatus getParameterVolume(const Volume::Tag& tag, Parameter::Specific* specific) + REQUIRES(mImplMutex); }; } // namespace aidl::android::hardware::audio::effect diff --git a/audio/aidl/vts/EffectHelper.h b/audio/aidl/vts/EffectHelper.h index 4a5c537dd5..9fa7f9f74a 100644 --- a/audio/aidl/vts/EffectHelper.h +++ b/audio/aidl/vts/EffectHelper.h @@ -43,6 +43,7 @@ using namespace android; using aidl::android::hardware::audio::effect::CommandId; using aidl::android::hardware::audio::effect::Descriptor; using aidl::android::hardware::audio::effect::IEffect; +using aidl::android::hardware::audio::effect::kEventFlagDataMqUpdate; using aidl::android::hardware::audio::effect::kEventFlagNotEmpty; using aidl::android::hardware::audio::effect::Parameter; using aidl::android::hardware::audio::effect::Range; @@ -191,6 +192,16 @@ class EffectHelper { ASSERT_TRUE(dataMq->read(buffer.data(), expectFloats)); } } + static void expectDataMqUpdateEventFlag(std::unique_ptr& statusMq) { + EventFlag* efGroup; + ASSERT_EQ(::android::OK, + EventFlag::createEventFlag(statusMq->getEventFlagWord(), &efGroup)); + ASSERT_NE(nullptr, efGroup); + uint32_t efState = 0; + EXPECT_EQ(::android::OK, efGroup->wait(kEventFlagDataMqUpdate, &efState, 1'000'000 /*1ms*/, + true /* retry */)); + EXPECT_TRUE(efState & kEventFlagDataMqUpdate); + } static Parameter::Common createParamCommon( int session = 0, int ioHandle = -1, int iSampleRate = 48000, int oSampleRate = 48000, long iFrameCount = 0x100, long oFrameCount = 0x100, diff --git a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp index 418fedbcb3..01cdd816f5 100644 --- a/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp +++ b/audio/aidl/vts/VtsHalAudioEffectTargetTest.cpp @@ -609,6 +609,49 @@ TEST_P(AudioEffectTest, SetAndGetParameterVolume) { ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); } +// Verify Parameters kept after reset. +TEST_P(AudioEffectTest, SetCommonParameterAndReopen) { + ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); + + Parameter::Common common = EffectHelper::createParamCommon( + 0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */, + kInputFrameCount /* iFrameCount */, kOutputFrameCount /* oFrameCount */); + IEffect::OpenEffectReturn ret; + ASSERT_NO_FATAL_FAILURE(open(mEffect, common, std::nullopt /* specific */, &ret, EX_NONE)); + auto statusMQ = std::make_unique(ret.statusMQ); + ASSERT_TRUE(statusMQ->isValid()); + auto inputMQ = std::make_unique(ret.inputDataMQ); + ASSERT_TRUE(inputMQ->isValid()); + auto outputMQ = std::make_unique(ret.outputDataMQ); + ASSERT_TRUE(outputMQ->isValid()); + + Parameter::Id id = Parameter::Id::make(Parameter::common); + common.input.frameCount++; + ASSERT_NO_FATAL_FAILURE(setAndGetParameter(id, Parameter::make(common))); + ASSERT_TRUE(statusMQ->isValid()); + expectDataMqUpdateEventFlag(statusMQ); + EXPECT_IS_OK(mEffect->reopen(&ret)); + inputMQ = std::make_unique(ret.inputDataMQ); + outputMQ = std::make_unique(ret.outputDataMQ); + ASSERT_TRUE(statusMQ->isValid()); + ASSERT_TRUE(inputMQ->isValid()); + ASSERT_TRUE(outputMQ->isValid()); + + common.output.frameCount++; + ASSERT_NO_FATAL_FAILURE(setAndGetParameter(id, Parameter::make(common))); + ASSERT_TRUE(statusMQ->isValid()); + expectDataMqUpdateEventFlag(statusMQ); + EXPECT_IS_OK(mEffect->reopen(&ret)); + inputMQ = std::make_unique(ret.inputDataMQ); + outputMQ = std::make_unique(ret.outputDataMQ); + ASSERT_TRUE(statusMQ->isValid()); + ASSERT_TRUE(inputMQ->isValid()); + ASSERT_TRUE(outputMQ->isValid()); + + ASSERT_NO_FATAL_FAILURE(close(mEffect)); + ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); +} + /// Data processing test // Send data to effects and expect it to be consumed by checking statusMQ. // Effects exposing bypass flags or operating in offload mode will be skipped. @@ -684,6 +727,59 @@ TEST_P(AudioEffectDataPathTest, ConsumeDataAfterRestart) { ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); } +// Send data to effects and expect it to be consumed after effect reopen (IO AudioConfig change). +// Effects exposing bypass flags or operating in offload mode will be skipped. +TEST_P(AudioEffectDataPathTest, ConsumeDataAfterReopen) { + ASSERT_NO_FATAL_FAILURE(create(mFactory, mEffect, mDescriptor)); + + Parameter::Common common = EffectHelper::createParamCommon( + 0 /* session */, 1 /* ioHandle */, 44100 /* iSampleRate */, 44100 /* oSampleRate */, + kInputFrameCount /* iFrameCount */, kOutputFrameCount /* oFrameCount */); + IEffect::OpenEffectReturn ret; + ASSERT_NO_FATAL_FAILURE(open(mEffect, common, std::nullopt /* specific */, &ret, EX_NONE)); + auto statusMQ = std::make_unique(ret.statusMQ); + ASSERT_TRUE(statusMQ->isValid()); + auto inputMQ = std::make_unique(ret.inputDataMQ); + ASSERT_TRUE(inputMQ->isValid()); + auto outputMQ = std::make_unique(ret.outputDataMQ); + ASSERT_TRUE(outputMQ->isValid()); + + std::vector buffer; + ASSERT_NO_FATAL_FAILURE(command(mEffect, CommandId::START)); + ASSERT_NO_FATAL_FAILURE(expectState(mEffect, State::PROCESSING)); + EXPECT_NO_FATAL_FAILURE(EffectHelper::allocateInputData(common, inputMQ, buffer)); + EXPECT_NO_FATAL_FAILURE(EffectHelper::writeToFmq(statusMQ, inputMQ, buffer)); + EXPECT_NO_FATAL_FAILURE( + EffectHelper::readFromFmq(statusMQ, 1, outputMQ, buffer.size(), buffer)); + + // set a new common parameter with different IO frameCount, reopen + Parameter::Id id = Parameter::Id::make(Parameter::common); + common.input.frameCount += 4; + common.output.frameCount += 4; + ASSERT_NO_FATAL_FAILURE(setAndGetParameter(id, Parameter::make(common))); + ASSERT_TRUE(statusMQ->isValid()); + expectDataMqUpdateEventFlag(statusMQ); + EXPECT_IS_OK(mEffect->reopen(&ret)); + inputMQ = std::make_unique(ret.inputDataMQ); + outputMQ = std::make_unique(ret.outputDataMQ); + ASSERT_TRUE(statusMQ->isValid()); + ASSERT_TRUE(inputMQ->isValid()); + ASSERT_TRUE(outputMQ->isValid()); + + // verify data consume again + EXPECT_NO_FATAL_FAILURE(EffectHelper::allocateInputData(common, inputMQ, buffer)); + EXPECT_NO_FATAL_FAILURE(EffectHelper::writeToFmq(statusMQ, inputMQ, buffer)); + EXPECT_NO_FATAL_FAILURE( + EffectHelper::readFromFmq(statusMQ, 1, outputMQ, buffer.size(), buffer)); + + ASSERT_NO_FATAL_FAILURE(command(mEffect, CommandId::STOP)); + ASSERT_NO_FATAL_FAILURE(expectState(mEffect, State::IDLE)); + EXPECT_NO_FATAL_FAILURE(EffectHelper::readFromFmq(statusMQ, 0, outputMQ, 0, buffer)); + + ASSERT_NO_FATAL_FAILURE(close(mEffect)); + ASSERT_NO_FATAL_FAILURE(destroy(mFactory, mEffect)); +} + // Send data to IDLE effects and expect it to be consumed after effect start. // Effects exposing bypass flags or operating in offload mode will be skipped. TEST_P(AudioEffectDataPathTest, SendDataAtIdleAndConsumeDataInProcessing) { From 0fbc17f23cf4414c636ccc939c9b828e401459b3 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Tue, 26 Dec 2023 15:57:47 -0800 Subject: [PATCH 082/198] Make remoteaccess HAL pass VTS. The reference remote access HAL should still pass CTS even when the grpc remote access server does not exist. The reference remote access HAL now allows GRPC_SERVICE_ADDRESS not to be defined. If it is not defined, it will not try to connect a remote server and will work in a fake mode. Test: VtsHalAutomotiveRemoteAccess_TargetTest with an without grpc server running. Bug: 277967402 Change-Id: I89509ac8f8ebe9a268d3a338d6e80c24e39dc512 --- .../remoteaccess/hal/default/Android.bp | 4 +- .../hal/default/include/RemoteAccessService.h | 7 +- .../hal/default/src/RemoteAccessImpl.cpp | 18 +++-- .../hal/default/src/RemoteAccessService.cpp | 68 +++++++++++++++++-- 4 files changed, 81 insertions(+), 16 deletions(-) diff --git a/automotive/remoteaccess/hal/default/Android.bp b/automotive/remoteaccess/hal/default/Android.bp index 97ed2c12f0..be6a425485 100644 --- a/automotive/remoteaccess/hal/default/Android.bp +++ b/automotive/remoteaccess/hal/default/Android.bp @@ -53,7 +53,9 @@ cc_binary { vintf_fragments: ["remoteaccess-default-service.xml"], init_rc: ["remoteaccess-default-service.rc"], cflags: [ - "-DGRPC_SERVICE_ADDRESS=\"10.0.2.2:50051\"", + // Uncomment this if running on emulator and connecting to a local grpc server + // running on host 127.0.0.1:50051 (TestWakeupClientServerHost) + // "-DGRPC_SERVICE_ADDRESS=\"10.0.2.2:50051\"", ], } diff --git a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h index 6266de8419..8716e48bb9 100644 --- a/automotive/remoteaccess/hal/default/include/RemoteAccessService.h +++ b/automotive/remoteaccess/hal/default/include/RemoteAccessService.h @@ -111,6 +111,8 @@ class RemoteAccessService WakeupClient::StubInterface* mGrpcStub; std::thread mThread; + // Whether the GRPC server exists. Only checked and set during init. + bool mGrpcServerExist = false; std::mutex mLock; std::condition_variable mCv; std::shared_ptr @@ -121,7 +123,7 @@ class RemoteAccessService // A mutex to make sure startTaskLoop does not overlap with stopTaskLoop. std::mutex mStartStopTaskLoopLock; bool mTaskLoopRunning GUARDED_BY(mStartStopTaskLoopLock) = false; - bool mGrpcConnected GUARDED_BY(mLock) = false; + bool mGrpcReadChannelOpen GUARDED_BY(mLock) = false; std::unordered_map mClientIdToTaskCount GUARDED_BY(mLock); // Default wait time before retry connecting to remote access client is 10s. @@ -143,9 +145,10 @@ class RemoteAccessService void debugInjectTask(int fd, std::string_view clientId, std::string_view taskData); void debugInjectTaskNextReboot(int fd, std::string_view clientId, std::string_view taskData, const char* latencyInSecStr); - void updateGrpcConnected(bool connected); + void updateGrpcReadChannelOpen(bool grpcReadChannelOpen); android::base::Result deliverRemoteTaskThroughCallback(const std::string& clientId, std::string_view taskData); + bool isTaskScheduleSupported(); }; } // namespace remoteaccess diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp index d4ba8641b7..28c5cd5cf2 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp @@ -30,10 +30,9 @@ constexpr char SERVICE_NAME[] = "android.hardware.automotive.remoteaccess.IRemoteAccess/default"; int main(int /* argc */, char* /* argv */[]) { -#ifndef GRPC_SERVICE_ADDRESS - LOG(ERROR) << "GRPC_SERVICE_ADDRESS is not defined, exiting"; - exit(1); -#endif + android::hardware::automotive::remoteaccess::WakeupClient::StubInterface* grpcStub = nullptr; + +#ifdef GRPC_SERVICE_ADDRESS LOG(INFO) << "Registering RemoteAccessService as service, server: " << GRPC_SERVICE_ADDRESS << "..."; grpc::ChannelArguments grpcargs = {}; @@ -47,11 +46,18 @@ int main(int /* argc */, char* /* argv */[]) { android::netdevice::waitFor({GRPC_SERVICE_IFNAME}, android::netdevice::WaitCondition::PRESENT_AND_UP); LOG(INFO) << "Waiting for interface: " << GRPC_SERVICE_IFNAME << " done"; -#endif +#endif // #ifdef GRPC_SERVICE_IFNAME auto channel = grpc::CreateChannel(GRPC_SERVICE_ADDRESS, grpc::InsecureChannelCredentials()); auto clientStub = android::hardware::automotive::remoteaccess::WakeupClient::NewStub(channel); + + grpcStub = clientStub.get(); + +#else + LOG(INFO) << "GRPC_SERVICE_ADDRESS is not defined, work in fake mode"; +#endif // #ifdef GRPC_SERVICE_ADDRESS + auto service = ndk::SharedRefBase::make< - android::hardware::automotive::remoteaccess::RemoteAccessService>(clientStub.get()); + android::hardware::automotive::remoteaccess::RemoteAccessService>(grpcStub); binder_exception_t err = AServiceManager_addService(service->asBinder().get(), SERVICE_NAME); if (err != EX_NONE) { diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp index 1b42a1f091..dbd5bed7df 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp @@ -103,6 +103,10 @@ std::string boolToString(bool x) { RemoteAccessService::RemoteAccessService(WakeupClient::StubInterface* grpcStub) : mGrpcStub(grpcStub) { + if (mGrpcStub != nullptr) { + mGrpcServerExist = true; + } + std::ifstream debugTaskFile; debugTaskFile.open(DEBUG_TASK_FILE, std::ios::in); if (!debugTaskFile.is_open()) { @@ -177,9 +181,9 @@ void RemoteAccessService::maybeStopTaskLoop() { mTaskLoopRunning = false; } -void RemoteAccessService::updateGrpcConnected(bool connected) { +void RemoteAccessService::updateGrpcReadChannelOpen(bool grpcReadChannelOpen) { std::lock_guard lockGuard(mLock); - mGrpcConnected = connected; + mGrpcReadChannelOpen = grpcReadChannelOpen; } Result RemoteAccessService::deliverRemoteTaskThroughCallback(const std::string& clientId, @@ -213,7 +217,7 @@ void RemoteAccessService::runTaskLoop() { mGetRemoteTasksContext.reset(new ClientContext()); reader = mGrpcStub->GetRemoteTasks(mGetRemoteTasksContext.get(), request); } - updateGrpcConnected(true); + updateGrpcReadChannelOpen(true); GetRemoteTasksResponse response; while (reader->Read(&response)) { ALOGI("Receiving one task from remote task client"); @@ -225,7 +229,7 @@ void RemoteAccessService::runTaskLoop() { continue; } } - updateGrpcConnected(false); + updateGrpcReadChannelOpen(false); Status status = reader->Finish(); mGetRemoteTasksContext.reset(); @@ -298,6 +302,11 @@ ScopedAStatus RemoteAccessService::clearRemoteTaskCallback() { } ScopedAStatus RemoteAccessService::notifyApStateChange(const ApState& newState) { + if (!mGrpcServerExist) { + ALOGW("GRPC server does not exist, do nothing"); + return ScopedAStatus::ok(); + } + ClientContext context; NotifyWakeupRequiredRequest request = {}; request.set_iswakeuprequired(newState.isWakeupRequired); @@ -315,19 +324,40 @@ ScopedAStatus RemoteAccessService::notifyApStateChange(const ApState& newState) return ScopedAStatus::ok(); } +bool RemoteAccessService::isTaskScheduleSupported() { + if (!mGrpcServerExist) { + ALOGW("GRPC server does not exist, task scheduling not supported"); + return false; + } + + return true; +} + ScopedAStatus RemoteAccessService::isTaskScheduleSupported(bool* out) { - *out = true; + *out = isTaskScheduleSupported(); return ScopedAStatus::ok(); } ndk::ScopedAStatus RemoteAccessService::getSupportedTaskTypesForScheduling( std::vector* out) { + out->clear(); + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, return empty task types"); + return ScopedAStatus::ok(); + } + // TODO(b/316233421): support ENTER_GARAGE_MODE type. out->push_back(TaskType::CUSTOM); return ScopedAStatus::ok(); } ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo) { + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, return exception"); + return ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, + "task scheduling is not supported"); + } + ClientContext context; ScheduleTaskRequest request = {}; ScheduleTaskResponse response = {}; @@ -379,6 +409,11 @@ ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo ScopedAStatus RemoteAccessService::unscheduleTask(const std::string& clientId, const std::string& scheduleId) { + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, do nothing"); + return ScopedAStatus::ok(); + } + ClientContext context; UnscheduleTaskRequest request = {}; UnscheduleTaskResponse response = {}; @@ -392,6 +427,11 @@ ScopedAStatus RemoteAccessService::unscheduleTask(const std::string& clientId, } ScopedAStatus RemoteAccessService::unscheduleAllTasks(const std::string& clientId) { + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, do nothing"); + return ScopedAStatus::ok(); + } + ClientContext context; UnscheduleAllTasksRequest request = {}; UnscheduleAllTasksResponse response = {}; @@ -405,6 +445,12 @@ ScopedAStatus RemoteAccessService::unscheduleAllTasks(const std::string& clientI ScopedAStatus RemoteAccessService::isTaskScheduled(const std::string& clientId, const std::string& scheduleId, bool* out) { + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, return false"); + *out = false; + return ScopedAStatus::ok(); + } + ClientContext context; IsTaskScheduledRequest request = {}; IsTaskScheduledResponse response = {}; @@ -420,6 +466,12 @@ ScopedAStatus RemoteAccessService::isTaskScheduled(const std::string& clientId, ScopedAStatus RemoteAccessService::getAllPendingScheduledTasks(const std::string& clientId, std::vector* out) { + if (!isTaskScheduleSupported()) { + ALOGW("Task scheduleing is not supported, return empty array"); + out->clear(); + return ScopedAStatus::ok(); + } + ClientContext context; GetAllPendingScheduledTasksRequest request = {}; GetAllPendingScheduledTasksResponse response = {}; @@ -560,9 +612,11 @@ void RemoteAccessService::printCurrentStatus(int fd) { dprintf(fd, "\nRemoteAccess HAL status \n" "Remote task callback registered: %s\n" - "Task receiving GRPC connection established: %s\n" + "GRPC server exist: %s\n" + "GRPC read channel for receiving tasks open: %s\n" "Received task count by clientId: \n%s\n", - boolToString(mRemoteTaskCallback.get()).c_str(), boolToString(mGrpcConnected).c_str(), + boolToString(mRemoteTaskCallback.get()).c_str(), boolToString(mGrpcServerExist).c_str(), + boolToString(mGrpcReadChannelOpen).c_str(), clientIdToTaskCountToStringLocked().c_str()); } From 7d96d9e0ff955fabc723d60b7715a64494738e3c Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Thu, 11 Jan 2024 00:39:13 +0000 Subject: [PATCH 083/198] Effect VTS: update VtsHalDownmixTargetTest for data validation For downmix, the output buffer size can be diff with input Bug: 318926783 Bug: 317946442 Test: atest --test-mapping hardware/interfaces/audio/aidl/vts:presubmit Change-Id: I0dc0009e1779b842a4f3cdcc047d225310a304f9 --- audio/aidl/vts/VtsHalDownmixTargetTest.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/audio/aidl/vts/VtsHalDownmixTargetTest.cpp b/audio/aidl/vts/VtsHalDownmixTargetTest.cpp index b82bde114b..360bf2671f 100644 --- a/audio/aidl/vts/VtsHalDownmixTargetTest.cpp +++ b/audio/aidl/vts/VtsHalDownmixTargetTest.cpp @@ -138,7 +138,6 @@ class DownmixEffectHelper : public EffectHelper { void setDataTestParams(int32_t layoutType) { mInputBuffer.resize(kBufferSize); - mOutputBuffer.resize(kBufferSize); // Get the number of channels used mInputChannelCount = getChannelCount( @@ -146,6 +145,7 @@ class DownmixEffectHelper : public EffectHelper { // In case of downmix, output is always configured to stereo layout. mOutputBufferSize = (mInputBuffer.size() / mInputChannelCount) * kOutputChannelCount; + mOutputBuffer.resize(mOutputBufferSize); } // Generate mInputBuffer values between -kMaxDownmixSample to kMaxDownmixSample @@ -262,13 +262,13 @@ class DownmixFoldDataTest : public ::testing::TestWithParam Date: Wed, 10 Jan 2024 21:43:58 -0500 Subject: [PATCH 084/198] Don't query unused values lock() will be removing these params in the future and they are unused anyway, so remove them Test: make Change-Id: I339c3b9ffa8e7a9cef50d1d80c8cd1a7d0950d82 --- .../evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp | 3 +-- .../video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp | 5 +---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp b/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp index 8181e4733e..42b80088a8 100644 --- a/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp +++ b/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp @@ -222,10 +222,9 @@ void EvsVideoEmulatedCamera::onCodecOutputAvailable(const int32_t index, // Lock our output buffer for writing uint8_t* pixels = nullptr; - int32_t bytesPerStride = 0; auto& mapper = ::android::GraphicBufferMapper::get(); mapper.lock(renderBufferHandle, GRALLOC_USAGE_SW_WRITE_OFTEN | GRALLOC_USAGE_SW_READ_NEVER, - ::android::Rect(mWidth, mHeight), (void**)&pixels, nullptr, &bytesPerStride); + ::android::Rect(mWidth, mHeight), (void**)&pixels); // If we failed to lock the pixel buffer, we're about to crash, but log it first if (!pixels) { diff --git a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp index f24c6d1be2..9a75e6ed83 100644 --- a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp +++ b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoEncTest.cpp @@ -630,10 +630,7 @@ int colorFormatConversion(BufferInfo* buffer, buffer_handle_t buff, PixelFormat if (error != android::NO_ERROR) return 1; } else { void* data; - int32_t outBytesPerPixel; - int32_t outBytesPerStride; - error = gbmapper.lock(buff, buffer->omxBuffer.attr.anwBuffer.usage, rect, &data, - &outBytesPerPixel, &outBytesPerStride); + error = gbmapper.lock(buff, buffer->omxBuffer.attr.anwBuffer.usage, rect, &data); EXPECT_EQ(error, android::NO_ERROR); if (error != android::NO_ERROR) return 1; From 74e25d2decf72def35b098b77530f534b5747011 Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Mon, 8 Jan 2024 22:21:20 +0000 Subject: [PATCH 085/198] Fix Fingperint Virtual Hal cancellation while waiting finger touch Bug: 319146424 Test: atest BiometricsE2eTests:BiometricPromptAuthSuccessTest Test: atest android.hardware.biometrics.fingerprint.* Change-Id: I26a2dde01608177411cce3f9c68ee6fd1fd6aab8 --- .../aidl/default/FakeFingerprintEngine.cpp | 21 +++++++++++++++++++ .../fingerprint/aidl/default/Session.cpp | 1 + .../default/include/FakeFingerprintEngine.h | 3 +++ .../tests/FakeFingerprintEngineTest.cpp | 19 +++++++++++++++++ .../tests/FakeFingerprintEngineUdfpsTest.cpp | 3 +++ 5 files changed, 47 insertions(+) diff --git a/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp b/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp index 4e8005214e..a7acf3d520 100644 --- a/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp +++ b/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp @@ -62,12 +62,17 @@ void FakeFingerprintEngine::enrollImpl(ISessionCallback* cb, return; } + waitForFingerDown(cb, cancel); + updateContext(WorkMode::kEnroll, cb, const_cast&>(cancel), 0, hat); } void FakeFingerprintEngine::authenticateImpl(ISessionCallback* cb, int64_t operationId, const std::future& cancel) { BEGIN_OP(0); + + waitForFingerDown(cb, cancel); + updateContext(WorkMode::kAuthenticate, cb, const_cast&>(cancel), operationId, keymaster::HardwareAuthToken()); } @@ -84,6 +89,8 @@ void FakeFingerprintEngine::detectInteractionImpl(ISessionCallback* cb, return; } + waitForFingerDown(cb, cancel); + updateContext(WorkMode::kDetectInteract, cb, const_cast&>(cancel), 0, keymaster::HardwareAuthToken()); } @@ -398,6 +405,7 @@ ndk::ScopedAStatus FakeFingerprintEngine::onPointerDownImpl(int32_t /*pointerId* ndk::ScopedAStatus FakeFingerprintEngine::onPointerUpImpl(int32_t /*pointerId*/) { BEGIN_OP(0); + mFingerIsDown = false; return ndk::ScopedAStatus::ok(); } @@ -533,4 +541,17 @@ void FakeFingerprintEngine::lockoutTimerExpired(ISessionCallback* cb) { isLockoutTimerStarted = false; isLockoutTimerAborted = false; } + +void FakeFingerprintEngine::waitForFingerDown(ISessionCallback* cb, + const std::future& cancel) { + while (!mFingerIsDown) { + if (shouldCancel(cancel)) { + LOG(ERROR) << "waitForFingerDown, Fail: cancel"; + cb->onError(Error::CANCELED, 0 /* vendorCode */); + return; + } + SLEEP_MS(10); + } +} + } // namespace aidl::android::hardware::biometrics::fingerprint diff --git a/biometrics/fingerprint/aidl/default/Session.cpp b/biometrics/fingerprint/aidl/default/Session.cpp index c06c9317e8..0dd66032b6 100644 --- a/biometrics/fingerprint/aidl/default/Session.cpp +++ b/biometrics/fingerprint/aidl/default/Session.cpp @@ -249,6 +249,7 @@ ndk::ScopedAStatus Session::close() { ndk::ScopedAStatus Session::onPointerDown(int32_t pointerId, int32_t x, int32_t y, float minor, float major) { LOG(INFO) << "onPointerDown"; + mEngine->notifyFingerdown(); mWorker->schedule(Callable::from([this, pointerId, x, y, minor, major] { mEngine->onPointerDownImpl(pointerId, x, y, minor, major); enterIdling(); diff --git a/biometrics/fingerprint/aidl/default/include/FakeFingerprintEngine.h b/biometrics/fingerprint/aidl/default/include/FakeFingerprintEngine.h index 15d83604d5..0d5357529d 100644 --- a/biometrics/fingerprint/aidl/default/include/FakeFingerprintEngine.h +++ b/biometrics/fingerprint/aidl/default/include/FakeFingerprintEngine.h @@ -75,6 +75,7 @@ class FakeFingerprintEngine { enum class WorkMode : int8_t { kIdle = 0, kAuthenticate, kEnroll, kDetectInteract }; WorkMode getWorkMode() { return mWorkMode; } + void notifyFingerdown() { mFingerIsDown = true; } virtual std::string toString() const { std::ostringstream os; @@ -100,6 +101,7 @@ class FakeFingerprintEngine { keymaster::HardwareAuthToken mHat; std::future mCancel; int64_t mOperationId; + bool mFingerIsDown; private: static constexpr int32_t FINGERPRINT_ACQUIRED_VENDOR_BASE = 1000; @@ -109,6 +111,7 @@ class FakeFingerprintEngine { int32_t getRandomInRange(int32_t bound1, int32_t bound2); bool checkSensorLockout(ISessionCallback*); void clearLockout(ISessionCallback* cb); + void waitForFingerDown(ISessionCallback* cb, const std::future& cancel); FakeLockoutTracker mLockoutTracker; diff --git a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp index eedcae1a35..8b06c8ee50 100644 --- a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp +++ b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp @@ -185,6 +185,7 @@ TEST_F(FakeFingerprintEngineTest, Enroll) { FingerprintHalProperties::enrollments({}); FingerprintHalProperties::next_enrollment("4:0,0:true"); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; + mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kEnroll); mEngine.fingerDownAction(); @@ -202,6 +203,7 @@ TEST_F(FakeFingerprintEngineTest, EnrollCancel) { FingerprintHalProperties::next_enrollment(next); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; mCancel.set_value(); + mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(Error::CANCELED, mCallback->mError); @@ -215,6 +217,7 @@ TEST_F(FakeFingerprintEngineTest, EnrollFail) { auto next = "2:0,0:false"; FingerprintHalProperties::next_enrollment(next); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; + mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(Error::UNABLE_TO_PROCESS, mCallback->mError); @@ -228,6 +231,7 @@ TEST_F(FakeFingerprintEngineTest, EnrollAcquired) { FingerprintHalProperties::next_enrollment("4:0,5-[12,1013]:true"); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; int32_t prevCnt = mCallback->mLastAcquiredCount; + mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_FALSE(FingerprintHalProperties::next_enrollment().has_value()); @@ -242,6 +246,7 @@ TEST_F(FakeFingerprintEngineTest, EnrollAcquired) { TEST_F(FakeFingerprintEngineTest, Authenticate) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit(2); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kAuthenticate); mEngine.fingerDownAction(); @@ -255,6 +260,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateCancel) { FingerprintHalProperties::enrollments({2}); FingerprintHalProperties::enrollment_hit(2); mCancel.set_value(); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(Error::CANCELED, mCallback->mError); @@ -264,6 +270,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateCancel) { TEST_F(FakeFingerprintEngineTest, AuthenticateNotSet) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit({}); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_TRUE(mCallback->mAuthenticateFailed); @@ -272,6 +279,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateNotSet) { TEST_F(FakeFingerprintEngineTest, AuthenticateNotEnrolled) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit(3); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_TRUE(mCallback->mAuthenticateFailed); @@ -282,6 +290,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateLockout) { FingerprintHalProperties::enrollments({22, 2}); FingerprintHalProperties::enrollment_hit(2); FingerprintHalProperties::lockout(true); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_TRUE(mCallback->mLockoutPermanent); @@ -290,6 +299,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateLockout) { TEST_F(FakeFingerprintEngineTest, AuthenticateError8) { FingerprintHalProperties::operation_authenticate_error(8); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(mCallback->mError, (Error)8); @@ -298,6 +308,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateError8) { TEST_F(FakeFingerprintEngineTest, AuthenticateError9) { FingerprintHalProperties::operation_authenticate_error(1009); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(mCallback->mError, (Error)7); @@ -306,6 +317,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateError9) { TEST_F(FakeFingerprintEngineTest, AuthenticateFails) { FingerprintHalProperties::operation_authenticate_fails(true); + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_TRUE(mCallback->mAuthenticateFailed); @@ -318,6 +330,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateAcquired) { FingerprintHalProperties::enrollment_hit(2); FingerprintHalProperties::operation_authenticate_acquired("4,1009"); int32_t prevCount = mCallback->mLastAcquiredCount; + mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_FALSE(mCallback->mAuthenticateFailed); @@ -332,6 +345,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetect) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit(2); FingerprintHalProperties::operation_detect_interaction_acquired(""); + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kDetectInteract); mEngine.fingerDownAction(); @@ -345,6 +359,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectCancel) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit(2); mCancel.set_value(); + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(Error::CANCELED, mCallback->mError); @@ -355,6 +370,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectNotSet) { FingerprintHalProperties::detect_interaction(true); FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit({}); + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(1, mCallback->mInteractionDetectedCount); @@ -363,6 +379,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectNotSet) { TEST_F(FakeFingerprintEngineTest, InteractionDetectNotEnrolled) { FingerprintHalProperties::enrollments({1, 2}); FingerprintHalProperties::enrollment_hit(25); + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(1, mCallback->mInteractionDetectedCount); @@ -371,6 +388,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectNotEnrolled) { TEST_F(FakeFingerprintEngineTest, InteractionDetectError) { FingerprintHalProperties::detect_interaction(true); FingerprintHalProperties::operation_detect_interaction_error(8); + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(0, mCallback->mInteractionDetectedCount); @@ -384,6 +402,7 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectAcquired) { FingerprintHalProperties::enrollment_hit(2); FingerprintHalProperties::operation_detect_interaction_acquired("4,1013"); int32_t prevCount = mCallback->mLastAcquiredCount; + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(1, mCallback->mInteractionDetectedCount); diff --git a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp index f551899260..5a30db10e4 100644 --- a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp +++ b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp @@ -145,6 +145,7 @@ TEST_F(FakeFingerprintEngineUdfpsTest, initialization) { TEST_F(FakeFingerprintEngineUdfpsTest, authenticate) { std::shared_ptr cb = ndk::SharedRefBase::make(); std::promise cancel; + mEngine.notifyFingerdown(); mEngine.authenticateImpl(cb.get(), 1, cancel.get_future()); ASSERT_TRUE(mEngine.getWorkMode() == FakeFingerprintEngineUdfps::WorkMode::kAuthenticate); mEngine.onPointerDownImpl(1, 2, 3, 4.0, 5.0); @@ -158,6 +159,7 @@ TEST_F(FakeFingerprintEngineUdfpsTest, enroll) { std::promise cancel; keymaster::HardwareAuthToken hat{.mac = {5, 6}}; FingerprintHalProperties::next_enrollment("5:0,0:true"); + mEngine.notifyFingerdown(); mEngine.enrollImpl(cb.get(), hat, cancel.get_future()); ASSERT_TRUE(mEngine.getWorkMode() == FakeFingerprintEngineUdfps::WorkMode::kEnroll); mEngine.onPointerDownImpl(1, 2, 3, 4.0, 5.0); @@ -173,6 +175,7 @@ TEST_F(FakeFingerprintEngineUdfpsTest, detectInteraction) { FingerprintHalProperties::operation_detect_interaction_acquired(""); std::shared_ptr cb = ndk::SharedRefBase::make(); std::promise cancel; + mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(cb.get(), cancel.get_future()); ASSERT_TRUE(mEngine.getWorkMode() == FakeFingerprintEngineUdfps::WorkMode::kDetectInteract); mEngine.onPointerDownImpl(1, 2, 3, 4.0, 5.0); From b8efced1a8e5daf9de45408d2b35e436309750d1 Mon Sep 17 00:00:00 2001 From: Maxim Pleshivenkov Date: Thu, 11 Jan 2024 19:08:30 +0000 Subject: [PATCH 086/198] Update comments for VehicleApPowerStateShutdownParam Comments for _IMMEDIATELY parameters stated that shutdown cannot be postponed. However it is possible that CPMS will send SHUTDOWN_POSTPONE if SHUTDOWN_PREPARE takes longer. Updated comments to remove that statement. Bug: 319670846 Change-Id: I0d172ba5d24b86c7f2403acae05961eca72b0c2d Test: manual build --- .../automotive/vehicle/VehicleApPowerStateShutdownParam.aidl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl index 966ff65d88..538b905671 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl @@ -20,7 +20,7 @@ package android.hardware.automotive.vehicle; @Backing(type="int") enum VehicleApPowerStateShutdownParam { /** - * AP must shutdown without Garage mode. Postponing is not allowed. + * AP must shutdown without Garage mode. * If AP need to shutdown as soon as possible, EMERGENCY_SHUTDOWN shall be used. */ SHUTDOWN_IMMEDIATELY = 1, @@ -36,13 +36,11 @@ enum VehicleApPowerStateShutdownParam { SHUTDOWN_ONLY = 3, /** * AP can enter deep sleep, without Garage mode. - * Postponing is not allowed. * Depending on the actual implementation, it may shut down immediately */ SLEEP_IMMEDIATELY = 4, /** * AP can hibernate (suspend to disk) without Garage mode. - * Postponing is not allowed. * Depending on the actual implementation, it may shut down immediately. */ HIBERNATE_IMMEDIATELY = 5, From da598226424472710e887e6f51bf560c4f871c3f Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Thu, 11 Jan 2024 20:41:44 +0000 Subject: [PATCH 087/198] Check for stream use case capability before stream use case test Bug: 299202800 Test: Vendor testing Change-Id: If30ead47072dc1f950b8fb6384072cc38cd51c58 Signed-off-by: Jayant Chowdhary --- camera/provider/aidl/vts/camera_aidl_test.cpp | 32 ++++++++++++------- camera/provider/aidl/vts/camera_aidl_test.h | 3 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index bb9068e725..e7847a2368 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -319,14 +319,7 @@ void CameraAidlTest::verifyStreamUseCaseCharacteristics(const camera_metadata_t* // Check capabilities int retcode = find_camera_metadata_ro_entry(metadata, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); - bool hasStreamUseCaseCap = false; - if ((0 == retcode) && (entry.count > 0)) { - if (std::find(entry.data.u8, entry.data.u8 + entry.count, - ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != - entry.data.u8 + entry.count) { - hasStreamUseCaseCap = true; - } - } + bool hasStreamUseCaseCap = supportsStreamUseCaseCap(metadata); bool supportMandatoryUseCases = false; retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, @@ -2387,10 +2380,10 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres &cameraDevice /*out*/); camera_metadata_t* staticMeta = reinterpret_cast(meta.metadata.data()); - // Check if camera support depth only - if (isDepthOnly(staticMeta) || - (threshold.format == static_cast(PixelFormat::RAW16) && - !supportsCroppedRawUseCase(staticMeta))) { + // Check if camera support depth only or doesn't support stream use case capability + if (isDepthOnly(staticMeta) || !supportsStreamUseCaseCap(staticMeta) || + (threshold.format == static_cast(PixelFormat::RAW16) && + !supportsCroppedRawUseCase(staticMeta))) { ndk::ScopedAStatus ret = mSession->close(); mSession = nullptr; ASSERT_TRUE(ret.isOk()); @@ -3459,6 +3452,21 @@ bool CameraAidlTest::supportsCroppedRawUseCase(const camera_metadata_t *staticMe return false; } +bool CameraAidlTest::supportsStreamUseCaseCap(const camera_metadata_t* staticMeta) { + camera_metadata_ro_entry entry; + int retcode = find_camera_metadata_ro_entry(staticMeta, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, + &entry); + bool hasStreamUseCaseCap = false; + if ((0 == retcode) && (entry.count > 0)) { + if (std::find(entry.data.u8, entry.data.u8 + entry.count, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) != + entry.data.u8 + entry.count) { + hasStreamUseCaseCap = true; + } + } + return hasStreamUseCaseCap; +} + bool CameraAidlTest::isPerFrameControl(const camera_metadata_t* staticMeta) { camera_metadata_ro_entry syncLatencyEntry; int rc = find_camera_metadata_ro_entry(staticMeta, ANDROID_SYNC_MAX_LATENCY, diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index 86f0c9b849..f89239740d 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -437,7 +437,8 @@ class CameraAidlTest : public ::testing::TestWithParam { int32_t frameCount, const bool *overrideSequence, const bool *expectedResults); bool supportZoomSettingsOverride(const camera_metadata_t* staticMeta); - bool supportsCroppedRawUseCase(const camera_metadata_t *staticMeta); + static bool supportsStreamUseCaseCap(const camera_metadata_t* staticMeta); + static bool supportsCroppedRawUseCase(const camera_metadata_t* staticMeta); bool isPerFrameControl(const camera_metadata_t* staticMeta); void getSupportedSizes(const camera_metadata_t* ch, uint32_t tag, int32_t format, From fda43ac86a7fe42379932e58d2858a4acac36e83 Mon Sep 17 00:00:00 2001 From: Sunil Ravi Date: Wed, 10 Jan 2024 23:22:42 +0000 Subject: [PATCH 088/198] Wifi: Modified API for addGroupWithConfig Deprecated the existing addGroupWithConfig API which is used to setup a P2P group owner or join a group as a group client with the specified configuration(SSID, password, band/group). Added a new modified API called addGroupWithConfigurationParams to include the authentication key management used to setup a connection. Bug: 297426719 Test: Build successfully Change-Id: Iafc692bbbaac9f4d98f5983951dc87dc4438988a --- .../wifi/supplicant/ISupplicantP2pIface.aidl | 4 ++ .../hardware/wifi/supplicant/KeyMgmtMask.aidl | 1 + .../P2pAddGroupConfigurationParams.aidl | 44 ++++++++++++ .../wifi/supplicant/ISupplicantP2pIface.aidl | 16 +++++ .../hardware/wifi/supplicant/KeyMgmtMask.aidl | 4 ++ .../P2pAddGroupConfigurationParams.aidl | 68 +++++++++++++++++++ 6 files changed, 137 insertions(+) create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl create mode 100644 wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 05a7548345..3babbe0c6b 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -36,6 +36,9 @@ package android.hardware.wifi.supplicant; interface ISupplicantP2pIface { void addBonjourService(in byte[] query, in byte[] response); void addGroup(in boolean persistent, in int persistentNetworkId); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use addGroupWithConfigurationParams. + */ void addGroupWithConfig(in byte[] ssid, in String pskPassphrase, in boolean persistent, in int freq, in byte[] peerAddress, in boolean joinExistingGroup); @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantP2pNetwork addNetwork(); void addUpnpService(in int version, in String serviceName); @@ -115,4 +118,5 @@ interface ISupplicantP2pIface { String connectWithParams(in android.hardware.wifi.supplicant.P2pConnectInfo connectInfo); void findWithParams(in android.hardware.wifi.supplicant.P2pDiscoveryInfo discoveryInfo); void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo); + void addGroupWithConfigurationParams(in android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams groupConfigurationParams); } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/KeyMgmtMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/KeyMgmtMask.aidl index 35d51bc566..06c22cbde8 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/KeyMgmtMask.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/KeyMgmtMask.aidl @@ -51,4 +51,5 @@ enum KeyMgmtMask { WAPI_CERT = (1 << 13) /* 8192 */, FILS_SHA256 = (1 << 18) /* 262144 */, FILS_SHA384 = (1 << 19) /* 524288 */, + PASN = (1 << 25) /* 33554432 */, } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl new file mode 100644 index 0000000000..8e6c5a05e5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pAddGroupConfigurationParams { + byte[] ssid; + String passphrase; + boolean isPersistent; + int frequencyMHzOrBand; + byte[6] goInterfaceAddress; + boolean joinExistingGroup; + int keyMgmtMask; +} diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 8b78a4a286..96239097ea 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -22,6 +22,7 @@ import android.hardware.wifi.supplicant.ISupplicantP2pIfaceCallback; import android.hardware.wifi.supplicant.ISupplicantP2pNetwork; import android.hardware.wifi.supplicant.IfaceType; import android.hardware.wifi.supplicant.MiracastMode; +import android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams; import android.hardware.wifi.supplicant.P2pConnectInfo; import android.hardware.wifi.supplicant.P2pDiscoveryInfo; import android.hardware.wifi.supplicant.P2pExtListenInfo; @@ -74,6 +75,9 @@ interface ISupplicantP2pIface { * whose network name and group owner's MAC address matches the specified SSID * and peer address without WPS process. If peerAddress is 00:00:00:00:00:00, the first found * group whose network name matches the specified SSID is joined. + *

+ * @deprecated This method is deprecated from AIDL v3, newer HALs should use + * addGroupWithConfigurationParams. * * @param ssid The SSID of this group. * @param pskPassphrase The passphrase of this group. @@ -903,4 +907,16 @@ interface ISupplicantP2pIface { * |SupplicantStatusCode.FAILURE_IFACE_INVALID| */ void configureExtListenWithParams(in P2pExtListenInfo extListenInfo); + + /** + * Set up a P2P group owner or join a group as a group client + * with the specified configuration. + * + * @param groupConfigurationParams Parameters associated with this add group operation. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + void addGroupWithConfigurationParams( + in P2pAddGroupConfigurationParams groupConfigurationParams); } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/KeyMgmtMask.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/KeyMgmtMask.aidl index f0c3345b93..8758645f1a 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/KeyMgmtMask.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/KeyMgmtMask.aidl @@ -71,4 +71,8 @@ enum KeyMgmtMask { * FILS shared key authentication with sha-384 */ FILS_SHA384 = 1 << 19, + /** + * Pre-Association Security Negotiation (PASN) Key management + */ + PASN = 1 << 25, } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl new file mode 100644 index 0000000000..1374f41ba6 --- /dev/null +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl @@ -0,0 +1,68 @@ +/* + * 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. + */ + +package android.hardware.wifi.supplicant; + +import android.hardware.wifi.supplicant.KeyMgmtMask; + +/** + * Request parameters used for |ISupplicantP2pIface.addGroupWithConfigurationParams| + */ +@VintfStability +parcelable P2pAddGroupConfigurationParams { + /** The SSID of the group. */ + byte[] ssid; + + /** The passphrase used to secure the group. */ + String passphrase; + + /** Whether this group is persisted. Only applied on the group owner side */ + boolean isPersistent; + + /** + * The required frequency or band of the group. + * Only applied on the group owner side. + * The following values are supported: + * 0: automatic channel selection, + * 2: for 2.4GHz channels + * 5: for 5GHz channels + * 6: for 6GHz channels + * specific frequency in MHz, i.e., 2412, 5500, etc. + * If an invalid band or unsupported frequency are specified, + * |ISupplicantP2pIface.addGroupWithConfigurationParams| fails + */ + int frequencyMHzOrBand; + + /** + * The MAC Address of the P2P interface of the Peer GO device. + * This field is valid only for the group client side. + * If the MAC is "00:00:00:00:00:00", the device must try to find a peer GO device + * whose network name matches the specified SSID. + */ + byte[6] goInterfaceAddress; + + /* + * True if join a group as a group client; false to create a group as a group owner + */ + boolean joinExistingGroup; + + /** + * The authentication Key management mask for the connection. Combination of |KeyMgmtMask| + * values. The supported authentication key management types are WPA_PSK, SAE and PASN. + * + */ + int keyMgmtMask; +} From cb228e122c1af372b4127555a4a7c0eb87e9bb30 Mon Sep 17 00:00:00 2001 From: arunvoddu Date: Thu, 11 Jan 2024 16:50:08 +0000 Subject: [PATCH 089/198] Rename from ephlmn to ehplmn Bug: 314835886 Test: build successfully Change-Id: I9c335fb9628c7a9cfd38da64592c3a09d26f85a7 --- .../current/android/hardware/radio/sim/CarrierInfo.aidl | 2 +- radio/aidl/android/hardware/radio/sim/CarrierInfo.aidl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierInfo.aidl index 5838959fb5..7d4a54b242 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierInfo.aidl @@ -41,7 +41,7 @@ parcelable CarrierInfo { @nullable String gid1; @nullable String gid2; @nullable String imsiPrefix; - @nullable List ephlmn; + @nullable List ehplmn; @nullable String iccid; @nullable String impi; } diff --git a/radio/aidl/android/hardware/radio/sim/CarrierInfo.aidl b/radio/aidl/android/hardware/radio/sim/CarrierInfo.aidl index a8904978ac..74fe31bd9e 100644 --- a/radio/aidl/android/hardware/radio/sim/CarrierInfo.aidl +++ b/radio/aidl/android/hardware/radio/sim/CarrierInfo.aidl @@ -56,7 +56,7 @@ parcelable CarrierInfo { * Equivalent HPLMN of the SIM card of the Carrier. */ @nullable - List ephlmn; + List ehplmn; /** * ICCID (Integrated Circuit Card Identification) of the SIM card. */ From 67e83a3c06e02161b06e1aa04bce9c605402c1d6 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Wed, 10 Jan 2024 13:40:28 -0800 Subject: [PATCH 090/198] Add format check utils method for bcradio metadata Added format check method for AIDL broadcast radio HAL metadata in AIDL utils library. Also corrected local variable name in getMetadataString method. Bug: 318868350 Test: atest broadcastradio_utils_aidl_test Change-Id: I8220e2845143931e99b4e4da0e07c9cae585588e --- .../include/broadcastradio-utils-aidl/Utils.h | 2 + .../broadcastradio-utils-aidl/UtilsV2.h | 1 + broadcastradio/common/utilsaidl/src/Utils.cpp | 43 ++++++++++- .../common/utilsaidl/src/UtilsV2.cpp | 30 +++++++- .../test/BroadcastRadioUtilsTest.cpp | 67 +++++++++++++++++ .../test/BroadcastRadioUtilsV2Test.cpp | 75 +++++++++++++++++++ 6 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsV2Test.cpp diff --git a/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/Utils.h b/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/Utils.h index 3ced685654..25c96d075f 100644 --- a/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/Utils.h +++ b/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/Utils.h @@ -143,6 +143,8 @@ ProgramSelector makeSelectorHd(uint64_t stationId, uint64_t subChannel, uint64_t bool satisfies(const ProgramFilter& filter, const ProgramSelector& sel); +bool isValidMetadata(const Metadata& metadata); + struct ProgramSelectorComparator { bool operator()(const ProgramSelector& lhs, const ProgramSelector& rhs) const; }; diff --git a/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/UtilsV2.h b/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/UtilsV2.h index e411aa446d..734758ddd7 100644 --- a/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/UtilsV2.h +++ b/broadcastradio/common/utilsaidl/include/broadcastradio-utils-aidl/UtilsV2.h @@ -28,6 +28,7 @@ namespace utils { bool isValidV2(const ProgramIdentifier& id); bool isValidV2(const ProgramSelector& sel); +bool isValidMetadataV2(const Metadata& metadata); std::optional getMetadataStringV2(const ProgramInfo& info, const Metadata::Tag& tag); } // namespace utils diff --git a/broadcastradio/common/utilsaidl/src/Utils.cpp b/broadcastradio/common/utilsaidl/src/Utils.cpp index b6474424b3..ddc5b8db59 100644 --- a/broadcastradio/common/utilsaidl/src/Utils.cpp +++ b/broadcastradio/common/utilsaidl/src/Utils.cpp @@ -442,9 +442,9 @@ void updateProgramList(const ProgramListChunk& chunk, ProgramInfoSet* list) { } std::optional getMetadataString(const ProgramInfo& info, const Metadata::Tag& tag) { - auto isRdsPs = [tag](const Metadata& item) { return item.getTag() == tag; }; + auto hasMetadataType = [tag](const Metadata& item) { return item.getTag() == tag; }; - auto it = std::find_if(info.metadata.begin(), info.metadata.end(), isRdsPs); + auto it = std::find_if(info.metadata.begin(), info.metadata.end(), hasMetadataType); if (it == info.metadata.end()) { return std::nullopt; } @@ -579,6 +579,45 @@ uint32_t getAmFmFrequency(const ProgramSelector& sel) { return getHdFrequency(sel); } +bool isValidMetadata(const Metadata& metadata) { + bool valid = true; + + auto expect = [&valid](bool condition, const std::string& message) { + if (!condition) { + valid = false; + LOG(ERROR) << "metadata not valid, expected " << message; + } + }; + + switch (metadata.getTag()) { + case Metadata::rdsPty: + expect(metadata.get() >= 0, "RDS PTY >= 0"); + expect(metadata.get() <= std::numeric_limits::max(), + "8bit RDS PTY"); + break; + case Metadata::rbdsPty: + expect(metadata.get() >= 0, "RBDS PTY >= 0"); + expect(metadata.get() <= std::numeric_limits::max(), + "8bit RBDS PTY"); + break; + case Metadata::dabEnsembleNameShort: + expect(metadata.get().size() <= 8, + "Dab ensemble name abbreviated length <= 8"); + break; + case Metadata::dabServiceNameShort: + expect(metadata.get().size() <= 8, + "Dab component name abbreviated length <= 8"); + break; + case Metadata::dabComponentNameShort: + expect(metadata.get().size() <= 8, + "Dab component name abbreviated length <= 8"); + break; + default: + break; + } + return valid; +} + bool parseArgInt(const std::string& s, int* out) { return ::android::base::ParseInt(s, out); } diff --git a/broadcastradio/common/utilsaidl/src/UtilsV2.cpp b/broadcastradio/common/utilsaidl/src/UtilsV2.cpp index ef739df117..6c75759f07 100644 --- a/broadcastradio/common/utilsaidl/src/UtilsV2.cpp +++ b/broadcastradio/common/utilsaidl/src/UtilsV2.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "BcRadioAidlDef.utilsV2" #include "broadcastradio-utils-aidl/UtilsV2.h" +#include "broadcastradio-utils-aidl/Utils.h" #include #include @@ -137,10 +138,33 @@ bool isValidV2(const ProgramSelector& sel) { return isValidV2(sel.primaryId); } -std::optional getMetadataStringV2(const ProgramInfo& info, const Metadata::Tag& tag) { - auto isRdsPs = [tag](const Metadata& item) { return item.getTag() == tag; }; +bool isValidMetadataV2(const Metadata& metadata) { + if (!isValidMetadata(metadata)) { + return false; + } - auto it = std::find_if(info.metadata.begin(), info.metadata.end(), isRdsPs); + if (metadata.getTag() == Metadata::hdStationNameShort) { + if (metadata.get().size() > 12) { + LOG(ERROR) << "metadata not valid, expected HD short name length <= 12"; + return false; + } + } else if (metadata.getTag() == Metadata::hdSubChannelsAvailable) { + if (metadata.get() < 0) { + LOG(ERROR) << "metadata not valid, expected HD subchannels available >= 0"; + return false; + } else if (metadata.get() > + std::numeric_limits::max()) { + LOG(ERROR) << "metadata not valid, expected 8bit HD subchannels available"; + return false; + } + } + return true; +} + +std::optional getMetadataStringV2(const ProgramInfo& info, const Metadata::Tag& tag) { + auto hasMetadataType = [tag](const Metadata& item) { return item.getTag() == tag; }; + + auto it = std::find_if(info.metadata.begin(), info.metadata.end(), hasMetadataType); if (it == info.metadata.end()) { return std::nullopt; } diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index b2dc94ac77..b630a67afd 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -32,8 +32,75 @@ constexpr uint64_t kDabFrequencyKhz = 225648u; constexpr uint64_t kHdStationId = 0xA0000001u; constexpr uint64_t kHdSubChannel = 1u; constexpr uint64_t kHdFrequency = 97700u; + +struct IsValidMetadataTestCase { + std::string name; + Metadata metadata; + bool valid; +}; + +std::vector getIsValidMetadataTestCases() { + return std::vector({ + IsValidMetadataTestCase{.name = "valid_rds_pty", + .metadata = Metadata::make(1), + .valid = true}, + IsValidMetadataTestCase{.name = "negative_rds_pty", + .metadata = Metadata::make(-1), + .valid = false}, + IsValidMetadataTestCase{.name = "large_rds_pty", + .metadata = Metadata::make(256), + .valid = false}, + IsValidMetadataTestCase{.name = "valid_rbds_pty", + .metadata = Metadata::make(1), + .valid = true}, + IsValidMetadataTestCase{.name = "negative_rbds_pty", + .metadata = Metadata::make(-1), + .valid = false}, + IsValidMetadataTestCase{.name = "large_rbds_pty", + .metadata = Metadata::make(256), + .valid = false}, + IsValidMetadataTestCase{ + .name = "valid_dab_ensemble_name_short", + .metadata = Metadata::make("name"), + .valid = true}, + IsValidMetadataTestCase{ + .name = "too_long_dab_ensemble_name_short", + .metadata = Metadata::make("name_long"), + .valid = false}, + IsValidMetadataTestCase{ + .name = "valid_dab_service_name_short", + .metadata = Metadata::make("name"), + .valid = true}, + IsValidMetadataTestCase{ + .name = "too_long_dab_service_name_short", + .metadata = Metadata::make("name_long"), + .valid = false}, + IsValidMetadataTestCase{ + .name = "valid_dab_component_name_short", + .metadata = Metadata::make("name"), + .valid = true}, + IsValidMetadataTestCase{ + .name = "too_long_dab_component_name_short", + .metadata = Metadata::make("name_long"), + .valid = false}, + }); +} } // namespace +class IsValidMetadataTest : public testing::TestWithParam {}; + +INSTANTIATE_TEST_SUITE_P(IsValidMetadataTests, IsValidMetadataTest, + testing::ValuesIn(getIsValidMetadataTestCases()), + [](const testing::TestParamInfo& info) { + return info.param.name; + }); + +TEST_P(IsValidMetadataTest, IsValidMetadata) { + IsValidMetadataTestCase testParam = GetParam(); + + ASSERT_EQ(utils::isValidMetadata(testParam.metadata), testParam.valid); +} + TEST(BroadcastRadioUtilsTest, HasIdWithPrimaryIdType) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsV2Test.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsV2Test.cpp new file mode 100644 index 0000000000..cf9f9e965b --- /dev/null +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsV2Test.cpp @@ -0,0 +1,75 @@ +/* + * 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. + */ + +#include +#include + +namespace aidl::android::hardware::broadcastradio { + +namespace { +struct IsValidMetadataV2TestCase { + std::string name; + Metadata metadata; + bool valid; +}; + +std::vector getIsValidMetadataV2TestCases() { + return std::vector({ + IsValidMetadataV2TestCase{.name = "valid_rds_pty", + .metadata = Metadata::make(1), + .valid = true}, + IsValidMetadataV2TestCase{.name = "negative_rds_pty", + .metadata = Metadata::make(-1), + .valid = false}, + IsValidMetadataV2TestCase{ + .name = "valid_hd_station_name_short", + .metadata = Metadata::make("name_short"), + .valid = true}, + IsValidMetadataV2TestCase{ + .name = "too_long_hd_station_name_short", + .metadata = Metadata::make("name_too_long"), + .valid = false}, + IsValidMetadataV2TestCase{ + .name = "valid_hd_subchannel_available", + .metadata = Metadata::make(1), + .valid = true}, + IsValidMetadataV2TestCase{ + .name = "negative_subchannel_available", + .metadata = Metadata::make(-1), + .valid = false}, + IsValidMetadataV2TestCase{ + .name = "large_subchannel_available", + .metadata = Metadata::make(256), + .valid = false}, + }); +} +} // namespace + +class IsValidMetadataV2Test : public testing::TestWithParam {}; + +INSTANTIATE_TEST_SUITE_P(IsValidMetadataV2Tests, IsValidMetadataV2Test, + testing::ValuesIn(getIsValidMetadataV2TestCases()), + [](const testing::TestParamInfo& info) { + return info.param.name; + }); + +TEST_P(IsValidMetadataV2Test, IsValidMetadataV2) { + IsValidMetadataV2TestCase testParam = GetParam(); + + ASSERT_EQ(utils::isValidMetadataV2(testParam.metadata), testParam.valid); +} + +} // namespace aidl::android::hardware::broadcastradio From 2f1dd4cda8cca1e5e0c64c5f1fe62fe6853360f8 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Wed, 10 Jan 2024 15:13:43 -0800 Subject: [PATCH 091/198] Add metadata format check in bcradio VTS Added metadata format check in AIDL broadcast radio HAL VTS. Bug: 318868350 Test: atest VtsHalBroadcastradioAidlTargetTest Change-Id: I47cdb178e76173941682fd8594fe9da13d661a1b --- .../vts/src/VtsHalBroadcastradioAidlTargetTest.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp b/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp index 754b05b93d..9633ebb5ae 100644 --- a/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp +++ b/broadcastradio/aidl/vts/src/VtsHalBroadcastradioAidlTargetTest.cpp @@ -250,6 +250,16 @@ ScopedAStatus TunerCallbackImpl::onCurrentProgramInfoChanged(const ProgramInfo& } } + for (const auto& metadataItem : info.metadata) { + bool validMetadata = false; + if (mCallbackAidlVersion == kAidlVersion1) { + validMetadata = bcutils::isValidMetadata(metadataItem); + } else { + validMetadata = bcutils::isValidMetadataV2(metadataItem); + } + EXPECT_TRUE(validMetadata) << "Invalid metadata " << metadataItem.toString().c_str(); + } + { std::lock_guard lk(mLock); mCurrentProgramInfo = info; From 338dbe004627ed7fa34dab313a467c63daccea61 Mon Sep 17 00:00:00 2001 From: Vinay Gannevaram Date: Fri, 12 Jan 2024 16:32:04 +0530 Subject: [PATCH 092/198] Add p2p methods for add group, go Negotiation and Invitation Add addGroupWithParams, onGoNegotiationRequestWithParams and onInvitationReceivedWithParams to P2P Supplicant interface with vendor data as an optional parameter. Also deprecates the previous addGroup, onGoNegotiationRequest and onInvitationReceived. Bug: 296069900 Test: Build successfully Change-Id: I475df52fe087aff39728e2567583b48b7484a7ee --- .../wifi/supplicant/ISupplicantP2pIface.aidl | 4 ++ .../ISupplicantP2pIfaceCallback.aidl | 8 +++ .../P2pAddGroupConfigurationParams.aidl | 1 + .../supplicant/P2pCreateGroupOwnerInfo.aidl | 40 +++++++++++++ .../P2pGoNegotiationReqEventParams.aidl | 40 +++++++++++++ .../supplicant/P2pInvitationEventParams.aidl | 43 ++++++++++++++ .../wifi/supplicant/ISupplicantP2pIface.aidl | 23 +++++++- .../ISupplicantP2pIfaceCallback.aidl | 23 ++++++++ .../P2pAddGroupConfigurationParams.aidl | 7 +++ .../supplicant/P2pCreateGroupOwnerInfo.aidl | 42 ++++++++++++++ .../P2pGoNegotiationReqEventParams.aidl | 42 ++++++++++++++ .../supplicant/P2pInvitationEventParams.aidl | 56 +++++++++++++++++++ .../supplicant_p2p_iface_aidl_test.cpp | 10 ++++ 13 files changed, 337 insertions(+), 2 deletions(-) create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl create mode 100644 wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl create mode 100644 wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl create mode 100644 wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 3babbe0c6b..0b068e001f 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -35,6 +35,9 @@ package android.hardware.wifi.supplicant; @VintfStability interface ISupplicantP2pIface { void addBonjourService(in byte[] query, in byte[] response); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use createGroupOwner. + */ void addGroup(in boolean persistent, in int persistentNetworkId); /** * @deprecated This method is deprecated from AIDL v3, newer HALs should use addGroupWithConfigurationParams. @@ -119,4 +122,5 @@ interface ISupplicantP2pIface { void findWithParams(in android.hardware.wifi.supplicant.P2pDiscoveryInfo discoveryInfo); void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo); void addGroupWithConfigurationParams(in android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams groupConfigurationParams); + void createGroupOwner(in android.hardware.wifi.supplicant.P2pCreateGroupOwnerInfo groupOwnerInfo); } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl index 4811565b44..65ad4c1407 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl @@ -41,11 +41,17 @@ interface ISupplicantP2pIfaceCallback { oneway void onDeviceLost(in byte[] p2pDeviceAddress); oneway void onFindStopped(); oneway void onGoNegotiationCompleted(in android.hardware.wifi.supplicant.P2pStatusCode status); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use onGoNegotiationRequestWithParams. + */ oneway void onGoNegotiationRequest(in byte[] srcAddress, in android.hardware.wifi.supplicant.WpsDevPasswordId passwordId); oneway void onGroupFormationFailure(in String failureReason); oneway void onGroupFormationSuccess(); oneway void onGroupRemoved(in String groupIfname, in boolean isGroupOwner); oneway void onGroupStarted(in String groupIfname, in boolean isGroupOwner, in byte[] ssid, in int frequency, in byte[] psk, in String passphrase, in byte[] goDeviceAddress, in boolean isPersistent); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use onInvitationReceivedWithParams. + */ oneway void onInvitationReceived(in byte[] srcAddress, in byte[] goDeviceAddress, in byte[] bssid, in int persistentNetworkId, in int operatingFrequency); oneway void onInvitationResult(in byte[] bssid, in android.hardware.wifi.supplicant.P2pStatusCode status); /** @@ -72,4 +78,6 @@ interface ISupplicantP2pIfaceCallback { oneway void onPeerClientDisconnected(in android.hardware.wifi.supplicant.P2pPeerClientDisconnectedEventParams clientDisconnectedEventParams); oneway void onProvisionDiscoveryCompletedEvent(in android.hardware.wifi.supplicant.P2pProvisionDiscoveryCompletedEventParams provisionDiscoveryCompletedEventParams); oneway void onDeviceFoundWithParams(in android.hardware.wifi.supplicant.P2pDeviceFoundEventParams deviceFoundEventParams); + oneway void onGoNegotiationRequestWithParams(in android.hardware.wifi.supplicant.P2pGoNegotiationReqEventParams params); + oneway void onInvitationReceivedWithParams(in android.hardware.wifi.supplicant.P2pInvitationEventParams params); } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl index 8e6c5a05e5..ff73f84f24 100644 --- a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl @@ -41,4 +41,5 @@ parcelable P2pAddGroupConfigurationParams { byte[6] goInterfaceAddress; boolean joinExistingGroup; int keyMgmtMask; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl new file mode 100644 index 0000000000..4451fb55ef --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pCreateGroupOwnerInfo { + boolean persistent; + int persistentNetworkId; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl new file mode 100644 index 0000000000..ba10b3ee64 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pGoNegotiationReqEventParams { + byte[6] srcAddress; + android.hardware.wifi.supplicant.WpsDevPasswordId passwordId; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl new file mode 100644 index 0000000000..541ee4f93d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/current/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pInvitationEventParams { + byte[6] srcAddress; + byte[6] goDeviceAddress; + byte[6] bssid; + int persistentNetworkId; + int operatingFrequencyMHz; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl index 96239097ea..12307935ac 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -24,6 +24,7 @@ import android.hardware.wifi.supplicant.IfaceType; import android.hardware.wifi.supplicant.MiracastMode; import android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams; import android.hardware.wifi.supplicant.P2pConnectInfo; +import android.hardware.wifi.supplicant.P2pCreateGroupOwnerInfo; import android.hardware.wifi.supplicant.P2pDiscoveryInfo; import android.hardware.wifi.supplicant.P2pExtListenInfo; import android.hardware.wifi.supplicant.P2pFrameTypeMask; @@ -53,6 +54,9 @@ interface ISupplicantP2pIface { * negotiation with a specific peer). This is also known as autonomous * group owner. Optional |persistentNetworkId| may be used to specify * restart of a persistent group. + *

+ * @deprecated This method is deprecated from AIDL v3, newer HALs should use + * createGroupOwner. * * @param persistent Used to request a persistent group to be formed. * @param persistentNetworkId Used to specify the restart of a persistent @@ -909,8 +913,11 @@ interface ISupplicantP2pIface { void configureExtListenWithParams(in P2pExtListenInfo extListenInfo); /** - * Set up a P2P group owner or join a group as a group client - * with the specified configuration. + * Set up a P2P group owner or join a group as a group client with the + * specified configuration. The group configurations required to establish + * a connection(SSID, password, channel, etc) are shared out of band. + * So the connection process doesn't require a P2P provision discovery or + * invitation message exchange. * * @param groupConfigurationParams Parameters associated with this add group operation. * @throws ServiceSpecificException with one of the following values: @@ -919,4 +926,16 @@ interface ISupplicantP2pIface { */ void addGroupWithConfigurationParams( in P2pAddGroupConfigurationParams groupConfigurationParams); + + /** + * Set up a P2P group owner on this device. This is also known as autonomous + * group owner. The connection process requires P2P provision discovery + * message or invitation message exchange. + * + * @param groupOwnerInfo Parameters associated with this create group owner operation. + * @throws ServiceSpecificException with one of the following values: + * |SupplicantStatusCode.FAILURE_UNKNOWN|, + * |SupplicantStatusCode.FAILURE_IFACE_INVALID| + */ + void createGroupOwner(in P2pCreateGroupOwnerInfo groupOwnerInfo); } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl index b9273a83ea..44a54652b2 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl @@ -17,8 +17,10 @@ package android.hardware.wifi.supplicant; import android.hardware.wifi.supplicant.P2pDeviceFoundEventParams; +import android.hardware.wifi.supplicant.P2pGoNegotiationReqEventParams; import android.hardware.wifi.supplicant.P2pGroupCapabilityMask; import android.hardware.wifi.supplicant.P2pGroupStartedEventParams; +import android.hardware.wifi.supplicant.P2pInvitationEventParams; import android.hardware.wifi.supplicant.P2pPeerClientDisconnectedEventParams; import android.hardware.wifi.supplicant.P2pPeerClientJoinedEventParams; import android.hardware.wifi.supplicant.P2pProvDiscStatusCode; @@ -88,6 +90,10 @@ oneway interface ISupplicantP2pIfaceCallback { * @param srcAddress MAC address of the device that initiated the GO * negotiation request. * @param passwordId Type of password. + * + *

+ * @deprecated This method is deprecated from AIDL v3, newer HALs should use + * onGoNegotiationRequestWithParams. */ void onGoNegotiationRequest(in byte[] srcAddress, in WpsDevPasswordId passwordId); @@ -135,6 +141,9 @@ oneway interface ISupplicantP2pIfaceCallback { * @param bssid Bssid of the group. * @param persistentNetworkId Persistent network Id of the group. * @param operatingFrequency Frequency on which the invitation was received. + *

+ * @deprecated This method is deprecated from AIDL v3, newer HALs should use + * onInvitationReceivedWithParams. */ void onInvitationReceived(in byte[] srcAddress, in byte[] goDeviceAddress, in byte[] bssid, in int persistentNetworkId, in int operatingFrequency); @@ -302,4 +311,18 @@ oneway interface ISupplicantP2pIfaceCallback { * @param deviceFoundEventParams Parameters associated with the device found event. */ void onDeviceFoundWithParams(in P2pDeviceFoundEventParams deviceFoundEventParams); + + /** + * Used to indicate the reception of a P2P Group Owner negotiation request. + * + * @param params Parameters associated with the GO negotiation request event. + */ + void onGoNegotiationRequestWithParams(in P2pGoNegotiationReqEventParams params); + + /** + * Used to indicate the reception of a P2P invitation. + * + * @param params Parameters associated with the invitation request event. + */ + void onInvitationReceivedWithParams(in P2pInvitationEventParams params); } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl index 1374f41ba6..15f2733b32 100644 --- a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl @@ -16,6 +16,7 @@ package android.hardware.wifi.supplicant; +import android.hardware.wifi.common.OuiKeyedData; import android.hardware.wifi.supplicant.KeyMgmtMask; /** @@ -65,4 +66,10 @@ parcelable P2pAddGroupConfigurationParams { * */ int keyMgmtMask; + + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; } diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl new file mode 100644 index 0000000000..51e6ed9c5c --- /dev/null +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package android.hardware.wifi.supplicant; + +import android.hardware.wifi.common.OuiKeyedData; + +/** + * Parameters used for |ISupplicantP2pIface.createGroupOwner| + */ +@VintfStability +parcelable P2pCreateGroupOwnerInfo { + /** + * Used to request a persistent group to be formed. + */ + boolean persistent; + + /** + * Optional parameter. Used to specify the restart of a persistent + * group. Set to UINT32_MAX for a non-persistent group. + */ + int persistentNetworkId; + + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl new file mode 100644 index 0000000000..3480734c58 --- /dev/null +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ + +package android.hardware.wifi.supplicant; + +import android.hardware.wifi.common.OuiKeyedData; +import android.hardware.wifi.supplicant.WpsDevPasswordId; + +/** + * Parameters used for |ISupplicantP2pIfaceCallback.onGoNegotiationRequestWithParams| + */ +@VintfStability +parcelable P2pGoNegotiationReqEventParams { + /** + * MAC address of the device that sent the Go negotiation request. + */ + byte[6] srcAddress; + + /** + * Type of password. + */ + WpsDevPasswordId passwordId; + + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl new file mode 100644 index 0000000000..4295c40f3e --- /dev/null +++ b/wifi/supplicant/aidl/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl @@ -0,0 +1,56 @@ +/* + * 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. + */ + +package android.hardware.wifi.supplicant; + +import android.hardware.wifi.common.OuiKeyedData; + +/** + * Parameters used for |ISupplicantP2pIfaceCallback.onInvitationReceivedWithParams| + */ +@VintfStability +parcelable P2pInvitationEventParams { + /** + * MAC address of the device that sent the invitation. + */ + byte[6] srcAddress; + + /** + * P2P device MAC Address of the group owner. + */ + byte[6] goDeviceAddress; + + /** + * BSSID of the group. + */ + byte[6] bssid; + + /** + * Persistent network ID of the group. + */ + int persistentNetworkId; + + /** + * Frequency on which the invitation was received. + */ + int operatingFrequencyMHz; + + /** + * Optional vendor-specific parameters. Null value indicates + * that no vendor data is provided. + */ + @nullable OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 3f96414a0e..2d6823f207 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -37,8 +37,10 @@ using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; using aidl::android::hardware::wifi::supplicant::P2pFrameTypeMask; +using aidl::android::hardware::wifi::supplicant::P2pGoNegotiationReqEventParams; using aidl::android::hardware::wifi::supplicant::P2pGroupCapabilityMask; using aidl::android::hardware::wifi::supplicant::P2pGroupStartedEventParams; +using aidl::android::hardware::wifi::supplicant::P2pInvitationEventParams; using aidl::android::hardware::wifi::supplicant::P2pPeerClientDisconnectedEventParams; using aidl::android::hardware::wifi::supplicant::P2pPeerClientJoinedEventParams; using aidl::android::hardware::wifi::supplicant::P2pProvDiscStatusCode; @@ -204,6 +206,14 @@ class SupplicantP2pIfaceCallback : public BnSupplicantP2pIfaceCallback { const P2pDeviceFoundEventParams& /* deviceFoundEventParams */) override { return ndk::ScopedAStatus::ok(); } + ::ndk::ScopedAStatus onGoNegotiationRequestWithParams( + const P2pGoNegotiationReqEventParams& /* goNegotiationReqEventParams */) override { + return ndk::ScopedAStatus::ok(); + } + ::ndk::ScopedAStatus onInvitationReceivedWithParams( + const P2pInvitationEventParams& /* invitationEventParams */) override { + return ndk::ScopedAStatus::ok(); + } }; class SupplicantP2pIfaceAidlTest : public testing::TestWithParam { From 31437d0f3c5029dd43c975990c84d05fcc1d03bc Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Fri, 12 Jan 2024 17:17:27 -0800 Subject: [PATCH 093/198] ExternalCameraHAL: dup fd when creating AIDL NativeHandle AIDL's NativeHandle do not have a concept of unowned file descriptors. If a NativeHandle object is created with an fd, NativeHandle implicitly assumes ownership of the fd. When passing fds over binder, ExternalCameraHAL used makeToAidl which which accidentally transferred ownership to the AIDL objects. Additionally, NativeHandles close owned fds on destruction, which led to multiple closure of fences. This CL changes the logic to use dupToAidl to ensure that NativeHandle objects are given ownership of a duped fds and don't interfere with any of the fds used for internal bookkeeping. Bug: 313115623 Test: Verified by partner that ExternalCameraHAL no longer double closes fds. Change-Id: Ic406634de6f22a290abb414e80a7747927368b68 --- .../default/ExternalCameraDeviceSession.cpp | 24 ++++++++++++------- .../default/ExternalCameraOfflineSession.cpp | 6 ++--- camera/device/default/ExternalCameraUtils.cpp | 16 ++++--------- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/camera/device/default/ExternalCameraDeviceSession.cpp b/camera/device/default/ExternalCameraDeviceSession.cpp index a6ec4c783e..126b782112 100644 --- a/camera/device/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/default/ExternalCameraDeviceSession.cpp @@ -789,8 +789,10 @@ Status ExternalCameraDeviceSession::switchToOffline( outputBuffer.bufferId = buffer.bufferId; outputBuffer.status = BufferStatus::ERROR; if (buffer.acquireFence >= 0) { - outputBuffer.releaseFence.fds.resize(1); - outputBuffer.releaseFence.fds.at(0).set(buffer.acquireFence); + native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); + handle->data[0] = buffer.acquireFence; + outputBuffer.releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } } else { offlineBuffers.push_back(buffer); @@ -1768,8 +1770,10 @@ Status ExternalCameraDeviceSession::processCaptureRequestError( result.outputBuffers[i].bufferId = req->buffers[i].bufferId; result.outputBuffers[i].status = BufferStatus::ERROR; if (req->buffers[i].acquireFence >= 0) { - result.outputBuffers[i].releaseFence.fds.resize(1); - result.outputBuffers[i].releaseFence.fds.at(0).set(req->buffers[i].acquireFence); + native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); + handle->data[0] = req->buffers[i].acquireFence; + result.outputBuffers[i].releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } } @@ -1813,16 +1817,20 @@ Status ExternalCameraDeviceSession::processCaptureResult(std::shared_ptrbuffers[i].fenceTimeout) { result.outputBuffers[i].status = BufferStatus::ERROR; if (req->buffers[i].acquireFence >= 0) { - result.outputBuffers[i].releaseFence.fds.resize(1); - result.outputBuffers[i].releaseFence.fds.at(0).set(req->buffers[i].acquireFence); + native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); + handle->data[0] = req->buffers[i].acquireFence; + result.outputBuffers[i].releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } notifyError(req->frameNumber, req->buffers[i].streamId, ErrorCode::ERROR_BUFFER); } else { result.outputBuffers[i].status = BufferStatus::OK; // TODO: refactor if (req->buffers[i].acquireFence >= 0) { - result.outputBuffers[i].releaseFence.fds.resize(1); - result.outputBuffers[i].releaseFence.fds.at(0).set(req->buffers[i].acquireFence); + native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); + handle->data[0] = req->buffers[i].acquireFence; + result.outputBuffers[i].releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } } } diff --git a/camera/device/default/ExternalCameraOfflineSession.cpp b/camera/device/default/ExternalCameraOfflineSession.cpp index 53bd44f4fa..536fa47a61 100644 --- a/camera/device/default/ExternalCameraOfflineSession.cpp +++ b/camera/device/default/ExternalCameraOfflineSession.cpp @@ -110,7 +110,7 @@ Status ExternalCameraOfflineSession::processCaptureResult(std::shared_ptrbuffers[i].acquireFence >= 0) { native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); handle->data[0] = req->buffers[i].acquireFence; - result.outputBuffers[i].releaseFence = android::makeToAidl(handle); + result.outputBuffers[i].releaseFence = android::dupToAidl(handle); } notifyError(req->frameNumber, req->buffers[i].streamId, ErrorCode::ERROR_BUFFER); } else { @@ -119,7 +119,7 @@ Status ExternalCameraOfflineSession::processCaptureResult(std::shared_ptrbuffers[i].acquireFence >= 0) { native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); handle->data[0] = req->buffers[i].acquireFence; - outputBuffer.releaseFence = android::makeToAidl(handle); + outputBuffer.releaseFence = android::dupToAidl(handle); } } } @@ -247,7 +247,7 @@ Status ExternalCameraOfflineSession::processCaptureRequestError( if (req->buffers[i].acquireFence >= 0) { native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); handle->data[0] = req->buffers[i].acquireFence; - outputBuffer.releaseFence = makeToAidl(handle); + outputBuffer.releaseFence = dupToAidl(handle); } } diff --git a/camera/device/default/ExternalCameraUtils.cpp b/camera/device/default/ExternalCameraUtils.cpp index 30c216f209..2dc3c77ec8 100644 --- a/camera/device/default/ExternalCameraUtils.cpp +++ b/camera/device/default/ExternalCameraUtils.cpp @@ -750,18 +750,12 @@ Size getMaxThumbnailResolution(const common::V1_0::helper::CameraMetadata& chars void freeReleaseFences(std::vector& results) { for (auto& result : results) { - native_handle_t* inputReleaseFence = - ::android::makeFromAidl(result.inputBuffer.releaseFence); - if (inputReleaseFence != nullptr) { - native_handle_close(inputReleaseFence); - native_handle_delete(inputReleaseFence); - } + // NativeHandles free fd's on desctruction. Simply delete the objects! + result.inputBuffer.releaseFence.fds.clear(); // Implicitly closes fds + result.inputBuffer.releaseFence.ints.clear(); for (auto& buf : result.outputBuffers) { - native_handle_t* outReleaseFence = ::android::makeFromAidl(buf.releaseFence); - if (outReleaseFence != nullptr) { - native_handle_close(outReleaseFence); - native_handle_delete(outReleaseFence); - } + buf.releaseFence.fds.clear(); // Implicitly closes fds + buf.releaseFence.ints.clear(); } } } From ce54ff9989b597d0a939b297b5c464904830fc6f Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Fri, 12 Jan 2024 17:28:28 -0800 Subject: [PATCH 094/198] ExternalCameraHAL: Prevent memory leak when manipulating native_handle native_handle objects created by makeFromAidl need to be deleted with native_handle_delete. Not doing so leads to a memory leak every time makeFromAidl is called. This CL ensures that native_handle_delete is called on the return value of makeFromAidl wherever it is used. Bug: 305638723 Test: n/a. No functional change. Change-Id: Ia99ba6e3abbdf7dec75383450a60c944b92a9c74 --- .../default/ExternalCameraDeviceSession.cpp | 19 ++++++++++++------- .../default/ExternalCameraOfflineSession.cpp | 3 +++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/camera/device/default/ExternalCameraDeviceSession.cpp b/camera/device/default/ExternalCameraDeviceSession.cpp index 126b782112..a16dd7fd83 100644 --- a/camera/device/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/default/ExternalCameraDeviceSession.cpp @@ -1391,12 +1391,14 @@ Status ExternalCameraDeviceSession::importRequestLockedImpl( // All buffers are imported. Now validate output buffer acquire fences for (size_t i = 0; i < numOutputBufs; i++) { - if (!sHandleImporter.importFence( - ::android::makeFromAidl(request.outputBuffers[i].acquireFence), allFences[i])) { + native_handle_t* h = ::android::makeFromAidl(request.outputBuffers[i].acquireFence); + if (!sHandleImporter.importFence(h, allFences[i])) { ALOGE("%s: output buffer %zu acquire fence is invalid", __FUNCTION__, i); cleanupInflightFences(allFences, i); + native_handle_delete(h); return Status::INTERNAL_ERROR; } + native_handle_delete(h); } return Status::OK; } @@ -2094,9 +2096,10 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { // TODO: create a batch import API so we don't need to lock/unlock mCbsLock // repeatedly? lk.unlock(); - Status s = - parent->importBuffer(streamId, hBuf.bufferId, makeFromAidl(hBuf.buffer), - /*out*/ &mBufferReqs[i].bufPtr); + native_handle_t* h = makeFromAidl(hBuf.buffer); + Status s = parent->importBuffer(streamId, hBuf.bufferId, h, + /*out*/ &mBufferReqs[i].bufPtr); + native_handle_delete(h); lk.lock(); if (s != Status::OK) { @@ -2104,12 +2107,14 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { cleanupInflightFences(importedFences, i - 1); return false; } - if (!sHandleImporter.importFence(makeFromAidl(hBuf.acquireFence), - mBufferReqs[i].acquireFence)) { + h = makeFromAidl(hBuf.acquireFence); + if (!sHandleImporter.importFence(h, mBufferReqs[i].acquireFence)) { ALOGE("%s: stream %d import fence failed!", __FUNCTION__, streamId); cleanupInflightFences(importedFences, i - 1); + native_handle_delete(h); return false; } + native_handle_delete(h); importedFences[i] = mBufferReqs[i].acquireFence; } break; default: diff --git a/camera/device/default/ExternalCameraOfflineSession.cpp b/camera/device/default/ExternalCameraOfflineSession.cpp index 536fa47a61..2d4e2e0234 100644 --- a/camera/device/default/ExternalCameraOfflineSession.cpp +++ b/camera/device/default/ExternalCameraOfflineSession.cpp @@ -111,6 +111,7 @@ Status ExternalCameraOfflineSession::processCaptureResult(std::shared_ptrdata[0] = req->buffers[i].acquireFence; result.outputBuffers[i].releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } notifyError(req->frameNumber, req->buffers[i].streamId, ErrorCode::ERROR_BUFFER); } else { @@ -120,6 +121,7 @@ Status ExternalCameraOfflineSession::processCaptureResult(std::shared_ptrdata[0] = req->buffers[i].acquireFence; outputBuffer.releaseFence = android::dupToAidl(handle); + native_handle_delete(handle); } } } @@ -248,6 +250,7 @@ Status ExternalCameraOfflineSession::processCaptureRequestError( native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); handle->data[0] = req->buffers[i].acquireFence; outputBuffer.releaseFence = dupToAidl(handle); + native_handle_delete(handle); } } From 571cbf1b4c50efbd65ea81c63598413a28121d78 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Tue, 16 Jan 2024 18:35:09 +0000 Subject: [PATCH 095/198] camera vts: Remove redundant capabilities fetch Bug: 299202800 Test: build Change-Id: Ia6ca1ee0fb65e357398ba62c6a787c6530b989e4 Signed-off-by: Jayant Chowdhary --- camera/provider/aidl/vts/camera_aidl_test.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index e7847a2368..eef9362037 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -316,14 +316,11 @@ void CameraAidlTest::verifyMonochromeCameraResult( void CameraAidlTest::verifyStreamUseCaseCharacteristics(const camera_metadata_t* metadata) { camera_metadata_ro_entry entry; - // Check capabilities - int retcode = - find_camera_metadata_ro_entry(metadata, ANDROID_REQUEST_AVAILABLE_CAPABILITIES, &entry); bool hasStreamUseCaseCap = supportsStreamUseCaseCap(metadata); bool supportMandatoryUseCases = false; - retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, - &entry); + int retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, + &entry); if ((0 == retcode) && (entry.count > 0)) { supportMandatoryUseCases = true; for (size_t i = 0; i < kMandatoryUseCases.size(); i++) { From 3be69560e6f0a8ef6c1b967332f428a0fa414f74 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Tue, 16 Jan 2024 12:22:59 -0800 Subject: [PATCH 096/198] compatibility matrices: drop optional=true. (202404) This is the default now. Test: TH Bug: 247575800 Change-Id: I0d7156f4e526b276c47ac66a5125bf2a219b3ed8 --- .../compatibility_matrix.202404.xml | 170 +++++++++--------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/compatibility_matrices/compatibility_matrix.202404.xml b/compatibility_matrices/compatibility_matrix.202404.xml index 568bfcae0e..2080c696ad 100644 --- a/compatibility_matrices/compatibility_matrix.202404.xml +++ b/compatibility_matrices/compatibility_matrix.202404.xml @@ -1,5 +1,5 @@ - + android.hardware.audio.core 1-2 @@ -18,7 +18,7 @@ default - + android.hardware.audio.effect 1-2 @@ -26,7 +26,7 @@ default - + android.hardware.audio.sounddose 1-2 @@ -34,7 +34,7 @@ default - + android.hardware.authsecret 1 @@ -42,7 +42,7 @@ default - + android.hardware.automotive.audiocontrol 2-4 @@ -50,7 +50,7 @@ default - + android.hardware.automotive.can 1 @@ -58,7 +58,7 @@ default - + android.hardware.automotive.evs 1-2 @@ -66,7 +66,7 @@ [a-z]+/[0-9]+ - + android.hardware.macsec 1 @@ -74,7 +74,7 @@ default - + android.hardware.automotive.occupant_awareness 1 @@ -82,7 +82,7 @@ default - + android.hardware.automotive.vehicle 1-3 @@ -90,7 +90,7 @@ default - + android.hardware.automotive.remoteaccess 1-2 @@ -98,14 +98,14 @@ default - + android.hardware.automotive.ivn IIvnAndroidDevice default - + android.hardware.biometrics.face 3-4 @@ -114,7 +114,7 @@ virtual - + android.hardware.biometrics.fingerprint 3-4 @@ -123,14 +123,14 @@ virtual - + android.hardware.bluetooth IBluetoothHci default - + android.hardware.bluetooth.audio 3-4 @@ -138,7 +138,7 @@ default - + android.hardware.bluetooth.ranging 1 @@ -146,7 +146,7 @@ default - + android.hardware.bluetooth.finder 1 @@ -154,7 +154,7 @@ default - + android.hardware.bluetooth.lmp_event 1 @@ -162,14 +162,14 @@ default - + android.hardware.boot IBootControl default - + android.hardware.broadcastradio 1-2 @@ -177,7 +177,7 @@ .* - + android.hardware.camera.provider 1-3 @@ -185,14 +185,14 @@ [^/]+/[0-9]+ - + android.hardware.cas IMediaCasService default - + android.hardware.confirmationui 1 @@ -200,7 +200,7 @@ default - + android.hardware.contexthub 3 @@ -208,7 +208,7 @@ default - + android.hardware.drm 1 @@ -216,14 +216,14 @@ .* - + android.hardware.dumpstate IDumpstateDevice default - + android.hardware.gatekeeper 1 @@ -231,7 +231,7 @@ default - + android.hardware.gnss 2-4 @@ -239,7 +239,7 @@ default - + android.hardware.graphics.allocator 1-2 @@ -247,7 +247,7 @@ default - + android.hardware.graphics.composer3 3 @@ -255,7 +255,7 @@ default - + android.hardware.health 3 @@ -263,7 +263,7 @@ default - + android.hardware.health.storage 1 @@ -271,7 +271,7 @@ default - + android.hardware.identity 1-5 @@ -279,14 +279,14 @@ default - + android.hardware.net.nlinterceptor IInterceptor default - + android.hardware.oemlock 1 @@ -294,7 +294,7 @@ default - + android.hardware.ir 1 @@ -302,7 +302,7 @@ default - + android.hardware.input.processor 1 @@ -310,7 +310,7 @@ default - + android.hardware.security.secretkeeper 1 @@ -319,7 +319,7 @@ nonsecure - + android.hardware.security.keymint 1-3 @@ -328,7 +328,7 @@ strongbox - + android.hardware.security.keymint 1-3 @@ -337,7 +337,7 @@ strongbox - + android.hardware.light 2 @@ -345,7 +345,7 @@ default - + android.hardware.media.c2 1.0-2 @@ -355,7 +355,7 @@ vendor[0-9]*_software - + android.hardware.media.c2 1.0 @@ -364,7 +364,7 @@ software - + android.hardware.media.c2 1 @@ -373,7 +373,7 @@ vendor[0-9]*_software - + android.hardware.memtrack 1 @@ -381,7 +381,7 @@ default - + android.hardware.neuralnetworks 1-4 @@ -389,14 +389,14 @@ .* - + android.hardware.nfc INfc default - + android.hardware.power 5 @@ -404,7 +404,7 @@ default - + android.hardware.power.stats 2 @@ -412,7 +412,7 @@ default - + android.hardware.radio.config 3 @@ -420,7 +420,7 @@ default - + android.hardware.radio.data 3 @@ -430,7 +430,7 @@ slot3 - + android.hardware.radio.messaging 3 @@ -440,7 +440,7 @@ slot3 - + android.hardware.radio.modem 3 @@ -450,7 +450,7 @@ slot3 - + android.hardware.radio.network 3 @@ -460,7 +460,7 @@ slot3 - + android.hardware.radio.sim 3 @@ -470,7 +470,7 @@ slot3 - + android.hardware.radio.sap 1 @@ -480,7 +480,7 @@ slot3 - + android.hardware.radio.voice 3 @@ -490,7 +490,7 @@ slot3 - + android.hardware.radio.ims 2 @@ -500,7 +500,7 @@ slot3 - + android.hardware.radio.ims.media 2 @@ -508,7 +508,7 @@ default - + android.hardware.rebootescrow 1 @@ -516,7 +516,7 @@ default - + android.hardware.secure_element 1 @@ -525,7 +525,7 @@ SIM[1-9][0-9]* - + android.hardware.security.authgraph 1 @@ -533,7 +533,7 @@ nonsecure - + android.hardware.security.secureclock 1 @@ -541,7 +541,7 @@ default - + android.hardware.security.sharedsecret 1 @@ -550,7 +550,7 @@ strongbox - + android.hardware.sensors 2 @@ -558,7 +558,7 @@ default - + android.hardware.soundtrigger3 1-2 @@ -566,7 +566,7 @@ default - + android.hardware.tetheroffload 1 @@ -574,7 +574,7 @@ default - + android.hardware.thermal 2 @@ -582,7 +582,7 @@ default - + android.hardware.threadnetwork 1 @@ -590,7 +590,7 @@ chip[0-9]+ - + android.hardware.tv.hdmi.cec 1 @@ -598,7 +598,7 @@ default - + android.hardware.tv.hdmi.earc 1 @@ -606,7 +606,7 @@ default - + android.hardware.tv.hdmi.connection 1 @@ -614,7 +614,7 @@ default - + android.hardware.tv.tuner 1-2 @@ -622,7 +622,7 @@ default - + android.hardware.tv.input 1-2 @@ -630,7 +630,7 @@ default - + android.hardware.usb 1-3 @@ -638,14 +638,14 @@ default - + android.hardware.usb.gadget IUsbGadget default - + android.hardware.vibrator 1-2 @@ -653,7 +653,7 @@ default - + android.hardware.vibrator 1-2 @@ -661,7 +661,7 @@ default - + android.hardware.weaver 2 @@ -669,7 +669,7 @@ default - + android.hardware.wifi 1-2 @@ -677,7 +677,7 @@ default - + android.hardware.uwb 1 @@ -685,7 +685,7 @@ default - + android.hardware.wifi.hostapd 1-2 @@ -693,7 +693,7 @@ default - + android.hardware.wifi.supplicant 2-3 @@ -702,7 +702,7 @@ - + mapper 5.0 From f4cfe19efd27546332b514fdbe8074fbe78f28d2 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Thu, 14 Dec 2023 11:13:59 -0800 Subject: [PATCH 097/198] Add tests for generic bcradio HAL utils methods Added unit tests for generic methods in utils library for AIDL broadcast radio HAL. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I968d43c82cd5f9179a63438845dfa167bc30f2cc --- .../test/BroadcastRadioUtilsTest.cpp | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index b630a67afd..b115f75edf 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -33,6 +33,39 @@ constexpr uint64_t kHdStationId = 0xA0000001u; constexpr uint64_t kHdSubChannel = 1u; constexpr uint64_t kHdFrequency = 97700u; +const Properties kAmFmTunerProp = { + .maker = "makerTest", + .product = "productTest", + .supportedIdentifierTypes = {IdentifierType::AMFM_FREQUENCY_KHZ, IdentifierType::RDS_PI, + IdentifierType::HD_STATION_ID_EXT}}; + +struct GetBandTestCase { + std::string name; + int64_t frequency; + utils::FrequencyBand bandResult; +}; + +std::vector getBandTestCases() { + return std::vector( + {GetBandTestCase{.name = "unknown_low_band", + .frequency = 0, + .bandResult = utils::FrequencyBand::UNKNOWN}, + GetBandTestCase{.name = "am_lw_band", + .frequency = 30, + .bandResult = utils::FrequencyBand::AM_LW}, + GetBandTestCase{.name = "am_mw_band", + .frequency = 700, + .bandResult = utils::FrequencyBand::AM_MW}, + GetBandTestCase{.name = "am_sw_band", + .frequency = 2000, + .bandResult = utils::FrequencyBand::AM_SW}, + GetBandTestCase{ + .name = "fm_band", .frequency = 97900, .bandResult = utils::FrequencyBand::FM}, + GetBandTestCase{.name = "unknown_high_band", + .frequency = 110000, + .bandResult = utils::FrequencyBand::UNKNOWN}}); +} + struct IsValidMetadataTestCase { std::string name; Metadata metadata; @@ -87,6 +120,19 @@ std::vector getIsValidMetadataTestCases() { } } // namespace +class GetBandTest : public testing::TestWithParam {}; + +INSTANTIATE_TEST_SUITE_P(GetBandTests, GetBandTest, testing::ValuesIn(getBandTestCases()), + [](const testing::TestParamInfo& info) { + return info.param.name; + }); + +TEST_P(GetBandTest, GetBand) { + GetBandTestCase testcase = GetParam(); + + ASSERT_EQ(utils::getBand(testcase.frequency), testcase.bandResult); +} + class IsValidMetadataTest : public testing::TestWithParam {}; INSTANTIATE_TEST_SUITE_P(IsValidMetadataTests, IsValidMetadataTest, @@ -101,6 +147,24 @@ TEST_P(IsValidMetadataTest, IsValidMetadata) { ASSERT_EQ(utils::isValidMetadata(testParam.metadata), testParam.valid); } +TEST(BroadcastRadioUtilsTest, IsSupportedWithSupportedSelector) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_TRUE(utils::isSupported(kAmFmTunerProp, sel)); +} + +TEST(BroadcastRadioUtilsTest, IsSupportedWithUnsupportedSelector) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_FALSE(utils::isSupported(kAmFmTunerProp, sel)); +} + +TEST(BroadcastRadioUtilsTest, GetBandWithFmFrequency) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_TRUE(utils::hasId(sel, IdentifierType::AMFM_FREQUENCY_KHZ)); +} + TEST(BroadcastRadioUtilsTest, HasIdWithPrimaryIdType) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); @@ -152,6 +216,25 @@ TEST(BroadcastRadioUtilsTest, GetIdWithIdNotFoundAndDefaultValue) { static_cast(kFmFrequencyKHz)); } +TEST(BroadcastRadioUtilsTest, GetAllIdsWithAvailableIds) { + int64_t secondaryFrequencyKHz = kFmFrequencyKHz + 200; + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + sel.secondaryIds.push_back( + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, secondaryFrequencyKHz)); + + std::vector allIds = utils::getAllIds(sel, IdentifierType::AMFM_FREQUENCY_KHZ); + + ASSERT_EQ(allIds.size(), 2u); + EXPECT_NE(std::find(allIds.begin(), allIds.end(), kFmFrequencyKHz), allIds.end()); + EXPECT_NE(std::find(allIds.begin(), allIds.end(), secondaryFrequencyKHz), allIds.end()); +} + +TEST(BroadcastRadioUtilsTest, GetAllIdsWithIdNotFound) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::getAllIds(sel, IdentifierType::AMFM_FREQUENCY_KHZ).empty()); +} + TEST(BroadcastRadioUtilsTest, MakeIdentifier) { ProgramIdentifier id = utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz); @@ -272,4 +355,36 @@ TEST(BroadcastRadioUtilsTest, GetDabSCIdS) { ASSERT_EQ(utils::getDabSCIdS(sel), kDabSCIdS); } +TEST(BroadcastRadioUtilsTest, SatisfiesWithSatisfiedIdTypesFilter) { + ProgramFilter filter = ProgramFilter{.identifierTypes = {IdentifierType::DAB_FREQUENCY_KHZ}}; + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::satisfies(filter, sel)); +} + +TEST(BroadcastRadioUtilsTest, SatisfiesWithUnsatisfiedIdTypesFilter) { + ProgramFilter filter = ProgramFilter{.identifierTypes = {IdentifierType::DAB_FREQUENCY_KHZ}}; + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_FALSE(utils::satisfies(filter, sel)); +} + +TEST(BroadcastRadioUtilsTest, SatisfiesWithSatisfiedIdsFilter) { + ProgramFilter filter = + ProgramFilter{.identifiers = {utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, + kDabFrequencyKhz)}}; + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::satisfies(filter, sel)); +} + +TEST(BroadcastRadioUtilsTest, SatisfiesWithUnsatisfiedIdsFilter) { + ProgramFilter filter = + ProgramFilter{.identifiers = {utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, + kDabFrequencyKhz)}}; + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz + 100); + + ASSERT_FALSE(utils::satisfies(filter, sel)); +} + } // namespace aidl::android::hardware::broadcastradio From 92f32b0de8123064b02be1b4be34dfd975c82cef Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Tue, 16 Jan 2024 15:49:25 -0800 Subject: [PATCH 098/198] Add test mapping for bcradio HAL Bug: 320556913 Test: m -j Change-Id: I35689fdcc1377040b4e1ae5a046694b9f9d1efb6 --- broadcastradio/TEST_MAPPING | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 broadcastradio/TEST_MAPPING diff --git a/broadcastradio/TEST_MAPPING b/broadcastradio/TEST_MAPPING new file mode 100644 index 0000000000..82953312ec --- /dev/null +++ b/broadcastradio/TEST_MAPPING @@ -0,0 +1,18 @@ +{ + "postsubmit": [ + { + "name": "broadcastradio_utils_aidl_test" + }, + { + "name": "DefaultBroadcastRadioHalTestCase" + }, + { + "name": "android.hardware.broadcastradio@common-utils-tests" + } + ], + "auto-presubmit": [ + { + "name": "VtsHalBroadcastradioAidlTargetTest" + } + ] +} From aa0c71e5782e6afa27df44766dc1c6fb4b0be3e2 Mon Sep 17 00:00:00 2001 From: Gil Cukierman Date: Wed, 17 Jan 2024 17:44:30 +0000 Subject: [PATCH 099/198] Add default member initializers for bool and int Bug: 310650389 Change-Id: I1742bbc9b894b2cd379695d6b197c80f4054e395 Test: atest VtsHalRadioTargetTest --- radio/aidl/vts/radio_network_utils.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/aidl/vts/radio_network_utils.h b/radio/aidl/vts/radio_network_utils.h index 470ee7374b..ad530eb36b 100644 --- a/radio/aidl/vts/radio_network_utils.h +++ b/radio/aidl/vts/radio_network_utils.h @@ -38,16 +38,16 @@ class RadioNetworkResponse : public BnRadioNetworkResponse { RadioResponseInfo rspInfo; std::vector radioBandModes; std::vector networkInfos; - bool isNrDualConnectivityEnabled; - int networkTypeBitmapResponse; + bool isNrDualConnectivityEnabled = false; + int networkTypeBitmapResponse = 0; RegStateResult voiceRegResp; RegStateResult dataRegResp; CellIdentity barringCellIdentity; std::vector barringInfoList; UsageSetting usageSetting; std::vector specifiers; - bool isCellularIdentifierTransparencyEnabled; - bool isSecurityAlgorithmsUpdatedEnabled; + bool isCellularIdentifierTransparencyEnabled = false; + bool isSecurityAlgorithmsUpdatedEnabled = false; virtual ndk::ScopedAStatus acknowledgeRequest(int32_t serial) override; From d1b814885f66f47f0993a0fd698640d014f78e2f Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Thu, 14 Dec 2023 11:13:59 -0800 Subject: [PATCH 100/198] Add tests for tunesTo in AIDL bcradio HAL utils Added unit tests for tunesTo method in utils library for AIDL broadcast radio HAL. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: Id69467fdb873cd42f8a875bbd26155bb261d9481 --- .../test/BroadcastRadioUtilsTest.cpp | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index b115f75edf..44f4d88059 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -355,6 +355,70 @@ TEST(BroadcastRadioUtilsTest, GetDabSCIdS) { ASSERT_EQ(utils::getDabSCIdS(sel), kDabSCIdS); } +TEST(BroadcastRadioUtilsTest, TunesToWithTheSameHdSelector) { + ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + ProgramSelector selTarget = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + + ASSERT_TRUE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToAmFmSelectorWithDifferentSubChannels) { + ProgramSelector sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + ProgramSelector selTarget = utils::makeSelectorAmfm(kHdFrequency); + + ASSERT_FALSE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToMainHdChannelWithDifferentSubChannels) { + ProgramSelector sel = utils::makeSelectorAmfm(kHdFrequency); + ProgramSelector selTarget = + utils::makeSelectorHd(kHdStationId, /* subChannel= */ 0, kHdFrequency); + + ASSERT_TRUE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithTheSameAmFmSelector) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + ProgramSelector selTarget = utils::makeSelectorAmfm(kFmFrequencyKHz); + + ASSERT_TRUE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithDifferentFrequencies) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + ProgramSelector selTarget = utils::makeSelectorAmfm(kFmFrequencyKHz + 200); + + ASSERT_FALSE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithTheSameDabSelector) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector selTarget = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithDabSelectorOfDifferentPrimaryIds) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt + 1, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector selTarget = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_FALSE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithDabSelectorOfDifferentSecondayIds) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble + 100, kDabFrequencyKhz); + ProgramSelector selTarget = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_FALSE(utils::tunesTo(sel, selTarget)); +} + +TEST(BroadcastRadioUtilsTest, TunesToWithDabSelectorWithoutSecondaryIds) { + ProgramSelector sel = utils::makeSelectorDab(kDabSidExt); + ProgramSelector selTarget = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + + ASSERT_TRUE(utils::tunesTo(sel, selTarget)); +} + TEST(BroadcastRadioUtilsTest, SatisfiesWithSatisfiedIdTypesFilter) { ProgramFilter filter = ProgramFilter{.identifierTypes = {IdentifierType::DAB_FREQUENCY_KHZ}}; ProgramSelector sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); From a8b00cad62bcdb147ccee5eb2f57d3745c5a4a9c Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Thu, 14 Dec 2023 11:13:59 -0800 Subject: [PATCH 101/198] Add tests for isValid methods bcradio HAL utils Added unit tests for isValid methods in utils library for AIDL broadcast radio HAL. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I0ff19d624f83e48789142a5cba48b9c896dc4204 --- .../test/BroadcastRadioUtilsTest.cpp | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index 44f4d88059..87223e857b 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -66,6 +66,177 @@ std::vector getBandTestCases() { .bandResult = utils::FrequencyBand::UNKNOWN}}); } +struct IsValidIdentifierTestCase { + std::string name; + ProgramIdentifier id; + bool valid; +}; + +std::vector getIsValidIdentifierTestCases() { + return std::vector({ + IsValidIdentifierTestCase{.name = "invalid_id_type", + .id = utils::makeIdentifier(IdentifierType::INVALID, 0), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_frequency_high", + .id = utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, 10000000u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_frequency_low", + .id = utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, 100000u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_dab_frequency", + .id = utils::makeIdentifier(IdentifierType::DAB_FREQUENCY_KHZ, 1000000u), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_am_fm_frequency_high", + .id = utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, 10000000u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_am_fm_frequency_low", + .id = utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, 100u), + .valid = false}, + IsValidIdentifierTestCase{.name = "valid_am_fm_frequency", + .id = utils::makeIdentifier( + IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "drmo_frequency_high", + .id = utils::makeIdentifier(IdentifierType::DRMO_FREQUENCY_KHZ, 10000000u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "drmo_frequency_low", + .id = utils::makeIdentifier(IdentifierType::DRMO_FREQUENCY_KHZ, 100u), + .valid = false}, + IsValidIdentifierTestCase{.name = "valid_drmo_frequency", + .id = utils::makeIdentifier( + IdentifierType::DRMO_FREQUENCY_KHZ, kFmFrequencyKHz), + .valid = true}, + IsValidIdentifierTestCase{.name = "invalid_rds_low", + .id = utils::makeIdentifier(IdentifierType::RDS_PI, 0x0), + .valid = false}, + IsValidIdentifierTestCase{.name = "invalid_rds_high", + .id = utils::makeIdentifier(IdentifierType::RDS_PI, 0x10000), + .valid = false}, + IsValidIdentifierTestCase{.name = "valid_rds", + .id = utils::makeIdentifier(IdentifierType::RDS_PI, 0x1000), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_hd_id_zero", + .id = utils::makeSelectorHd(/* stationId= */ 0u, kHdSubChannel, kHdFrequency) + .primaryId, + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_hd_suchannel", + .id = utils::makeSelectorHd(kHdStationId, /* subChannel= */ 8u, kHdFrequency) + .primaryId, + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_hd_frequency_low", + .id = utils::makeSelectorHd(kHdStationId, kHdSubChannel, /* frequency= */ 100u) + .primaryId, + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_hd_id", + .id = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency) + .primaryId, + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_hd_station_name", + .id = utils::makeIdentifier(IdentifierType::HD_STATION_NAME, 0x41422D464D), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_hd_station_name", + .id = utils::makeIdentifier(IdentifierType::HD_STATION_NAME, 0x414231464D), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_sid", + .id = utils::makeIdentifier(IdentifierType::DAB_SID_EXT, 0x0E100000000u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_ecc_low", + .id = utils::makeIdentifier(IdentifierType::DAB_SID_EXT, 0x0F700000221u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_ecc_high", + .id = utils::makeIdentifier(IdentifierType::DAB_SID_EXT, 0x09900000221u), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_dab_sid_ext", + .id = utils::makeIdentifier(IdentifierType::DAB_SID_EXT, kDabSidExt), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_ensemble_zero", + .id = utils::makeIdentifier(IdentifierType::DAB_ENSEMBLE, 0x0), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_dab_ensemble_high", + .id = utils::makeIdentifier(IdentifierType::DAB_ENSEMBLE, 0x10000), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_dab_ensemble", + .id = utils::makeIdentifier(IdentifierType::DAB_ENSEMBLE, kDabEnsemble), + .valid = true}, + IsValidIdentifierTestCase{.name = "invalid_dab_scid_low", + .id = utils::makeIdentifier(IdentifierType::DAB_SCID, 0xF), + .valid = false}, + IsValidIdentifierTestCase{.name = "invalid_dab_scid_high", + .id = utils::makeIdentifier(IdentifierType::DAB_SCID, 0x1000), + .valid = false}, + IsValidIdentifierTestCase{.name = "valid_dab_scid", + .id = utils::makeIdentifier(IdentifierType::DAB_SCID, 0x100), + .valid = true}, + IsValidIdentifierTestCase{ + .name = "invalid_drmo_id_zero", + .id = utils::makeIdentifier(IdentifierType::DRMO_SERVICE_ID, 0x0), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "invalid_drmo_id_high", + .id = utils::makeIdentifier(IdentifierType::DRMO_SERVICE_ID, 0x1000000), + .valid = false}, + IsValidIdentifierTestCase{ + .name = "valid_drmo_id", + .id = utils::makeIdentifier(IdentifierType::DRMO_SERVICE_ID, 0x100000), + .valid = true}, + }); +} + +struct IsValidSelectorTestCase { + std::string name; + ProgramSelector sel; + bool valid; +}; + +std::vector getIsValidSelectorTestCases() { + return std::vector({ + IsValidSelectorTestCase{.name = "valid_am_fm_selector", + .sel = utils::makeSelectorAmfm(kFmFrequencyKHz), + .valid = true}, + IsValidSelectorTestCase{ + .name = "valid_hd_selector", + .sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency), + .valid = true}, + IsValidSelectorTestCase{ + .name = "valid_dab_selector", + .sel = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz), + .valid = true}, + IsValidSelectorTestCase{.name = "valid_rds_selector", + .sel = ProgramSelector{.primaryId = utils::makeIdentifier( + IdentifierType::RDS_PI, 0x1000)}, + .valid = true}, + IsValidSelectorTestCase{.name = "selector_with_invalid_id", + .sel = utils::makeSelectorHd(kHdStationId, kHdSubChannel, + /* frequency= */ 100u), + .valid = false}, + IsValidSelectorTestCase{ + .name = "selector_with_invalid_primary_id_type", + .sel = ProgramSelector{.primaryId = utils::makeIdentifier( + IdentifierType::DAB_ENSEMBLE, kDabEnsemble)}, + .valid = false}, + }); +} + struct IsValidMetadataTestCase { std::string name; Metadata metadata; @@ -147,6 +318,34 @@ TEST_P(IsValidMetadataTest, IsValidMetadata) { ASSERT_EQ(utils::isValidMetadata(testParam.metadata), testParam.valid); } +class IsValidIdentifierTest : public testing::TestWithParam {}; + +INSTANTIATE_TEST_SUITE_P(IsValidIdentifierTests, IsValidIdentifierTest, + testing::ValuesIn(getIsValidIdentifierTestCases()), + [](const testing::TestParamInfo& info) { + return info.param.name; + }); + +TEST_P(IsValidIdentifierTest, IsValid) { + IsValidIdentifierTestCase testcase = GetParam(); + + ASSERT_EQ(utils::isValid(testcase.id), testcase.valid); +} + +class IsValidSelectorTest : public testing::TestWithParam {}; + +INSTANTIATE_TEST_SUITE_P(IsValidSelectorTests, IsValidSelectorTest, + testing::ValuesIn(getIsValidSelectorTestCases()), + [](const testing::TestParamInfo& info) { + return info.param.name; + }); + +TEST_P(IsValidSelectorTest, IsValid) { + IsValidSelectorTestCase testcase = GetParam(); + + ASSERT_EQ(utils::isValid(testcase.sel), testcase.valid); +} + TEST(BroadcastRadioUtilsTest, IsSupportedWithSupportedSelector) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); From 86883f2b54605700feb6a92b662fd0ef42488e37 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Thu, 14 Dec 2023 11:13:59 -0800 Subject: [PATCH 102/198] Add tests for comparator in AIDL bcradio HAL utils Added unit tests for comparators of program selector and program info in utils library for AIDL broadcast radio HAL. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I1a46196f183cb6a0a45342f3bb379900fd049f32 --- .../test/BroadcastRadioUtilsTest.cpp | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index 87223e857b..c6d293faef 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -650,4 +650,80 @@ TEST(BroadcastRadioUtilsTest, SatisfiesWithUnsatisfiedIdsFilter) { ASSERT_FALSE(utils::satisfies(filter, sel)); } +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentAmFmFrequencies) { + ProgramSelector sel1 = utils::makeSelectorAmfm(kHdFrequency - 200); + ProgramSelector sel2 = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentAmFmSubChannels) { + ProgramSelector sel1 = utils::makeSelectorHd(kHdStationId, kHdSubChannel, kHdFrequency); + ProgramSelector sel2 = utils::makeSelectorHd(kHdStationId, kHdSubChannel + 1, kHdFrequency); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentDabFrequencies) { + ProgramSelector sel1 = utils::makeSelectorDab(kDabSidExt + 100, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector sel2 = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz + 100); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentDabEccCode) { + ProgramSelector sel1 = + utils::makeSelectorDab(/* stationId= */ 0x0E10000C221u, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector sel2 = + utils::makeSelectorDab(/* stationId= */ 0x0E20000C221u, kDabEnsemble, kDabFrequencyKhz); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentDabEnsembles) { + ProgramSelector sel1 = utils::makeSelectorDab(kDabSidExt, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector sel2 = utils::makeSelectorDab(kDabSidExt, kDabEnsemble + 1, kDabFrequencyKhz); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentDabSid) { + ProgramSelector sel1 = + utils::makeSelectorDab(/* stationId= */ 0x0E10000C221u, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector sel2 = + utils::makeSelectorDab(/* stationId= */ 0x0E10000C222u, kDabEnsemble, kDabFrequencyKhz); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramSelectorComparatorWithDifferentDabSCIdS) { + ProgramSelector sel1 = + utils::makeSelectorDab(/* stationId= */ 0x0E10000C221u, kDabEnsemble, kDabFrequencyKhz); + ProgramSelector sel2 = + utils::makeSelectorDab(/* stationId= */ 0x1E10000C221u, kDabEnsemble, kDabFrequencyKhz); + + EXPECT_TRUE(utils::ProgramSelectorComparator()(sel1, sel2)); + EXPECT_FALSE(utils::ProgramSelectorComparator()(sel2, sel1)); +} + +TEST(BroadcastRadioUtilsTest, ProgramInfoComparator) { + ProgramSelector sel1 = utils::makeSelectorAmfm(kFmFrequencyKHz); + ProgramSelector sel2 = utils::makeSelectorAmfm(kFmFrequencyKHz + 200); + ProgramInfo info1 = {.selector = sel1, + .logicallyTunedTo = sel1.primaryId, + .physicallyTunedTo = sel1.primaryId}; + ProgramInfo info2 = {.selector = sel2, + .logicallyTunedTo = sel2.primaryId, + .physicallyTunedTo = sel2.primaryId}; + + EXPECT_TRUE(utils::ProgramInfoComparator()(info1, info2)); + EXPECT_FALSE(utils::ProgramInfoComparator()(info2, info1)); +} + } // namespace aidl::android::hardware::broadcastradio From f489e8cac107c100d019dd75254dabbb85212b3b Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 17 Jan 2024 13:11:40 -0800 Subject: [PATCH 103/198] Update VHAL manifest interface version. We are serving VHAL v3. Test: None Bug: 320743432 Change-Id: I9728496411f2be9f4e7f622cbc4892965bbd9a6e --- automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml index 9834cdbc67..b0c6ae7779 100644 --- a/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml +++ b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml @@ -1,7 +1,7 @@ android.hardware.automotive.vehicle - 2 + 3 IVehicle/default From 6e53a23b45a2b1c9ae7c8ba9e0471eda6873ac83 Mon Sep 17 00:00:00 2001 From: Hao Chen Date: Thu, 18 Jan 2024 01:02:30 +0000 Subject: [PATCH 104/198] Release the Codec Output Buffers Test: `evs_app --test` and the video emulated camera can run for a long time. Bug: 277861838 Change-Id: Ie039e2cabf12e3e2a689181d4fbe415595ef26b4 --- .../impl/default/src/EvsVideoEmulatedCamera.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp b/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp index 42b80088a8..e3f7b5e125 100644 --- a/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp +++ b/automotive/evs/aidl/impl/default/src/EvsVideoEmulatedCamera.cpp @@ -246,13 +246,6 @@ void EvsVideoEmulatedCamera::onCodecOutputAvailable(const int32_t index, *(pixels++) = *(v_head++); } - const auto status = - AMediaCodec_releaseOutputBuffer(mVideoCodec.get(), index, /* render = */ false); - if (status != AMEDIA_OK) { - LOG(ERROR) << __func__ - << ": Received error in releasing output buffer. Error code: " << status; - } - // Release our output buffer mapper.unlock(renderBufferHandle); @@ -305,6 +298,12 @@ void EvsVideoEmulatedCamera::renderOneFrame() { return; } onCodecOutputAvailable(codecOutputputBufferIdx, info); + const auto release_status = AMediaCodec_releaseOutputBuffer( + mVideoCodec.get(), codecOutputputBufferIdx, /* render = */ false); + if (release_status != AMEDIA_OK) { + LOG(ERROR) << __func__ + << ": Received error in releasing output buffer. Error code: " << release_status; + } } void EvsVideoEmulatedCamera::initializeParameters() { From 25a0f6feceff4fbfe911ac16ef7238701f124e4f Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Tue, 16 Jan 2024 15:16:10 -0800 Subject: [PATCH 105/198] Refactor plugin interface, streamer creation Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: Ib141bbb05df8ce17eb5fdb1fed017110fd46a510 --- tv/tuner/aidl/default/Demux.cpp | 57 +++++++++++---------- tv/tuner/aidl/default/Demux.h | 6 ++- tv/tuner/aidl/default/Frontend.cpp | 79 +++++++++++++++++------------- tv/tuner/aidl/default/Frontend.h | 7 ++- 4 files changed, 86 insertions(+), 63 deletions(-) diff --git a/tv/tuner/aidl/default/Demux.cpp b/tv/tuner/aidl/default/Demux.cpp index de94467d14..2445a3e2a1 100644 --- a/tv/tuner/aidl/default/Demux.cpp +++ b/tv/tuner/aidl/default/Demux.cpp @@ -123,26 +123,28 @@ void Demux::setIptvThreadRunning(bool isIptvThreadRunning) { mIsIptvThreadRunningCv.notify_all(); } -void Demux::readIptvThreadLoop(dtv_plugin* interface, dtv_streamer* streamer, size_t buf_size, - int timeout_ms, int buffer_timeout) { +void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer) { Timer *timer, *fullBufferTimer; while (true) { std::unique_lock lock(mIsIptvThreadRunningMutex); mIsIptvThreadRunningCv.wait(lock, [this] { return mIsIptvReadThreadRunning; }); - if (mIsIptvDvrFMQFull && fullBufferTimer->get_elapsed_time_ms() > buffer_timeout) { - ALOGE("DVR FMQ has not been flushed within timeout of %d ms", buffer_timeout); + if (mIsIptvDvrFMQFull && + fullBufferTimer->get_elapsed_time_ms() > IPTV_PLAYBACK_BUFFER_TIMEOUT) { + ALOGE("DVR FMQ has not been flushed within timeout of %d ms", + IPTV_PLAYBACK_BUFFER_TIMEOUT); delete fullBufferTimer; break; } timer = new Timer(); void* buf = malloc(sizeof(char) * IPTV_BUFFER_SIZE); if (buf == nullptr) ALOGI("Buffer allocation failed"); - ssize_t bytes_read = interface->read_stream(streamer, buf, buf_size, timeout_ms); + ssize_t bytes_read = + interface->read_stream(streamer, buf, IPTV_BUFFER_SIZE, IPTV_PLAYBACK_TIMEOUT); if (bytes_read == 0) { double elapsed_time = timer->get_elapsed_time_ms(); - if (elapsed_time > timeout_ms) { + if (elapsed_time > IPTV_PLAYBACK_TIMEOUT) { ALOGE("[Demux] timeout reached - elapsed_time: %f, timeout: %d", elapsed_time, - timeout_ms); + IPTV_PLAYBACK_TIMEOUT); } ALOGE("[Demux] Cannot read data from the socket"); delete timer; @@ -206,32 +208,37 @@ void Demux::readIptvThreadLoop(dtv_plugin* interface, dtv_streamer* streamer, si // get plugin interface from frontend dtv_plugin* interface = mFrontend->getIptvPluginInterface(); + // if plugin interface is not on frontend, create a new plugin interface if (interface == nullptr) { - ALOGE("[Demux] getIptvPluginInterface(): plugin interface is null"); - return ::ndk::ScopedAStatus::fromServiceSpecificError( - static_cast(Result::INVALID_STATE)); + interface = mFrontend->createIptvPluginInterface(); + if (interface == nullptr) { + ALOGE("[ INFO ] Failed to load plugin."); + return ::ndk::ScopedAStatus::fromServiceSpecificError( + static_cast(Result::INVALID_STATE)); + } } - ALOGI("[Demux] getIptvPluginInterface(): plugin interface is not null"); + + // get transport description from frontend + string transport_desc = mFrontend->getIptvTransportDescription(); + if (transport_desc.empty()) { + string content_url = "rtp://127.0.0.1:12345"; + transport_desc = "{ \"uri\": \"" + content_url + "\"}"; + } + ALOGI("[Demux] transport_desc: %s", transport_desc.c_str()); // get streamer object from Frontend instance dtv_streamer* streamer = mFrontend->getIptvPluginStreamer(); if (streamer == nullptr) { - ALOGE("[Demux] getIptvPluginStreamer(): streamer is null"); - return ::ndk::ScopedAStatus::fromServiceSpecificError( - static_cast(Result::INVALID_STATE)); + streamer = mFrontend->createIptvPluginStreamer(interface, transport_desc.c_str()); + if (streamer == nullptr) { + ALOGE("[ INFO ] Failed to open stream"); + return ::ndk::ScopedAStatus::fromServiceSpecificError( + static_cast(Result::INVALID_STATE)); + } } - ALOGI("[Demux] getIptvPluginStreamer(): streamer is not null"); - // get transport description from frontend - string transport_desc = mFrontend->getIptvTransportDescription(); - ALOGI("[Demux] getIptvTransportDescription(): transport_desc: %s", transport_desc.c_str()); - - // call read_stream on the socket to populate the buffer with TS data - // while thread is alive, keep reading data - int timeout_ms = 20; - int buffer_timeout = 10000; // 10s - mDemuxIptvReadThread = std::thread(&Demux::readIptvThreadLoop, this, interface, streamer, - IPTV_BUFFER_SIZE, timeout_ms, buffer_timeout); + mDemuxIptvReadThread = + std::thread(&Demux::frontendIptvInputThreadLoop, this, interface, streamer); } return ::ndk::ScopedAStatus::ok(); } diff --git a/tv/tuner/aidl/default/Demux.h b/tv/tuner/aidl/default/Demux.h index ad7b7a77a1..b8d57dffea 100644 --- a/tv/tuner/aidl/default/Demux.h +++ b/tv/tuner/aidl/default/Demux.h @@ -56,6 +56,9 @@ class Frontend; class TimeFilter; class Tuner; +const int IPTV_PLAYBACK_TIMEOUT = 20; // ms +const int IPTV_PLAYBACK_BUFFER_TIMEOUT = 20000; // ms + class DvrPlaybackCallback : public BnDvrCallback { public: virtual ::ndk::ScopedAStatus onPlaybackStatus(PlaybackStatus status) override { @@ -103,8 +106,7 @@ class Demux : public BnDemux { void setIsRecording(bool isRecording); bool isRecording(); void startFrontendInputLoop(); - void readIptvThreadLoop(dtv_plugin* interface, dtv_streamer* streamer, size_t size, - int timeout_ms, int buffer_timeout); + void frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer); /** * A dispatcher to read and dispatch input data to all the started filters. diff --git a/tv/tuner/aidl/default/Frontend.cpp b/tv/tuner/aidl/default/Frontend.cpp index 57ed1ba4f9..5cee3c7c59 100644 --- a/tv/tuner/aidl/default/Frontend.cpp +++ b/tv/tuner/aidl/default/Frontend.cpp @@ -215,8 +215,31 @@ Frontend::~Frontend() { return ::ndk::ScopedAStatus::ok(); } -void Frontend::readTuneByte(dtv_streamer* streamer, void* buf, size_t buf_size, int timeout_ms) { - ssize_t bytes_read = mIptvPluginInterface->read_stream(streamer, buf, buf_size, timeout_ms); +dtv_plugin* Frontend::createIptvPluginInterface() { + const char* path = "/vendor/lib/iptv_udp_plugin.so"; + DtvPlugin* plugin = new DtvPlugin(path); + bool plugin_loaded = plugin->load(); + if (!plugin_loaded) { + ALOGE("Failed to load plugin"); + return nullptr; + } + return plugin->interface(); +} + +dtv_streamer* Frontend::createIptvPluginStreamer(dtv_plugin* interface, + const char* transport_desc) { + dtv_streamer* streamer = interface->create_streamer(); + int open_fd = interface->open_stream(streamer, transport_desc); + if (open_fd < 0) { + return nullptr; + } + ALOGI("[ INFO ] open_stream successful, open_fd=%d", open_fd); + return streamer; +} + +void Frontend::readTuneByte(void* buf) { + ssize_t bytes_read = mIptvPluginInterface->read_stream(mIptvPluginStreamer, buf, + TUNE_BUFFER_SIZE, TUNE_BUFFER_TIMEOUT); if (bytes_read <= 0) { ALOGI("[ ERROR ] Tune byte couldn't be read."); return; @@ -242,53 +265,39 @@ void Frontend::readTuneByte(dtv_streamer* streamer, void* buf, size_t buf_size, ALOGI("[ INFO ] Frontend type is set to IPTV, tag = %d id=%d", in_settings.getTag(), mId); - // load udp plugin for reading TS data - const char* path = "/vendor/lib/iptv_udp_plugin.so"; - DtvPlugin* plugin = new DtvPlugin(path); - if (!plugin) { - ALOGE("Failed to create DtvPlugin, plugin_path is invalid"); + mIptvPluginInterface = createIptvPluginInterface(); + if (mIptvPluginInterface == nullptr) { + ALOGE("[ INFO ] Failed to load plugin."); return ::ndk::ScopedAStatus::fromServiceSpecificError( static_cast(Result::INVALID_ARGUMENT)); } - bool plugin_loaded = plugin->load(); - if (!plugin_loaded) { - ALOGE("Failed to load plugin"); - return ::ndk::ScopedAStatus::fromServiceSpecificError( - static_cast(Result::INVALID_ARGUMENT)); - } - mIptvPluginInterface = plugin->interface(); // validate content_url format std::string content_url = in_settings.get()->contentUrl; - std::string transport_desc = "{ \"uri\": \"" + content_url + "\"}"; - ALOGI("[ INFO ] transport_desc: %s", transport_desc.c_str()); - bool is_transport_desc_valid = plugin->validate(transport_desc.c_str()); + mIptvTransportDescription = "{ \"uri\": \"" + content_url + "\"}"; + ALOGI("[ INFO ] transport_desc: %s", mIptvTransportDescription.c_str()); + bool is_transport_desc_valid = + mIptvPluginInterface->validate(mIptvTransportDescription.c_str()); if (!is_transport_desc_valid) { // not of format protocol://ip:port ALOGE("[ INFO ] transport_desc is not valid"); return ::ndk::ScopedAStatus::fromServiceSpecificError( static_cast(Result::INVALID_ARGUMENT)); } - mIptvTransportDescription = transport_desc; // create a streamer and open it for reading data - dtv_streamer* streamer = mIptvPluginInterface->create_streamer(); - mIptvPluginStreamer = streamer; - int open_fd = mIptvPluginInterface->open_stream(streamer, transport_desc.c_str()); - if (open_fd < 0) { - ALOGE("[ INFO ] could not open stream"); - return ::ndk::ScopedAStatus::fromServiceSpecificError( - static_cast(Result::INVALID_ARGUMENT)); - } - ALOGI("[ INFO ] open_stream successful, open_fd=%d", open_fd); + mIptvPluginStreamer = + createIptvPluginStreamer(mIptvPluginInterface, mIptvTransportDescription.c_str()); - size_t buf_size = 1; - int timeout_ms = 2000; - void* buf = malloc(sizeof(char) * buf_size); - if (buf == nullptr) ALOGI("malloc buf failed [TUNE]"); - ALOGI("[ INFO ] [Tune] Allocated buffer of size %zu", buf_size); - mIptvFrontendTuneThread = - std::thread(&Frontend::readTuneByte, this, streamer, buf, buf_size, timeout_ms); - if (mIptvFrontendTuneThread.joinable()) mIptvFrontendTuneThread.join(); + void* buf = malloc(sizeof(char) * TUNE_BUFFER_SIZE); + if (buf == nullptr) { + ALOGE("Failed to allocate 1 byte buffer for tuning."); + return ::ndk::ScopedAStatus::fromServiceSpecificError( + static_cast(Result::INVALID_STATE)); + } + mIptvFrontendTuneThread = std::thread(&Frontend::readTuneByte, this, buf); + if (mIptvFrontendTuneThread.joinable()) { + mIptvFrontendTuneThread.join(); + } free(buf); } diff --git a/tv/tuner/aidl/default/Frontend.h b/tv/tuner/aidl/default/Frontend.h index 17a1aeeb40..7622ec0813 100644 --- a/tv/tuner/aidl/default/Frontend.h +++ b/tv/tuner/aidl/default/Frontend.h @@ -33,6 +33,9 @@ namespace tuner { class Tuner; +const int TUNE_BUFFER_SIZE = 1; // byte +const int TUNE_BUFFER_TIMEOUT = 2000; // ms + class Frontend : public BnFrontend { public: Frontend(FrontendType type, int32_t id); @@ -64,7 +67,9 @@ class Frontend : public BnFrontend { dtv_plugin* getIptvPluginInterface(); string getIptvTransportDescription(); dtv_streamer* getIptvPluginStreamer(); - void readTuneByte(dtv_streamer* streamer, void* buf, size_t size, int timeout_ms); + void readTuneByte(void* buf); + dtv_streamer* createIptvPluginStreamer(dtv_plugin* interface, const char* transport_desc); + dtv_plugin* createIptvPluginInterface(); bool isLocked(); void getFrontendInfo(FrontendInfo* _aidl_return); void setTunerService(std::shared_ptr tuner); From cf14e8ca5beef8a389896353d159d2848072e62d Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Wed, 17 Jan 2024 10:06:28 -0800 Subject: [PATCH 106/198] mFilterCount cannot be negative mFilterCount is a reference counter for Filters, and it's decremented when Filter.stop() is called. Added a check to make sure the value is not decremented when it's already 0. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: I72fe7e5c4babd7e7426d8a52b40887a8c411ce81 --- tv/tuner/aidl/default/Filter.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tv/tuner/aidl/default/Filter.cpp b/tv/tuner/aidl/default/Filter.cpp index 212d329cdc..5f7a4cda8d 100644 --- a/tv/tuner/aidl/default/Filter.cpp +++ b/tv/tuner/aidl/default/Filter.cpp @@ -366,9 +366,11 @@ Filter::~Filter() { ::ndk::ScopedAStatus Filter::stop() { ALOGV("%s", __FUNCTION__); - mFilterCount -= 1; - if (mFilterCount == 0) { - mDemux->setIptvThreadRunning(false); + if (mFilterCount > 0) { + mFilterCount -= 1; + if (mFilterCount.load() == 0) { + mDemux->setIptvThreadRunning(false); + } } mFilterThreadRunning = false; From c5707a25f18f7114a9e01a918f79bffa081adb15 Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Wed, 17 Jan 2024 09:49:23 -0800 Subject: [PATCH 107/198] Fix tune byte alignment When reading data from the socket, one byte is read during tuning and remaining data is read during playback. Since the same streamer is used for reading data, there is an offset of 1 when tuning is performed before playback. The extra byte is stored in a buffer and prepended to the playback buffer. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: Ie5d112dbc3c3e3bbb0bb07e60d15ddc26cacaf8c --- tv/tuner/aidl/default/Demux.cpp | 23 +++++++++++++++++++---- tv/tuner/aidl/default/Frontend.cpp | 7 +++++-- tv/tuner/aidl/default/Frontend.h | 2 ++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/tv/tuner/aidl/default/Demux.cpp b/tv/tuner/aidl/default/Demux.cpp index 2445a3e2a1..a9c205f6fc 100644 --- a/tv/tuner/aidl/default/Demux.cpp +++ b/tv/tuner/aidl/default/Demux.cpp @@ -125,6 +125,7 @@ void Demux::setIptvThreadRunning(bool isIptvThreadRunning) { void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer) { Timer *timer, *fullBufferTimer; + bool isTuneBytePushedToDvr = false; while (true) { std::unique_lock lock(mIsIptvThreadRunningMutex); mIsIptvThreadRunningCv.wait(lock, [this] { return mIsIptvReadThreadRunning; }); @@ -137,10 +138,24 @@ void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* str } timer = new Timer(); void* buf = malloc(sizeof(char) * IPTV_BUFFER_SIZE); - if (buf == nullptr) ALOGI("Buffer allocation failed"); - ssize_t bytes_read = - interface->read_stream(streamer, buf, IPTV_BUFFER_SIZE, IPTV_PLAYBACK_TIMEOUT); - if (bytes_read == 0) { + if (buf == nullptr) { + ALOGE("[Demux] Buffer allocation failed"); + return; + } + ssize_t bytes_read; + void* tuneByteBuffer = mFrontend->getTuneByteBuffer(); + if (!isTuneBytePushedToDvr && tuneByteBuffer != nullptr) { + memcpy(buf, tuneByteBuffer, 1); + char* offsetBuf = (char*)buf + 1; + bytes_read = interface->read_stream(streamer, (void*)offsetBuf, IPTV_BUFFER_SIZE - 1, + IPTV_PLAYBACK_TIMEOUT); + isTuneBytePushedToDvr = true; + } else { + bytes_read = + interface->read_stream(streamer, buf, IPTV_BUFFER_SIZE, IPTV_PLAYBACK_TIMEOUT); + } + + if (bytes_read <= 0) { double elapsed_time = timer->get_elapsed_time_ms(); if (elapsed_time > IPTV_PLAYBACK_TIMEOUT) { ALOGE("[Demux] timeout reached - elapsed_time: %f, timeout: %d", elapsed_time, diff --git a/tv/tuner/aidl/default/Frontend.cpp b/tv/tuner/aidl/default/Frontend.cpp index 5cee3c7c59..10316047ff 100644 --- a/tv/tuner/aidl/default/Frontend.cpp +++ b/tv/tuner/aidl/default/Frontend.cpp @@ -188,6 +188,9 @@ Frontend::~Frontend() { mCallback = nullptr; mIsLocked = false; mTuner = nullptr; + if (mTuneByteBuffer != nullptr) { + free(mTuneByteBuffer); + } } ::ndk::ScopedAStatus Frontend::close() { @@ -246,11 +249,12 @@ void Frontend::readTuneByte(void* buf) { } mCallback->onEvent(FrontendEventType::LOCKED); mIsLocked = true; + mTuneByteBuffer = buf; } ::ndk::ScopedAStatus Frontend::tune(const FrontendSettings& in_settings) { if (mCallback == nullptr) { - ALOGW("[ WARN ] Frontend callback is not set for tunin0g"); + ALOGW("[ WARN ] Frontend callback is not set for tuning"); return ::ndk::ScopedAStatus::fromServiceSpecificError( static_cast(Result::INVALID_STATE)); } @@ -298,7 +302,6 @@ void Frontend::readTuneByte(void* buf) { if (mIptvFrontendTuneThread.joinable()) { mIptvFrontendTuneThread.join(); } - free(buf); } return ::ndk::ScopedAStatus::ok(); diff --git a/tv/tuner/aidl/default/Frontend.h b/tv/tuner/aidl/default/Frontend.h index 7622ec0813..f3f8a8760d 100644 --- a/tv/tuner/aidl/default/Frontend.h +++ b/tv/tuner/aidl/default/Frontend.h @@ -68,6 +68,7 @@ class Frontend : public BnFrontend { string getIptvTransportDescription(); dtv_streamer* getIptvPluginStreamer(); void readTuneByte(void* buf); + void* getTuneByteBuffer() { return mTuneByteBuffer; }; dtv_streamer* createIptvPluginStreamer(dtv_plugin* interface, const char* transport_desc); dtv_plugin* createIptvPluginInterface(); bool isLocked(); @@ -95,6 +96,7 @@ class Frontend : public BnFrontend { string mIptvTransportDescription; dtv_streamer* mIptvPluginStreamer; std::thread mIptvFrontendTuneThread; + void* mTuneByteBuffer = nullptr; }; } // namespace tuner From 5494506c79c1d29cae34277cf99512c4e04ce00e Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Thu, 18 Jan 2024 13:39:05 -0800 Subject: [PATCH 108/198] Terminate IPTV read thread on demux close IPTV reading thread doesn't have a termination condition. This CL adds a flag mIsIptvReadThreadTerminated which tracks whether the thread resources should be cleaned up. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: I3a19e1045ee67dac2d95457d217adb1375674ed4 --- tv/tuner/aidl/default/Demux.cpp | 40 +++++++++++++++++++++------------ tv/tuner/aidl/default/Demux.h | 9 ++++++-- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/tv/tuner/aidl/default/Demux.cpp b/tv/tuner/aidl/default/Demux.cpp index a9c205f6fc..5eeb36a4ca 100644 --- a/tv/tuner/aidl/default/Demux.cpp +++ b/tv/tuner/aidl/default/Demux.cpp @@ -53,9 +53,6 @@ void Demux::setTunerService(std::shared_ptr tuner) { Demux::~Demux() { ALOGV("%s", __FUNCTION__); - if (mDemuxIptvReadThread.joinable()) { - mDemuxIptvReadThread.join(); - } close(); } @@ -123,12 +120,17 @@ void Demux::setIptvThreadRunning(bool isIptvThreadRunning) { mIsIptvThreadRunningCv.notify_all(); } -void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer) { +void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer, void* buf) { Timer *timer, *fullBufferTimer; bool isTuneBytePushedToDvr = false; while (true) { std::unique_lock lock(mIsIptvThreadRunningMutex); - mIsIptvThreadRunningCv.wait(lock, [this] { return mIsIptvReadThreadRunning; }); + mIsIptvThreadRunningCv.wait( + lock, [this] { return mIsIptvReadThreadRunning || mIsIptvReadThreadTerminated; }); + if (mIsIptvReadThreadTerminated) { + ALOGI("[Demux] IPTV reading thread for playback terminated"); + break; + } if (mIsIptvDvrFMQFull && fullBufferTimer->get_elapsed_time_ms() > IPTV_PLAYBACK_BUFFER_TIMEOUT) { ALOGE("DVR FMQ has not been flushed within timeout of %d ms", @@ -137,11 +139,6 @@ void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* str break; } timer = new Timer(); - void* buf = malloc(sizeof(char) * IPTV_BUFFER_SIZE); - if (buf == nullptr) { - ALOGE("[Demux] Buffer allocation failed"); - return; - } ssize_t bytes_read; void* tuneByteBuffer = mFrontend->getTuneByteBuffer(); if (!isTuneBytePushedToDvr && tuneByteBuffer != nullptr) { @@ -187,8 +184,6 @@ void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* str default: ALOGI("Invalid DVR Status"); } - - free(buf); } } @@ -251,9 +246,16 @@ void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* str static_cast(Result::INVALID_STATE)); } } - + stopIptvFrontendInput(); + mIsIptvReadThreadTerminated = false; + void* buf = malloc(sizeof(char) * IPTV_BUFFER_SIZE); + if (buf == nullptr) { + ALOGE("[Demux] Buffer allocation failed"); + return ::ndk::ScopedAStatus::fromServiceSpecificError( + static_cast(Result::INVALID_STATE)); + } mDemuxIptvReadThread = - std::thread(&Demux::frontendIptvInputThreadLoop, this, interface, streamer); + std::thread(&Demux::frontendIptvInputThreadLoop, this, interface, streamer, buf); } return ::ndk::ScopedAStatus::ok(); } @@ -370,6 +372,7 @@ void Demux::frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* str ALOGV("%s", __FUNCTION__); stopFrontendInput(); + stopIptvFrontendInput(); set::iterator it; for (it = mPlaybackFilterIds.begin(); it != mPlaybackFilterIds.end(); it++) { @@ -565,6 +568,15 @@ void Demux::stopFrontendInput() { } } +void Demux::stopIptvFrontendInput() { + ALOGD("[Demux] stop iptv frontend on demux"); + if (mDemuxIptvReadThread.joinable()) { + mIsIptvReadThreadTerminated = true; + mIsIptvThreadRunningCv.notify_all(); + mDemuxIptvReadThread.join(); + } +} + void Demux::setIsRecording(bool isRecording) { mIsRecording = isRecording; } diff --git a/tv/tuner/aidl/default/Demux.h b/tv/tuner/aidl/default/Demux.h index b8d57dffea..af040d4bfd 100644 --- a/tv/tuner/aidl/default/Demux.h +++ b/tv/tuner/aidl/default/Demux.h @@ -106,7 +106,7 @@ class Demux : public BnDemux { void setIsRecording(bool isRecording); bool isRecording(); void startFrontendInputLoop(); - void frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer); + void frontendIptvInputThreadLoop(dtv_plugin* interface, dtv_streamer* streamer, void* buf); /** * A dispatcher to read and dispatch input data to all the started filters. @@ -130,6 +130,10 @@ class Demux : public BnDemux { * Setter for IPTV Reading thread */ void setIptvThreadRunning(bool isIptvThreadRunning); + /** + * Stops IPTV playback reading thread. + */ + void stopIptvFrontendInput(); private: // Tuner service @@ -208,7 +212,8 @@ class Demux : public BnDemux { /** * Controls IPTV reading thread status */ - bool mIsIptvReadThreadRunning; + bool mIsIptvReadThreadRunning = false; + std::atomic mIsIptvReadThreadTerminated = false; std::mutex mIsIptvThreadRunningMutex; std::condition_variable mIsIptvThreadRunningCv; From db9c51aaf3bf5f3476de299c15bea48846c57c8c Mon Sep 17 00:00:00 2001 From: sadiqsada Date: Thu, 18 Jan 2024 13:49:09 -0800 Subject: [PATCH 109/198] Reenable VTS tests for IPTV Some of the VTS tests were disabled because they were failing because of IPTV implmementation. Reenabling them since VTS is passing with the fixes. Bug: 288170590 Test: atest VtsHalTvTunerTargetTest Change-Id: I5863c0e561a059f093fc59eae28826fb17648dfa --- .../functional/VtsHalTvTunerTargetTest.cpp | 46 ++----------------- 1 file changed, 3 insertions(+), 43 deletions(-) diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp index 671d07965a..2b39bc6ab0 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp @@ -684,10 +684,6 @@ TEST_P(TunerDemuxAidlTest, openDemux) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -784,10 +780,6 @@ TEST_P(TunerFilterAidlTest, StartFilterInDemux) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } // TODO use parameterized tests auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { @@ -802,10 +794,6 @@ TEST_P(TunerFilterAidlTest, ConfigIpFilterInDemuxWithCid) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -821,10 +809,6 @@ TEST_P(TunerFilterAidlTest, ReconfigFilterToReceiveStartId) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } // TODO use parameterized tests auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { @@ -1128,7 +1112,7 @@ TEST_P(TunerRecordAidlTest, RecordDataFlowWithTsRecordFilterTest) { if (!record.support) { return; } - // Do not execute tests for IPTV Frontend + // Recording is not currently supported for IPTV frontend if (frontendMap[live.frontendId].type == FrontendType::IPTV) { return; } @@ -1146,7 +1130,7 @@ TEST_P(TunerRecordAidlTest, AttachFiltersToRecordTest) { if (!record.support) { return; } - // Do not execute tests for IPTV Frontend + // Recording is not currently supported for IPTV frontend if (frontendMap[live.frontendId].type == FrontendType::IPTV) { return; } @@ -1182,7 +1166,7 @@ TEST_P(TunerRecordAidlTest, SetStatusCheckIntervalHintToRecordTest) { if (!record.support) { return; } - // Do not execute tests for IPTV Frontend + // Recording is not currently supported for IPTV frontend if (frontendMap[live.frontendId].type == FrontendType::IPTV) { return; } @@ -1287,10 +1271,6 @@ TEST_P(TunerFrontendAidlTest, LinkToCiCam) { TEST_P(TunerFrontendAidlTest, getHardwareInfo) { description("Test Frontend get hardware info"); - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } if (!live.hasFrontendConnection) { return; } @@ -1338,10 +1318,6 @@ TEST_P(TunerBroadcastAidlTest, BroadcastDataFlowAudioFilterTest) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1369,10 +1345,6 @@ TEST_P(TunerBroadcastAidlTest, IonBufferTest) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1402,10 +1374,6 @@ TEST_P(TunerBroadcastAidlTest, MediaFilterWithSharedMemoryHandle) { if (!live.hasFrontendConnection) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } auto live_configs = generateLiveConfigurations(); for (auto& configuration : live_configs) { live = configuration; @@ -1419,10 +1387,6 @@ TEST_P(TunerDescramblerAidlTest, CreateDescrambler) { if (!descrambling.support) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } vector descrambling_configs = generateDescramblingConfigurations(); if (descrambling_configs.empty()) { @@ -1459,10 +1423,6 @@ TEST_P(TunerDescramblerAidlTest, ScrambledBroadcastDataFlowMediaFiltersTest) { if (!descrambling.support) { return; } - // Do not execute tests for IPTV Frontend - if (frontendMap[live.frontendId].type == FrontendType::IPTV) { - return; - } vector descrambling_configs = generateDescramblingConfigurations(); if (descrambling_configs.empty()) { From b61ee9eb3960a55040c658f403b24f1a69b24d81 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 110/198] Add tuner callback for default bcradio HAL Implemented mocked tuner callback and added unit test for getting and setting the default broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: I4d41746f7725a79a8d398a1fb798fbc7cab94e09 --- .../test/DefaultBroadcastRadioHalTest.cpp | 32 ++++++ .../test/MockBroadcastRadioCallback.cpp | 93 ++++++++++++++++ .../default/test/MockBroadcastRadioCallback.h | 103 ++++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp create mode 100644 broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index a3704365bb..f0cc9a2390 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -14,10 +14,13 @@ * limitations under the License. */ +#include "MockBroadcastRadioCallback.h" + #include #include #include +#include #include namespace aidl::android::hardware::broadcastradio { @@ -74,10 +77,19 @@ const VirtualRadio& getAmFmMockTestRadio() { class DefaultBroadcastRadioHalTest : public testing::Test { public: void SetUp() override { + ::android::base::SetDefaultTag("BcRadioAidlDef.test"); const VirtualRadio& amFmRadioMockTest = getAmFmMockTestRadio(); mBroadcastRadioHal = ::ndk::SharedRefBase::make(amFmRadioMockTest); + mTunerCallback = ndk::SharedRefBase::make(); } + + void TearDown() override { + mBroadcastRadioHal->unsetTunerCallback(); + EXPECT_FALSE(mTunerCallback->isTunerFailed()); + } + std::shared_ptr mBroadcastRadioHal; + std::shared_ptr mTunerCallback; }; TEST_F(DefaultBroadcastRadioHalTest, GetAmFmRegionConfig) { @@ -136,4 +148,24 @@ TEST_F(DefaultBroadcastRadioHalTest, GetProperties) { } } +TEST_F(DefaultBroadcastRadioHalTest, SetTunerCallback) { + auto halResult = mBroadcastRadioHal->setTunerCallback(mTunerCallback); + + ASSERT_TRUE(halResult.isOk()); +} + +TEST_F(DefaultBroadcastRadioHalTest, SetTunerCallbackWithNull) { + auto halResult = mBroadcastRadioHal->setTunerCallback(nullptr); + + ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_ARGUMENTS)); +} + +TEST_F(DefaultBroadcastRadioHalTest, UnsetTunerCallbackWithNull) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + + auto halResult = mBroadcastRadioHal->unsetTunerCallback(); + + ASSERT_TRUE(halResult.isOk()); +} + } // namespace aidl::android::hardware::broadcastradio diff --git a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp new file mode 100644 index 0000000000..48f65fc9d8 --- /dev/null +++ b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp @@ -0,0 +1,93 @@ +/* + * 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. + */ + +#include "MockBroadcastRadioCallback.h" + +#include + +namespace aidl::android::hardware::broadcastradio { + +namespace { +using std::vector; +} + +MockBroadcastRadioCallback::MockBroadcastRadioCallback() { + mAntennaConnectionState = true; +} + +ScopedAStatus MockBroadcastRadioCallback::onTuneFailed(Result result, + const ProgramSelector& selector) { + LOG(DEBUG) << "onTuneFailed with result with " << selector.toString().c_str(); + if (result != Result::CANCELED) { + std::lock_guard lk(mLock); + tunerFailed = true; + } + return ndk::ScopedAStatus::ok(); +} + +ScopedAStatus MockBroadcastRadioCallback::onCurrentProgramInfoChanged(const ProgramInfo& info) { + LOG(DEBUG) << "onCurrentProgramInfoChanged with " << info.toString().c_str(); + { + std::lock_guard lk(mLock); + mCurrentProgramInfo = info; + } + + mOnCurrentProgramInfoChangedFlag.notify(); + return ndk::ScopedAStatus::ok(); +} + +ScopedAStatus MockBroadcastRadioCallback::onProgramListUpdated( + [[maybe_unused]] const ProgramListChunk& chunk) { + return ndk::ScopedAStatus::ok(); +} + +ScopedAStatus MockBroadcastRadioCallback::onParametersUpdated( + [[maybe_unused]] const vector& parameters) { + return ndk::ScopedAStatus::ok(); +} + +ScopedAStatus MockBroadcastRadioCallback::onAntennaStateChange(bool connected) { + if (!connected) { + std::lock_guard lk(mLock); + mAntennaConnectionState = false; + } + return ndk::ScopedAStatus::ok(); +} + +ScopedAStatus MockBroadcastRadioCallback::onConfigFlagUpdated([[maybe_unused]] ConfigFlag in_flag, + [[maybe_unused]] bool in_value) { + return ndk::ScopedAStatus::ok(); +} + +bool MockBroadcastRadioCallback::waitOnCurrentProgramInfoChangedCallback() { + return mOnCurrentProgramInfoChangedFlag.wait(); +} + +void MockBroadcastRadioCallback::reset() { + mOnCurrentProgramInfoChangedFlag.reset(); +} + +bool MockBroadcastRadioCallback::isTunerFailed() { + std::lock_guard lk(mLock); + return tunerFailed; +} + +ProgramInfo MockBroadcastRadioCallback::getCurrentProgramInfo() { + std::lock_guard lk(mLock); + return mCurrentProgramInfo; +} + +} // namespace aidl::android::hardware::broadcastradio diff --git a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h new file mode 100644 index 0000000000..2ae03e3f16 --- /dev/null +++ b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h @@ -0,0 +1,103 @@ +/* + * 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. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include + +namespace aidl::android::hardware::broadcastradio { + +namespace { +using ::ndk::ScopedAStatus; + +} // namespace + +class MockBroadcastRadioCallback final : public BnTunerCallback { + public: + explicit MockBroadcastRadioCallback(); + ScopedAStatus onTuneFailed(Result result, const ProgramSelector& selector) override; + ScopedAStatus onCurrentProgramInfoChanged(const ProgramInfo& info) override; + ScopedAStatus onProgramListUpdated(const ProgramListChunk& chunk) override; + ScopedAStatus onParametersUpdated(const std::vector& parameters) override; + ScopedAStatus onAntennaStateChange(bool connected) override; + ScopedAStatus onConfigFlagUpdated(ConfigFlag in_flag, bool in_value) override; + + bool waitOnCurrentProgramInfoChangedCallback(); + bool isTunerFailed(); + void reset(); + + ProgramInfo getCurrentProgramInfo(); + + private: + class CallbackFlag final { + public: + CallbackFlag(int timeoutMs) { mTimeoutMs = timeoutMs; } + /** + * Notify that the callback is called. + */ + void notify() { + std::unique_lock lock(mMutex); + mCalled = true; + lock.unlock(); + mCv.notify_all(); + }; + + /** + * Wait for the timeout passed into the constructor. + */ + bool wait() { + std::unique_lock lock(mMutex); + return mCv.wait_for(lock, std::chrono::milliseconds(mTimeoutMs), + [this] { return mCalled; }); + }; + + /** + * Reset the callback to not called. + */ + void reset() { + std::unique_lock lock(mMutex); + mCalled = false; + } + + private: + std::mutex mMutex; + bool mCalled GUARDED_BY(mMutex) = false; + std::condition_variable mCv; + int mTimeoutMs; + }; + + std::mutex mLock; + bool mAntennaConnectionState GUARDED_BY(mLock); + bool tunerFailed GUARDED_BY(mLock) = false; + ProgramInfo mCurrentProgramInfo GUARDED_BY(mLock); + utils::ProgramInfoSet mProgramList GUARDED_BY(mLock); + CallbackFlag mOnCurrentProgramInfoChangedFlag = CallbackFlag(IBroadcastRadio::TUNER_TIMEOUT_MS); +}; + +} // namespace aidl::android::hardware::broadcastradio From d2e9dff01afc5dbf89d1661d3091aeab0ea452b9 Mon Sep 17 00:00:00 2001 From: Ted Wang Date: Tue, 7 Nov 2023 09:13:33 +0000 Subject: [PATCH 111/198] Bluetooth Finder: Interface for Bluetooth Finder and Freeze the AIDL API This allows NearbyService, which depends on this API, to be merged from git_main to udc-mainline-prod. Only the API is merged, without VTS and default implementation since this is a V+ feature. Bug: 307897939 Test: m android.hardware.bluetooth.finder-update-api Merged-In: I111b9e20831c094dcb42432e9d83f9fd326ff953 Change-Id: I111b9e20831c094dcb42432e9d83f9fd326ff953 (cherry picked from commit 36556927b19dc01389fd9f91340f816be4dc09ef) --- bluetooth/finder/aidl/Android.bp | 42 +++++++++++++++++ .../android.hardware.bluetooth.finder/1/.hash | 1 + .../hardware/bluetooth/finder/Eid.aidl | 38 +++++++++++++++ .../bluetooth/finder/IBluetoothFinder.aidl | 40 ++++++++++++++++ .../hardware/bluetooth/finder/Eid.aidl | 38 +++++++++++++++ .../bluetooth/finder/IBluetoothFinder.aidl | 40 ++++++++++++++++ .../hardware/bluetooth/finder/Eid.aidl | 25 ++++++++++ .../bluetooth/finder/IBluetoothFinder.aidl | 46 +++++++++++++++++++ .../compatibility_matrix.9.xml | 8 ++++ 9 files changed, 278 insertions(+) create mode 100644 bluetooth/finder/aidl/Android.bp create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/Eid.aidl create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/IBluetoothFinder.aidl create mode 100644 bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl create mode 100644 bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl diff --git a/bluetooth/finder/aidl/Android.bp b/bluetooth/finder/aidl/Android.bp new file mode 100644 index 0000000000..76cc3adcca --- /dev/null +++ b/bluetooth/finder/aidl/Android.bp @@ -0,0 +1,42 @@ +// 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. + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +aidl_interface { + name: "android.hardware.bluetooth.finder", + vendor_available: true, + srcs: ["android/hardware/bluetooth/finder/*.aidl"], + stability: "vintf", + + backend: { + ndk: { + enabled: true, + }, + java: { + enabled: true, + platform_apis: true, + }, + }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + +} diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash new file mode 100644 index 0000000000..0c1f694c8b --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash @@ -0,0 +1 @@ +078986eb5ef2dd183974ee4c9a79dc9b71bea088 diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl new file mode 100644 index 0000000000..42461c5904 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +parcelable Eid { + byte[20] bytes; +} diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl new file mode 100644 index 0000000000..4bc9041499 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +interface IBluetoothFinder { + void sendEids(in android.hardware.bluetooth.finder.Eid[] eids); + void setPoweredOffFinderMode(in boolean enable); + boolean getPoweredOffFinderMode(); +} diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/Eid.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/Eid.aidl new file mode 100644 index 0000000000..42461c5904 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/Eid.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +parcelable Eid { + byte[20] bytes; +} diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/IBluetoothFinder.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/IBluetoothFinder.aidl new file mode 100644 index 0000000000..4bc9041499 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/current/android/hardware/bluetooth/finder/IBluetoothFinder.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +interface IBluetoothFinder { + void sendEids(in android.hardware.bluetooth.finder.Eid[] eids); + void setPoweredOffFinderMode(in boolean enable); + boolean getPoweredOffFinderMode(); +} diff --git a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl new file mode 100644 index 0000000000..ae9b1590ee --- /dev/null +++ b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl @@ -0,0 +1,25 @@ +/* + * 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. + */ + +package android.hardware.bluetooth.finder; + +/** + * Ephemeral Identifier + */ +@VintfStability +parcelable Eid { + byte[20] bytes; +} diff --git a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl new file mode 100644 index 0000000000..615739b1cf --- /dev/null +++ b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ + +package android.hardware.bluetooth.finder; + +import android.hardware.bluetooth.finder.Eid; + +@VintfStability +interface IBluetoothFinder { + /** + * API to set the EIDs to the Bluetooth Controller + * + * @param eids array of 20 bytes EID to the Bluetooth + * controller + */ + void sendEids(in Eid[] eids); + + /** + * API to enable the powered-off finder feature, which allows the Bluetooth controller to send + * beacons after the device is powered off. + * + * @param enable true to enable; false to disable + */ + void setPoweredOffFinderMode(in boolean enable); + + /** + * API for retrieving feature enablement status + * + * @return the value last set by setPoweredOffFinderMode, false if setPoweredOffFinderMode was + * never been invoked since boot. + */ + boolean getPoweredOffFinderMode(); +} diff --git a/compatibility_matrices/compatibility_matrix.9.xml b/compatibility_matrices/compatibility_matrix.9.xml index 2f18a380d3..0a17b9462c 100644 --- a/compatibility_matrices/compatibility_matrix.9.xml +++ b/compatibility_matrices/compatibility_matrix.9.xml @@ -155,6 +155,14 @@ default + + android.hardware.bluetooth.finder + 1 + + IBluetoothFinder + default + + android.hardware.boot From 333f641f86739662e0b83c4c5ac5e92526e1a2b3 Mon Sep 17 00:00:00 2001 From: Yahav Nussbaum Date: Thu, 4 Jan 2024 22:30:03 +0000 Subject: [PATCH 112/198] Make android.hardware.bluetooth.finder apex_avilable for com.android.tethering Bug: 307897939 Test: m android.hardware.bluetooth.finder-update-api (cherry picked from https://android-review.googlesource.com/q/commit:2f1b39cce9a24a969edba744384a2cd4c310f71c) Merged-In: I7c40cdfc36180d0ab25d9862b29bb4015d03adb0 Change-Id: I7c40cdfc36180d0ab25d9862b29bb4015d03adb0 --- bluetooth/finder/aidl/Android.bp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bluetooth/finder/aidl/Android.bp b/bluetooth/finder/aidl/Android.bp index 76cc3adcca..cc05cd8ee1 100644 --- a/bluetooth/finder/aidl/Android.bp +++ b/bluetooth/finder/aidl/Android.bp @@ -28,7 +28,11 @@ aidl_interface { }, java: { enabled: true, - platform_apis: true, + sdk_version: "module_current", + min_sdk_version: "30", + apex_available: [ + "com.android.tethering", + ], }, }, versions_with_info: [ From a47e995b3b3f09e5d514a214bfbd2c6008bebe96 Mon Sep 17 00:00:00 2001 From: Yahav Nussbaum Date: Sat, 6 Jan 2024 16:53:01 +0000 Subject: [PATCH 113/198] Clarify that an EID is a Find My Device network EID Bug: 318931934 Test: m android.hardware.bluetooth.finder-update-api (cherry picked from https://android-review.googlesource.com/q/commit:31f1ad2409a33bc11fcc2e2a2e8b7f9e73d7af24) Merged-In: Ie888bc81bd8b91040aa308b9b0d2be4a6137e483 Change-Id: Ie888bc81bd8b91040aa308b9b0d2be4a6137e483 --- .../finder/aidl/android/hardware/bluetooth/finder/Eid.aidl | 2 +- .../android/hardware/bluetooth/finder/IBluetoothFinder.aidl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl index ae9b1590ee..0de306f819 100644 --- a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl +++ b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/Eid.aidl @@ -17,7 +17,7 @@ package android.hardware.bluetooth.finder; /** - * Ephemeral Identifier + * Find My Device network ephemeral identifier */ @VintfStability parcelable Eid { diff --git a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl index 615739b1cf..a374c2ad09 100644 --- a/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl +++ b/bluetooth/finder/aidl/android/hardware/bluetooth/finder/IBluetoothFinder.aidl @@ -21,7 +21,7 @@ import android.hardware.bluetooth.finder.Eid; @VintfStability interface IBluetoothFinder { /** - * API to set the EIDs to the Bluetooth Controller + * API to set Find My Device network EIDs to the Bluetooth Controller * * @param eids array of 20 bytes EID to the Bluetooth * controller From ffe00b7fb8af77232c39021d88ae508d216dcc4d Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 114/198] Add tune test for default bcradio HAL Added unit tests for tune method in the default AIDL broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: I62c6ca088c8797fe6c3e9ea1d1fe76d5d7aa5c23 --- .../test/DefaultBroadcastRadioHalTest.cpp | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index f0cc9a2390..8e85a1b40b 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -72,6 +72,13 @@ const VirtualRadio& getAmFmMockTestRadio() { return amFmRadioMockTestRadio; } +int getSignalAcquisitionFlags(const ProgramInfo& info) { + return (info.infoFlags & + (ProgramInfo::FLAG_SIGNAL_ACQUISITION | ProgramInfo::FLAG_HD_SIS_ACQUISITION | + ProgramInfo::FLAG_HD_AUDIO_ACQUISITION)) >> + 6; +} + } // namespace class DefaultBroadcastRadioHalTest : public testing::Test { @@ -88,6 +95,28 @@ class DefaultBroadcastRadioHalTest : public testing::Test { EXPECT_FALSE(mTunerCallback->isTunerFailed()); } + void verifyUpdatedProgramInfo(const ProgramSelector& sel) { + ASSERT_TRUE(mTunerCallback->waitOnCurrentProgramInfoChangedCallback()); + ProgramInfo infoCb1 = mTunerCallback->getCurrentProgramInfo(); + mTunerCallback->reset(); + if (sel.primaryId.type == IdentifierType::HD_STATION_ID_EXT) { + EXPECT_TRUE(mTunerCallback->waitOnCurrentProgramInfoChangedCallback()); + ProgramInfo infoCb2 = mTunerCallback->getCurrentProgramInfo(); + mTunerCallback->reset(); + EXPECT_TRUE(mTunerCallback->waitOnCurrentProgramInfoChangedCallback()); + ProgramInfo infoCb3 = mTunerCallback->getCurrentProgramInfo(); + mTunerCallback->reset(); + EXPECT_EQ(infoCb1.selector, sel); + EXPECT_EQ(getSignalAcquisitionFlags(infoCb1), 0b001); + EXPECT_EQ(infoCb2.selector, sel); + EXPECT_EQ(getSignalAcquisitionFlags(infoCb2), 0b011); + EXPECT_EQ(infoCb3.selector, sel); + EXPECT_EQ(getSignalAcquisitionFlags(infoCb3), 0b111); + } else { + EXPECT_EQ(infoCb1.selector, sel); + } + } + std::shared_ptr mBroadcastRadioHal; std::shared_ptr mTunerCallback; }; @@ -168,4 +197,53 @@ TEST_F(DefaultBroadcastRadioHalTest, UnsetTunerCallbackWithNull) { ASSERT_TRUE(halResult.isOk()); } +TEST_F(DefaultBroadcastRadioHalTest, TuneWithAmFmSelectorInProgramList) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + + auto halResult = mBroadcastRadioHal->tune(kFmSel1); + + ASSERT_TRUE(halResult.isOk()); + ASSERT_TRUE(mTunerCallback->waitOnCurrentProgramInfoChangedCallback()); + ProgramInfo infoCb = mTunerCallback->getCurrentProgramInfo(); + EXPECT_EQ(infoCb.selector, kFmSel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, TuneWithHdSelectorInProgramList) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + + auto halResult = mBroadcastRadioHal->tune(kFmHdFreq1Sel2); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel2); +} + +TEST_F(DefaultBroadcastRadioHalTest, TuneWitFrequencyOfHdProgramInProgramList) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + + auto halResult = mBroadcastRadioHal->tune( + utils::makeSelectorAmfm(utils::getHdFrequency(kFmHdFreq1Sel1))); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, TuneWithInvalidSelector) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + ProgramSelector invalidSelector = {utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, 0), + {}}; + + auto halResult = mBroadcastRadioHal->tune(invalidSelector); + + ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_ARGUMENTS)); +} + +TEST_F(DefaultBroadcastRadioHalTest, TuneWithoutTunerCallback) { + auto halResult = mBroadcastRadioHal->tune(kFmSel1); + + ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_STATE)); +} + } // namespace aidl::android::hardware::broadcastradio From 1c1fc91e543428546b34773d3dd16b63a449451f Mon Sep 17 00:00:00 2001 From: Matt Buckley Date: Mon, 22 Jan 2024 23:44:13 +0000 Subject: [PATCH 115/198] Add timestamps to FMQ ChannelMessage Figuring out relative message ordering is harder with FMQ because messages on different channels without timestamps do not have a guaranteed ordering. This CL adds timestamps to all channel messages to ensure relative ordering is always known precisely, and to make timing more accurate. Bug: 321810554 Test: atest VtsHalPowerTargetTest Change-Id: Iac341dec2526ac46ae9db57aadbd267224a77989 --- .../android/hardware/power/ChannelMessage.aidl | 3 ++- .../android/hardware/power/WorkDurationFixedV1.aidl | 1 - .../aidl/android/hardware/power/ChannelMessage.aidl | 13 ++++++++----- .../android/hardware/power/WorkDurationFixedV1.aidl | 6 ------ 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl index 25f01c0d91..ab38fcc21f 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/ChannelMessage.aidl @@ -35,10 +35,11 @@ package android.hardware.power; @FixedSize @VintfStability parcelable ChannelMessage { int sessionID; + long timeStampNanos; android.hardware.power.ChannelMessage.ChannelMessageContents data; @FixedSize @VintfStability union ChannelMessageContents { - int[20] tids = {(-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */, (-1) /* -1 */}; + long[16] reserved = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; long targetDuration; android.hardware.power.SessionHint hint; android.hardware.power.ChannelMessage.ChannelMessageContents.SessionModeSetter mode; diff --git a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl index 8cd246d6bf..45310b8927 100644 --- a/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl +++ b/power/aidl/aidl_api/android.hardware.power/current/android/hardware/power/WorkDurationFixedV1.aidl @@ -34,7 +34,6 @@ package android.hardware.power; @FixedSize @VintfStability parcelable WorkDurationFixedV1 { - long timeStampNanos; long durationNanos; long workPeriodStartTimestampNanos; long cpuDurationNanos; diff --git a/power/aidl/android/hardware/power/ChannelMessage.aidl b/power/aidl/android/hardware/power/ChannelMessage.aidl index 4747d90463..fa169114bc 100644 --- a/power/aidl/android/hardware/power/ChannelMessage.aidl +++ b/power/aidl/android/hardware/power/ChannelMessage.aidl @@ -37,6 +37,12 @@ parcelable ChannelMessage { */ int sessionID; + /** + * Timestamp in nanoseconds based on CLOCK_MONOTONIC when the message was sent, + * used to ensure all messages can be processed in a coherent order. + */ + long timeStampNanos; + /** * A union defining the different messages that can be passed through the * channel. Each type corresponds to a different call in IPowerHintSession. @@ -47,12 +53,9 @@ parcelable ChannelMessage { @VintfStability union ChannelMessageContents { /** - * List of TIDs for this session to change to. Can be used in cases - * where HintManagerService is not needed to validate the TIDs, such as - * when all TIDs directly belong to the process that owns the session. + * Reserves the maximum fixed size for the ChannelMessage. */ - int[20] tids = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + long[16] reserved = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; /** * Setting this field will update the session’s target duration, equivalent diff --git a/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl b/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl index 2d202ff198..ef5c755cdb 100644 --- a/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl +++ b/power/aidl/android/hardware/power/WorkDurationFixedV1.aidl @@ -19,12 +19,6 @@ package android.hardware.power; @FixedSize @VintfStability parcelable WorkDurationFixedV1 { - /** - * Timestamp in nanoseconds based on CLOCK_MONOTONIC when the duration - * sample was measured. - */ - long timeStampNanos; - /** * Total work duration in nanoseconds. */ From 3fd567437c093ed4c7fa06d0bec1c622f5b00416 Mon Sep 17 00:00:00 2001 From: sangyun Date: Wed, 24 Jan 2024 13:40:54 +0900 Subject: [PATCH 116/198] Allows to skip old tests for new networks. If the getDataRegistrationState interface is tested on a new RAT (e.g. 5g) that was not supported in this version, this allows the test to be skipped for newer networks. Bug: 303672201 Test: atest VtsHalRadioV1_0TargetTest:PerInstance/RadioHidlTest Change-Id: I1bbaefd1f1f41bb4b46fb515e5a1bc6b80153c74 --- radio/1.0/vts/functional/radio_hidl_hal_data.cpp | 8 +++++++- radio/1.2/vts/functional/radio_hidl_hal_api.cpp | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp index 38cb33b07e..e89f4ee5df 100644 --- a/radio/1.0/vts/functional/radio_hidl_hal_data.cpp +++ b/radio/1.0/vts/functional/radio_hidl_hal_data.cpp @@ -16,6 +16,7 @@ #include #include +#include #include using namespace ::android::hardware::radio::V1_0; @@ -72,11 +73,16 @@ TEST_P(RadioHidlTest, getDataRegistrationState) { CellIdentityTdscdma cit = cellIdentities.cellIdentityTdscdma[0]; hidl_mcc = cit.mcc; hidl_mnc = cit.mnc; - } else { + } else if (cellInfoType == CellInfoType::CDMA) { // CellIndentityCdma has no mcc and mnc. EXPECT_EQ(CellInfoType::CDMA, cellInfoType); EXPECT_EQ(1, cellIdentities.cellIdentityCdma.size()); checkMccMnc = false; + } else { + // This test can be skipped for newer networks if a new RAT (e.g. 5g) that was not + // supported in this version is added to the response from a modem that supports a new + // version of this interface. + GTEST_SKIP() << "Exempt from 1.0 test: camped on a new network:" << (int)cellInfoType; } // Check only one CellIdentity is size 1, and others must be 0. diff --git a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp index 2bce2f957b..51ca96734f 100644 --- a/radio/1.2/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.2/vts/functional/radio_hidl_hal_api.cpp @@ -807,11 +807,16 @@ TEST_P(RadioHidlTest_v1_2, getDataRegistrationState) { cellIdentities.cellIdentityTdscdma[0]; hidl_mcc = cit.base.mcc; hidl_mnc = cit.base.mnc; - } else { + } else if (cellInfoType == CellInfoType::CDMA) { // CellIndentityCdma has no mcc and mnc. EXPECT_EQ(CellInfoType::CDMA, cellInfoType); EXPECT_EQ(1, cellIdentities.cellIdentityCdma.size()); checkMccMnc = false; + } else { + // This test can be skipped for newer networks if a new RAT (e.g. 5g) that was not + // supported in this version is added to the response from a modem that supports a new + // version of this interface. + GTEST_SKIP() << "Exempt from 1.2 test: camped on a new network:" << (int)cellInfoType; } // Check only one CellIdentity is size 1, and others must be 0. From 1e93ca6c743b4b7b19c0bdb0674e953ebadebcf4 Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Wed, 24 Jan 2024 10:51:31 -0500 Subject: [PATCH 117/198] Support configuration reset and dump Bug: 294254230 Test: atest android.hardware.biometrics.face.* -c adb shell cmd android.hardware.biometrics.face.IFace/virtual resetconfig adb shell dumpsys face Change-Id: I6dc5657104da103860cca133beba21e1b10cb423 --- biometrics/face/aidl/default/Face.cpp | 110 +++++++++++++++++- biometrics/face/aidl/default/Face.h | 10 ++ .../face/aidl/default/FakeFaceEngine.cpp | 1 + biometrics/face/aidl/default/Session.cpp | 29 ++++- biometrics/face/aidl/default/Session.h | 23 +++- 5 files changed, 166 insertions(+), 7 deletions(-) diff --git a/biometrics/face/aidl/default/Face.cpp b/biometrics/face/aidl/default/Face.cpp index 652a7e1f6c..5ae0df6e56 100644 --- a/biometrics/face/aidl/default/Face.cpp +++ b/biometrics/face/aidl/default/Face.cpp @@ -14,11 +14,23 @@ * limitations under the License. */ +#undef LOG_TAG +#define LOG_TAG "FaceVirtualHal" + #include "Face.h" #include "Session.h" #include "FakeFaceEngine.h" +#include +#include + +#include +#include +#include + +using namespace ::android::face::virt; + namespace aidl::android::hardware::biometrics::face { const int kSensorId = 4; @@ -68,11 +80,105 @@ ndk::ScopedAStatus Face::getSensorProps(std::vector* return_val) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus Face::createSession(int32_t /*sensorId*/, int32_t /*userId*/, +ndk::ScopedAStatus Face::createSession(int32_t sensorId, int32_t userId, const std::shared_ptr& cb, std::shared_ptr* return_val) { - *return_val = SharedRefBase::make(std::make_unique(), cb); + mSession = SharedRefBase::make(std::make_unique(), cb); + *return_val = mSession; + + mSession->linkToDeath(cb->asBinder().get()); + + LOG(INFO) << __func__ << ": sensorId:" << sensorId << " userId:" << userId; return ndk::ScopedAStatus::ok(); } +binder_status_t Face::dump(int fd, const char** /*args*/, uint32_t numArgs) { + if (fd < 0) { + LOG(ERROR) << __func__ << "fd invalid: " << fd; + return STATUS_BAD_VALUE; + } else { + LOG(INFO) << __func__ << " fd:" << fd << "numArgs:" << numArgs; + } + + dprintf(fd, "----- FaceVirtualHal::dump -----\n"); + std::vector sps(1); + getSensorProps(&sps); + for (auto& sp : sps) { + ::android::base::WriteStringToFd(sp.toString(), fd); + } + if (mSession != nullptr) { + ::android::base::WriteStringToFd(mSession->toString(), fd); + } else { + dprintf(fd, "\nWARNING: no ISession found\n"); + } + + fsync(fd); + return STATUS_OK; +} + +binder_status_t Face::handleShellCommand(int in, int out, int err, const char** args, + uint32_t numArgs) { + LOG(INFO) << __func__ << " in:" << in << " out:" << out << " err:" << err + << " numArgs:" << numArgs; + + if (numArgs == 0) { + LOG(INFO) << __func__ << ": available commands"; + onHelp(out); + return STATUS_OK; + } + + for (auto&& str : std::vector(args, args + numArgs)) { + std::string option = str.data(); + if (option.find("clearconfig") != std::string::npos || + option.find("resetconfig") != std::string::npos) { + resetConfigToDefault(); + } + if (option.find("help") != std::string::npos) { + onHelp(out); + } + } + + return STATUS_OK; +} + +void Face::onHelp(int fd) { + dprintf(fd, "Virtual Face HAL commands:\n"); + dprintf(fd, " help: print this help\n"); + dprintf(fd, " resetconfig: reset all configuration to default\n"); + dprintf(fd, "\n"); + fsync(fd); +} + +void Face::resetConfigToDefault() { + LOG(INFO) << __func__ << ": reset virtual Face HAL configuration to default"; +#define RESET_CONFIG_O(__NAME__) \ + if (FaceHalProperties::__NAME__()) FaceHalProperties::__NAME__(std::nullopt) +#define RESET_CONFIG_V(__NAME__) \ + if (!FaceHalProperties::__NAME__().empty()) FaceHalProperties::__NAME__({std::nullopt}) + + RESET_CONFIG_O(type); + RESET_CONFIG_O(strength); + RESET_CONFIG_V(enrollments); + RESET_CONFIG_O(enrollment_hit); + RESET_CONFIG_V(features); + RESET_CONFIG_O(next_enrollment); + RESET_CONFIG_O(authenticator_id); + RESET_CONFIG_O(challenge); + RESET_CONFIG_O(lockout); + RESET_CONFIG_O(operation_authenticate_fails); + RESET_CONFIG_O(operation_detect_interaction_fails); + RESET_CONFIG_O(operation_enroll_fails); + RESET_CONFIG_V(operation_authenticate_latency); + RESET_CONFIG_V(operation_detect_interaction_latency); + RESET_CONFIG_V(operation_enroll_latency); + RESET_CONFIG_O(operation_authenticate_duration); + RESET_CONFIG_O(operation_authenticate_error); + RESET_CONFIG_O(operation_authenticate_acquired); + RESET_CONFIG_O(lockout_enable); + RESET_CONFIG_O(lockout_timed_enable); + RESET_CONFIG_O(lockout_timed_threshold); + RESET_CONFIG_O(lockout_timed_duration); + RESET_CONFIG_O(lockout_permanent_threshold); +} + } // namespace aidl::android::hardware::biometrics::face diff --git a/biometrics/face/aidl/default/Face.h b/biometrics/face/aidl/default/Face.h index 786b4f89fe..93fddb0474 100644 --- a/biometrics/face/aidl/default/Face.h +++ b/biometrics/face/aidl/default/Face.h @@ -17,16 +17,26 @@ #pragma once #include +#include "Session.h" namespace aidl::android::hardware::biometrics::face { class Face : public BnFace { public: + Face() : mSession(nullptr) {} ndk::ScopedAStatus getSensorProps(std::vector* _aidl_return) override; ndk::ScopedAStatus createSession(int32_t sensorId, int32_t userId, const std::shared_ptr& cb, std::shared_ptr* _aidl_return) override; + + binder_status_t dump(int fd, const char** args, uint32_t numArgs); + binder_status_t handleShellCommand(int in, int out, int err, const char** argv, uint32_t argc); + + private: + std::shared_ptr mSession; + void resetConfigToDefault(); + void onHelp(int); }; } // namespace aidl::android::hardware::biometrics::face diff --git a/biometrics/face/aidl/default/FakeFaceEngine.cpp b/biometrics/face/aidl/default/FakeFaceEngine.cpp index bdc13fd403..bf75874aea 100644 --- a/biometrics/face/aidl/default/FakeFaceEngine.cpp +++ b/biometrics/face/aidl/default/FakeFaceEngine.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#undef LOG_TAG #define LOG_TAG "FaceVirtualHalEngine" #include "FakeFaceEngine.h" diff --git a/biometrics/face/aidl/default/Session.cpp b/biometrics/face/aidl/default/Session.cpp index 6f3f2fc22f..673d879d79 100644 --- a/biometrics/face/aidl/default/Session.cpp +++ b/biometrics/face/aidl/default/Session.cpp @@ -14,20 +14,38 @@ * limitations under the License. */ +#undef LOG_TAG +#define LOG_TAG "FaceVirtualHalSession" + #include #include "Session.h" -#undef LOG_TAG -#define LOG_TAG "FaceVirtualHalSession" - namespace aidl::android::hardware::biometrics::face { constexpr size_t MAX_WORKER_QUEUE_SIZE = 5; +void onClientDeath(void* cookie) { + LOG(INFO) << "FaceService has died"; + Session* session = static_cast(cookie); + if (session && !session->isClosed()) { + session->close(); + } +} + Session::Session(std::unique_ptr engine, std::shared_ptr cb) - : mEngine(std::move(engine)), mCb(std::move(cb)), mRandom(std::mt19937::default_seed) { + : mEngine(std::move(engine)), + mCb(std::move(cb)), + mRandom(std::mt19937::default_seed), + mStateClosed(false) { + CHECK(mEngine); + CHECK(mCb); mThread = std::make_unique(MAX_WORKER_QUEUE_SIZE); + mDeathRecipient = AIBinder_DeathRecipient_new(onClientDeath); +} + +binder_status_t Session::linkToDeath(AIBinder* binder) { + return AIBinder_linkToDeath(binder, mDeathRecipient, this); } ndk::ScopedAStatus Session::generateChallenge() { @@ -144,9 +162,12 @@ ndk::ScopedAStatus Session::resetLockout(const keymaster::HardwareAuthToken& hat } ndk::ScopedAStatus Session::close() { + LOG(INFO) << "close"; if (mCb) { mCb->onSessionClosed(); } + AIBinder_DeathRecipient_delete(mDeathRecipient); + mStateClosed = true; return ndk::ScopedAStatus::ok(); } diff --git a/biometrics/face/aidl/default/Session.h b/biometrics/face/aidl/default/Session.h index ce6e7f1b88..f79ad00ab6 100644 --- a/biometrics/face/aidl/default/Session.h +++ b/biometrics/face/aidl/default/Session.h @@ -33,6 +33,11 @@ namespace keymaster = aidl::android::hardware::keymaster; using aidl::android::hardware::common::NativeHandle; +enum class SessionState { + IDLING, + CLOSED, +}; + class Session : public BnSession { public: explicit Session(std::unique_ptr engine, std::shared_ptr cb); @@ -93,12 +98,28 @@ class Session : public BnSession { const FaceEnrollOptions& options, std::shared_ptr* out) override; + binder_status_t linkToDeath(AIBinder* binder); + + virtual std::string toString() const { + std::ostringstream os; + os << std::endl << "----- Face::Session:: -----" << std::endl; + os << "mStateClosed:" << mStateClosed << std::endl; + os << mEngine->toString(); + + return os.str(); + } + + bool isClosed() { return mStateClosed; } + private: std::unique_ptr mEngine; std::shared_ptr mCb; std::mt19937 mRandom; std::unique_ptr mThread; - std::shared_ptr mCancellationSignal; + + // Binder death handler. + AIBinder_DeathRecipient* mDeathRecipient; + bool mStateClosed; }; } // namespace aidl::android::hardware::biometrics::face From 850621640a05e872e6d980daaebe58763ae17c29 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Wed, 24 Jan 2024 19:23:19 +0000 Subject: [PATCH 118/198] Camera: ANAPIC AIDL feedback - In metadata comments, add reference source file where details can be found - Fix grammar in ICameraDeviceSession.aidl comments Bug: 318762864 Test: build Change-Id: Id0f88aacd60e9ae444a0f6d4a9dfca67f8d75eaa Signed-off-by: Jayant Chowdhary --- .../android/hardware/camera/device/ICameraDeviceSession.aidl | 4 ++-- .../hardware/camera/metadata/AutomotiveLensFacing.aidl | 1 + .../android/hardware/camera/metadata/AutomotiveLocation.aidl | 1 + .../aidl/android/hardware/camera/metadata/BlackLevelLock.aidl | 1 + .../camera/metadata/ColorCorrectionAberrationMode.aidl | 1 + .../android/hardware/camera/metadata/ColorCorrectionMode.aidl | 1 + .../hardware/camera/metadata/ControlAeAntibandingMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAeLock.aidl | 1 + .../hardware/camera/metadata/ControlAeLockAvailable.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAeMode.aidl | 1 + .../hardware/camera/metadata/ControlAePrecaptureTrigger.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAeState.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAfMode.aidl | 1 + .../hardware/camera/metadata/ControlAfSceneChange.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAfState.aidl | 1 + .../android/hardware/camera/metadata/ControlAfTrigger.aidl | 1 + .../android/hardware/camera/metadata/ControlAutoframing.aidl | 1 + .../hardware/camera/metadata/ControlAutoframingAvailable.aidl | 1 + .../hardware/camera/metadata/ControlAutoframingState.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAwbLock.aidl | 1 + .../hardware/camera/metadata/ControlAwbLockAvailable.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlAwbMode.aidl | 1 + .../android/hardware/camera/metadata/ControlAwbState.aidl | 1 + .../hardware/camera/metadata/ControlCaptureIntent.aidl | 1 + .../android/hardware/camera/metadata/ControlEffectMode.aidl | 1 + .../android/hardware/camera/metadata/ControlEnableZsl.aidl | 1 + .../hardware/camera/metadata/ControlExtendedSceneMode.aidl | 1 + .../hardware/camera/metadata/ControlLowLightBoostState.aidl | 1 + .../aidl/android/hardware/camera/metadata/ControlMode.aidl | 1 + .../android/hardware/camera/metadata/ControlSceneMode.aidl | 1 + .../hardware/camera/metadata/ControlSettingsOverride.aidl | 1 + .../camera/metadata/ControlVideoStabilizationMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/DemosaicMode.aidl | 1 + .../metadata/DepthAvailableDepthStreamConfigurations.aidl | 1 + ...thAvailableDepthStreamConfigurationsMaximumResolution.aidl | 1 + .../DepthAvailableDynamicDepthStreamConfigurations.aidl | 1 + ...ableDynamicDepthStreamConfigurationsMaximumResolution.aidl | 1 + .../hardware/camera/metadata/DepthDepthIsExclusive.aidl | 1 + .../hardware/camera/metadata/DistortionCorrectionMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/EdgeMode.aidl | 1 + .../android/hardware/camera/metadata/FlashInfoAvailable.aidl | 1 + .../aidl/android/hardware/camera/metadata/FlashMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/FlashState.aidl | 1 + .../metadata/HeicAvailableHeicStreamConfigurations.aidl | 1 + ...eicAvailableHeicStreamConfigurationsMaximumResolution.aidl | 1 + .../android/hardware/camera/metadata/HeicInfoSupported.aidl | 1 + .../aidl/android/hardware/camera/metadata/HotPixelMode.aidl | 1 + .../camera/metadata/InfoSupportedBufferManagementVersion.aidl | 1 + .../hardware/camera/metadata/InfoSupportedHardwareLevel.aidl | 1 + .../metadata/JpegrAvailableJpegRStreamConfigurations.aidl | 1 + ...grAvailableJpegRStreamConfigurationsMaximumResolution.aidl | 1 + .../android/hardware/camera/metadata/LedAvailableLeds.aidl | 1 + .../aidl/android/hardware/camera/metadata/LedTransmit.aidl | 1 + .../aidl/android/hardware/camera/metadata/LensFacing.aidl | 1 + .../camera/metadata/LensInfoFocusDistanceCalibration.aidl | 1 + .../camera/metadata/LensOpticalStabilizationMode.aidl | 1 + .../android/hardware/camera/metadata/LensPoseReference.aidl | 1 + .../aidl/android/hardware/camera/metadata/LensState.aidl | 1 + .../camera/metadata/LogicalMultiCameraSensorSyncType.aidl | 1 + .../android/hardware/camera/metadata/NoiseReductionMode.aidl | 1 + .../android/hardware/camera/metadata/QuirksPartialResult.aidl | 1 + .../camera/metadata/RequestAvailableCapabilities.aidl | 1 + .../metadata/RequestAvailableColorSpaceProfilesMap.aidl | 1 + .../metadata/RequestAvailableDynamicRangeProfilesMap.aidl | 1 + .../android/hardware/camera/metadata/RequestMetadataMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/RequestType.aidl | 1 + .../hardware/camera/metadata/ScalerAvailableFormats.aidl | 1 + .../ScalerAvailableRecommendedStreamConfigurations.aidl | 1 + .../camera/metadata/ScalerAvailableStreamConfigurations.aidl | 1 + .../ScalerAvailableStreamConfigurationsMaximumResolution.aidl | 1 + .../camera/metadata/ScalerAvailableStreamUseCases.aidl | 1 + .../android/hardware/camera/metadata/ScalerCroppingType.aidl | 1 + .../camera/metadata/ScalerMultiResolutionStreamSupported.aidl | 1 + ...alerPhysicalCameraMultiResolutionStreamConfigurations.aidl | 1 + .../android/hardware/camera/metadata/ScalerRotateAndCrop.aidl | 1 + .../camera/metadata/SensorInfoColorFilterArrangement.aidl | 1 + .../camera/metadata/SensorInfoLensShadingApplied.aidl | 1 + .../hardware/camera/metadata/SensorInfoTimestampSource.aidl | 1 + .../android/hardware/camera/metadata/SensorPixelMode.aidl | 1 + .../hardware/camera/metadata/SensorRawBinningFactorUsed.aidl | 1 + .../hardware/camera/metadata/SensorReadoutTimestamp.aidl | 3 ++- .../hardware/camera/metadata/SensorReferenceIlluminant1.aidl | 1 + .../hardware/camera/metadata/SensorTestPatternMode.aidl | 1 + .../aidl/android/hardware/camera/metadata/ShadingMode.aidl | 1 + .../hardware/camera/metadata/StatisticsFaceDetectMode.aidl | 1 + .../hardware/camera/metadata/StatisticsHistogramMode.aidl | 1 + .../hardware/camera/metadata/StatisticsHotPixelMapMode.aidl | 1 + .../camera/metadata/StatisticsLensShadingMapMode.aidl | 1 + .../hardware/camera/metadata/StatisticsOisDataMode.aidl | 1 + .../hardware/camera/metadata/StatisticsSceneFlicker.aidl | 1 + .../hardware/camera/metadata/StatisticsSharpnessMapMode.aidl | 1 + .../android/hardware/camera/metadata/SyncFrameNumber.aidl | 1 + .../aidl/android/hardware/camera/metadata/SyncMaxLatency.aidl | 1 + .../aidl/android/hardware/camera/metadata/TonemapMode.aidl | 1 + .../android/hardware/camera/metadata/TonemapPresetCurve.aidl | 1 + 95 files changed, 97 insertions(+), 3 deletions(-) diff --git a/camera/device/aidl/android/hardware/camera/device/ICameraDeviceSession.aidl b/camera/device/aidl/android/hardware/camera/device/ICameraDeviceSession.aidl index ffc1a11e5b..62a19cff93 100644 --- a/camera/device/aidl/android/hardware/camera/device/ICameraDeviceSession.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ICameraDeviceSession.aidl @@ -89,12 +89,12 @@ interface ICameraDeviceSession { * with processCaptureResult (and its respective releaseFence has been * signaled) the framework may free or reuse it at any time. * - * This method wil only be called by the framework if + * This method must only be called by the framework if * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION is either not advertised or is * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_AIDL. If the value of * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION is * ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE, configureStreamsV2 - * will be called instead. + * must be called instead. * * ------------------------------------------------------------------------ * diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLensFacing.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLensFacing.aidl index 8cd222948c..19822fcf6e 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLensFacing.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLensFacing.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.automotive.lens.facing enumeration values * @see ANDROID_AUTOMOTIVE_LENS_FACING + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLocation.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLocation.aidl index 0ef64b4c43..6c3edbe677 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLocation.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/AutomotiveLocation.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.automotive.location enumeration values * @see ANDROID_AUTOMOTIVE_LOCATION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/BlackLevelLock.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/BlackLevelLock.aidl index 4746cf3e4d..8d3443a9b4 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/BlackLevelLock.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/BlackLevelLock.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.blackLevel.lock enumeration values * @see ANDROID_BLACK_LEVEL_LOCK + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl index 890ac0eac0..a0f6c83bb1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.colorCorrection.aberrationMode enumeration values * @see ANDROID_COLOR_CORRECTION_ABERRATION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionMode.aidl index 080ca027f6..2a51bfcfc0 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ColorCorrectionMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.colorCorrection.mode enumeration values * @see ANDROID_COLOR_CORRECTION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl index 8a2f501d81..47f7ebf1f4 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aeAntibandingMode enumeration values * @see ANDROID_CONTROL_AE_ANTIBANDING_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLock.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLock.aidl index ab56fdc5f2..e226ac0a2c 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLock.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLock.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aeLock enumeration values * @see ANDROID_CONTROL_AE_LOCK + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLockAvailable.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLockAvailable.aidl index b846fc182a..a62cd27b65 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLockAvailable.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeLockAvailable.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aeLockAvailable enumeration values * @see ANDROID_CONTROL_AE_LOCK_AVAILABLE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeMode.aidl index 70174bed27..9f7aaaea99 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aeMode enumeration values * @see ANDROID_CONTROL_AE_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl index 2229712d9a..5275cd1ca1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aePrecaptureTrigger enumeration values * @see ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeState.aidl index af8c2cf38d..ffdf7d403f 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAeState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.aeState enumeration values * @see ANDROID_CONTROL_AE_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfMode.aidl index 344f2de3f9..cff3a258e7 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.afMode enumeration values * @see ANDROID_CONTROL_AF_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfSceneChange.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfSceneChange.aidl index 153611a028..dce31dede0 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfSceneChange.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfSceneChange.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.afSceneChange enumeration values * @see ANDROID_CONTROL_AF_SCENE_CHANGE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfState.aidl index 2c8d60201b..cbdc28f53a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.afState enumeration values * @see ANDROID_CONTROL_AF_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfTrigger.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfTrigger.aidl index b68d4c7528..0c82b25fb8 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfTrigger.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAfTrigger.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.afTrigger enumeration values * @see ANDROID_CONTROL_AF_TRIGGER + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframing.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframing.aidl index 0fef3735b1..ba184912e4 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframing.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframing.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.autoframing enumeration values * @see ANDROID_CONTROL_AUTOFRAMING + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl index da0d34894d..fd45647be1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.autoframingAvailable enumeration values * @see ANDROID_CONTROL_AUTOFRAMING_AVAILABLE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingState.aidl index 13183a5314..9ac200ab3a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAutoframingState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.autoframingState enumeration values * @see ANDROID_CONTROL_AUTOFRAMING_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLock.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLock.aidl index f7229f2034..a1e6a79c2a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLock.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLock.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.awbLock enumeration values * @see ANDROID_CONTROL_AWB_LOCK + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl index 0cb6ebed7f..4a69f87e79 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.awbLockAvailable enumeration values * @see ANDROID_CONTROL_AWB_LOCK_AVAILABLE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbMode.aidl index 2f9b801eec..043841a1ae 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.awbMode enumeration values * @see ANDROID_CONTROL_AWB_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbState.aidl index 1a93191487..835d299d21 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlAwbState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.awbState enumeration values * @see ANDROID_CONTROL_AWB_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlCaptureIntent.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlCaptureIntent.aidl index 132d98c1d7..1cd5467117 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlCaptureIntent.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlCaptureIntent.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.captureIntent enumeration values * @see ANDROID_CONTROL_CAPTURE_INTENT + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlEffectMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlEffectMode.aidl index 1668cb390b..f4586c2d32 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlEffectMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlEffectMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.effectMode enumeration values * @see ANDROID_CONTROL_EFFECT_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlEnableZsl.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlEnableZsl.aidl index a83c05164c..6fffa5e9d3 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlEnableZsl.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlEnableZsl.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.enableZsl enumeration values * @see ANDROID_CONTROL_ENABLE_ZSL + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl index 2fe66cffd7..b95a4f5972 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.extendedSceneMode enumeration values * @see ANDROID_CONTROL_EXTENDED_SCENE_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlLowLightBoostState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlLowLightBoostState.aidl index 67591c8067..19be8fcc29 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlLowLightBoostState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlLowLightBoostState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.lowLightBoostState enumeration values * @see ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlMode.aidl index d9ab9ab10a..b964d45d47 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.mode enumeration values * @see ANDROID_CONTROL_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlSceneMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlSceneMode.aidl index 0f90aaad2b..f5c0a4afed 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlSceneMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlSceneMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.sceneMode enumeration values * @see ANDROID_CONTROL_SCENE_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlSettingsOverride.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlSettingsOverride.aidl index d97f7c83ac..d0ee99271e 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlSettingsOverride.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlSettingsOverride.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.settingsOverride enumeration values * @see ANDROID_CONTROL_SETTINGS_OVERRIDE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl index 497846c71f..94cc62650a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.control.videoStabilizationMode enumeration values * @see ANDROID_CONTROL_VIDEO_STABILIZATION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DemosaicMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DemosaicMode.aidl index 7d8cdcf588..0c389aa092 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DemosaicMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DemosaicMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.demosaic.mode enumeration values * @see ANDROID_DEMOSAIC_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl index 7deb350045..3cc882b374 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.depth.availableDepthStreamConfigurations enumeration values * @see ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl index 5d06be1782..658f3bb428 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.depth.availableDepthStreamConfigurationsMaximumResolution enumeration values * @see ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl index 39a99b963e..1ec3d115ab 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.depth.availableDynamicDepthStreamConfigurations enumeration values * @see ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl index 30ea9b71b5..b0ad00e334 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.depth.availableDynamicDepthStreamConfigurationsMaximumResolution enumeration values * @see ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl index 4af81d9c89..de31b41ad5 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.depth.depthIsExclusive enumeration values * @see ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/DistortionCorrectionMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/DistortionCorrectionMode.aidl index 3456207757..fbf7abb9ce 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/DistortionCorrectionMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/DistortionCorrectionMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.distortionCorrection.mode enumeration values * @see ANDROID_DISTORTION_CORRECTION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/EdgeMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/EdgeMode.aidl index 1e155233a3..81bd04c779 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/EdgeMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/EdgeMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.edge.mode enumeration values * @see ANDROID_EDGE_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/FlashInfoAvailable.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/FlashInfoAvailable.aidl index 05280377c7..b938d82f69 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/FlashInfoAvailable.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/FlashInfoAvailable.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.flash.info.available enumeration values * @see ANDROID_FLASH_INFO_AVAILABLE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/FlashMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/FlashMode.aidl index e17559699d..b279c44448 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/FlashMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/FlashMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.flash.mode enumeration values * @see ANDROID_FLASH_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/FlashState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/FlashState.aidl index fc398f8f06..b029566760 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/FlashState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/FlashState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.flash.state enumeration values * @see ANDROID_FLASH_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl index fc9b6ecc4f..c31cfbaa26 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.heic.availableHeicStreamConfigurations enumeration values * @see ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl index 13b50ab5ad..bf5d92ede8 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.heic.availableHeicStreamConfigurationsMaximumResolution enumeration values * @see ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/HeicInfoSupported.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/HeicInfoSupported.aidl index c4e04f1ac0..88825e6e15 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/HeicInfoSupported.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/HeicInfoSupported.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.heic.info.supported enumeration values * @see ANDROID_HEIC_INFO_SUPPORTED + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/HotPixelMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/HotPixelMode.aidl index 7b7aa215a9..bd995690d9 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/HotPixelMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/HotPixelMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.hotPixel.mode enumeration values * @see ANDROID_HOT_PIXEL_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl index 964d07903c..a84f3cc11c 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.info.supportedBufferManagementVersion enumeration values * @see ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl index f242009943..0ea628733f 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.info.supportedHardwareLevel enumeration values * @see ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl index 911a062355..834ed5da46 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.jpegr.availableJpegRStreamConfigurations enumeration values * @see ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl index 9e78662b5b..eb0d84780d 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.jpegr.availableJpegRStreamConfigurationsMaximumResolution enumeration values * @see ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LedAvailableLeds.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LedAvailableLeds.aidl index f26fcde890..ba564c491f 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LedAvailableLeds.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LedAvailableLeds.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.led.availableLeds enumeration values * @see ANDROID_LED_AVAILABLE_LEDS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LedTransmit.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LedTransmit.aidl index 62c9bd7875..f8b40cafb8 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LedTransmit.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LedTransmit.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.led.transmit enumeration values * @see ANDROID_LED_TRANSMIT + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LensFacing.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LensFacing.aidl index 0677ea9372..fa9cb149f2 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LensFacing.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LensFacing.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.lens.facing enumeration values * @see ANDROID_LENS_FACING + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl index 1c82bb03e4..2060e9729d 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.lens.info.focusDistanceCalibration enumeration values * @see ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl index e350e1599d..03f8711fc0 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.lens.opticalStabilizationMode enumeration values * @see ANDROID_LENS_OPTICAL_STABILIZATION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LensPoseReference.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LensPoseReference.aidl index 3e6034b067..124c670077 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LensPoseReference.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LensPoseReference.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.lens.poseReference enumeration values * @see ANDROID_LENS_POSE_REFERENCE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LensState.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LensState.aidl index 0e5a04c45c..216bfb174c 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LensState.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LensState.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.lens.state enumeration values * @see ANDROID_LENS_STATE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl index 623a15cc0f..ee6a1a0e8a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.logicalMultiCamera.sensorSyncType enumeration values * @see ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/NoiseReductionMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/NoiseReductionMode.aidl index 947361d41c..7303512f3e 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/NoiseReductionMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/NoiseReductionMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.noiseReduction.mode enumeration values * @see ANDROID_NOISE_REDUCTION_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/QuirksPartialResult.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/QuirksPartialResult.aidl index 15a79b0969..3af9f858b1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/QuirksPartialResult.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/QuirksPartialResult.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.quirks.partialResult enumeration values * @see ANDROID_QUIRKS_PARTIAL_RESULT + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl index ebe0b4c4a3..a8e5fe0cb4 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.request.availableCapabilities enumeration values * @see ANDROID_REQUEST_AVAILABLE_CAPABILITIES + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl index b397dea8d2..ee36480379 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.request.availableColorSpaceProfilesMap enumeration values * @see ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="long") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl index f04fae3e43..d7598d6387 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.request.availableDynamicRangeProfilesMap enumeration values * @see ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="long") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/RequestMetadataMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/RequestMetadataMode.aidl index 37d40957e5..d526393105 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/RequestMetadataMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/RequestMetadataMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.request.metadataMode enumeration values * @see ANDROID_REQUEST_METADATA_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/RequestType.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/RequestType.aidl index 5010a37c93..a8c97cb1b7 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/RequestType.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/RequestType.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.request.type enumeration values * @see ANDROID_REQUEST_TYPE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableFormats.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableFormats.aidl index a8e67bbab9..fb42654d56 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableFormats.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableFormats.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.availableFormats enumeration values * @see ANDROID_SCALER_AVAILABLE_FORMATS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl index 57c398928a..7498abf0b1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.availableRecommendedStreamConfigurations enumeration values * @see ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl index 2b493ae6eb..66599ae521 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.availableStreamConfigurations enumeration values * @see ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl index 4f6cb5eedc..ec9c5db454 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.availableStreamConfigurationsMaximumResolution enumeration values * @see ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl index da27a48e32..eed16fa556 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.availableStreamUseCases enumeration values * @see ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="long") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerCroppingType.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerCroppingType.aidl index e44eff16e4..bf3672dae8 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerCroppingType.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerCroppingType.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.croppingType enumeration values * @see ANDROID_SCALER_CROPPING_TYPE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl index f7cbc0fe16..d75aa7d04d 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.multiResolutionStreamSupported enumeration values * @see ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl index 9427854a63..c725572e67 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.physicalCameraMultiResolutionStreamConfigurations enumeration values * @see ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl index 905015374c..b49dec0c4c 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.scaler.rotateAndCrop enumeration values * @see ANDROID_SCALER_ROTATE_AND_CROP + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl index 59a4038ea0..1d8190c9e1 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.info.colorFilterArrangement enumeration values * @see ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl index 8892ad33d1..c5169af328 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.info.lensShadingApplied enumeration values * @see ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl index 2a5860b023..de65ef754e 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.info.timestampSource enumeration values * @see ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorPixelMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorPixelMode.aidl index 3dda07ba1e..a76e479565 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorPixelMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorPixelMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.pixelMode enumeration values * @see ANDROID_SENSOR_PIXEL_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl index 20e92e4311..8b421bac67 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.rawBinningFactorUsed enumeration values * @see ANDROID_SENSOR_RAW_BINNING_FACTOR_USED + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl index 1678515a69..f5ab3691ba 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl @@ -1,5 +1,5 @@ /* - * Copyright (C) 2024 The Android Open Source Project + * 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. @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.readoutTimestamp enumeration values * @see ANDROID_SENSOR_READOUT_TIMESTAMP + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl index c8c92167d5..a0a3a40664 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.referenceIlluminant1 enumeration values * @see ANDROID_SENSOR_REFERENCE_ILLUMINANT1 + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SensorTestPatternMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SensorTestPatternMode.aidl index 29aede4bbc..4ad05032e7 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SensorTestPatternMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SensorTestPatternMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sensor.testPatternMode enumeration values * @see ANDROID_SENSOR_TEST_PATTERN_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/ShadingMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/ShadingMode.aidl index 6939b72fdc..20801957a8 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/ShadingMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/ShadingMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.shading.mode enumeration values * @see ANDROID_SHADING_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl index 0d177919d6..55d79cd400 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.faceDetectMode enumeration values * @see ANDROID_STATISTICS_FACE_DETECT_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHistogramMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHistogramMode.aidl index a9b6f68dad..de1cfee964 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHistogramMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHistogramMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.histogramMode enumeration values * @see ANDROID_STATISTICS_HISTOGRAM_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl index 286291a851..b81a7cde36 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.hotPixelMapMode enumeration values * @see ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl index d21b2227f9..3a91c71d21 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.lensShadingMapMode enumeration values * @see ANDROID_STATISTICS_LENS_SHADING_MAP_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsOisDataMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsOisDataMode.aidl index afb281f909..42801ed4c3 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsOisDataMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsOisDataMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.oisDataMode enumeration values * @see ANDROID_STATISTICS_OIS_DATA_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl index da2402af07..371e9fb031 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.sceneFlicker enumeration values * @see ANDROID_STATISTICS_SCENE_FLICKER + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl index ed6c65ccb3..487e8ace3a 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.statistics.sharpnessMapMode enumeration values * @see ANDROID_STATISTICS_SHARPNESS_MAP_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SyncFrameNumber.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SyncFrameNumber.aidl index e33319e3d0..148718decd 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SyncFrameNumber.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SyncFrameNumber.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sync.frameNumber enumeration values * @see ANDROID_SYNC_FRAME_NUMBER + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/SyncMaxLatency.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/SyncMaxLatency.aidl index cb0668fcab..7df4ff0fd7 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/SyncMaxLatency.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/SyncMaxLatency.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.sync.maxLatency enumeration values * @see ANDROID_SYNC_MAX_LATENCY + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/TonemapMode.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/TonemapMode.aidl index d4b7e0ebce..ed53060848 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/TonemapMode.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/TonemapMode.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.tonemap.mode enumeration values * @see ANDROID_TONEMAP_MODE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") diff --git a/camera/metadata/aidl/android/hardware/camera/metadata/TonemapPresetCurve.aidl b/camera/metadata/aidl/android/hardware/camera/metadata/TonemapPresetCurve.aidl index 2da3704348..c6fed00e6f 100644 --- a/camera/metadata/aidl/android/hardware/camera/metadata/TonemapPresetCurve.aidl +++ b/camera/metadata/aidl/android/hardware/camera/metadata/TonemapPresetCurve.aidl @@ -25,6 +25,7 @@ package android.hardware.camera.metadata; /** * android.tonemap.presetCurve enumeration values * @see ANDROID_TONEMAP_PRESET_CURVE + * See system/media/camera/docs/metadata_definitions.xml for details. */ @VintfStability @Backing(type="int") From 92f705cee51938f485b3a8ca1e09910761f7eac0 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Fri, 19 Jan 2024 22:22:01 +0000 Subject: [PATCH 119/198] Use onUnlinked in health HAL It's possible to get an onBinderDied callback after a call to AIBinder_unlinkToDeath() so we can't delete the objects in callbacks_ until we are done using the void* cookie. Handling the cleanup in onBinderUnlinked will handle the case where we manually unlink it as well as the case where it's unlinked due to death. Test: atest VtsHalHealthTargetTest Bug: 319210610 Change-Id: Iee4783217cc88134af6de0fe66128684ca984dba --- health/aidl/default/Health.cpp | 34 ++++++++++++++----- health/aidl/default/LinkedCallback.cpp | 26 +++++--------- health/aidl/default/LinkedCallback.h | 17 +++------- .../aidl/default/include/health-impl/Health.h | 3 +- 4 files changed, 41 insertions(+), 39 deletions(-) diff --git a/health/aidl/default/Health.cpp b/health/aidl/default/Health.cpp index 8174bc8ea4..37662eacf3 100644 --- a/health/aidl/default/Health.cpp +++ b/health/aidl/default/Health.cpp @@ -36,6 +36,11 @@ void OnCallbackDiedWrapped(void* cookie) { LinkedCallback* linked = reinterpret_cast(cookie); linked->OnCallbackDied(); } +// Delete the owned cookie. +void onCallbackUnlinked(void* cookie) { + LinkedCallback* linked = reinterpret_cast(cookie); + delete linked; +} } // namespace /* @@ -57,6 +62,7 @@ Health::Health(std::string_view instance_name, std::unique_ptr lock(callbacks_lock_); - auto matches = [callback](const auto& linked) { - return linked->callback()->asBinder() == callback->asBinder(); // compares binder object + auto matches = [callback](const auto& cb) { + return cb->asBinder() == callback->asBinder(); // compares binder object }; - auto it = std::remove_if(callbacks_.begin(), callbacks_.end(), matches); - bool removed = (it != callbacks_.end()); - callbacks_.erase(it, callbacks_.end()); // calls unlinkToDeath on deleted callbacks. + bool removed = false; + for (auto it = callbacks_.begin(); it != callbacks_.end();) { + if (it->second->asBinder() == callback->asBinder()) { + auto status = AIBinder_unlinkToDeath(callback->asBinder().get(), death_recipient_.get(), + reinterpret_cast(it->first)); + if (status != STATUS_OK && status != STATUS_DEAD_OBJECT) { + LOG(WARNING) << __func__ + << "Cannot unlink to death: " << ::android::statusToString(status); + } + it = callbacks_.erase(it); + removed = true; + } else { + it++; + } + } return removed ? ndk::ScopedAStatus::ok() : ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } @@ -347,8 +365,8 @@ ndk::ScopedAStatus Health::update() { void Health::OnHealthInfoChanged(const HealthInfo& health_info) { // Notify all callbacks std::unique_lock lock(callbacks_lock_); - for (const auto& linked : callbacks_) { - auto res = linked->callback()->healthInfoChanged(health_info); + for (const auto& [_, callback] : callbacks_) { + auto res = callback->healthInfoChanged(health_info); if (!res.isOk()) { LOG(DEBUG) << "Cannot call healthInfoChanged:" << res.getDescription() << ". Do nothing here if callback is dead as it will be cleaned up later."; diff --git a/health/aidl/default/LinkedCallback.cpp b/health/aidl/default/LinkedCallback.cpp index 26e99f95d3..df471a37bd 100644 --- a/health/aidl/default/LinkedCallback.cpp +++ b/health/aidl/default/LinkedCallback.cpp @@ -24,35 +24,24 @@ namespace aidl::android::hardware::health { -::android::base::Result> LinkedCallback::Make( +::android::base::Result LinkedCallback::Make( std::shared_ptr service, std::shared_ptr callback) { - std::unique_ptr ret(new LinkedCallback()); + LinkedCallback* ret(new LinkedCallback()); + // pass ownership of this object to the death recipient binder_status_t linkRet = AIBinder_linkToDeath(callback->asBinder().get(), service->death_recipient_.get(), - reinterpret_cast(ret.get())); + reinterpret_cast(ret)); if (linkRet != ::STATUS_OK) { LOG(WARNING) << __func__ << "Cannot link to death: " << linkRet; return ::android::base::Error(-linkRet); } ret->service_ = service; - ret->callback_ = std::move(callback); + ret->callback_ = callback; return ret; } LinkedCallback::LinkedCallback() = default; -LinkedCallback::~LinkedCallback() { - if (callback_ == nullptr) { - return; - } - auto status = - AIBinder_unlinkToDeath(callback_->asBinder().get(), service()->death_recipient_.get(), - reinterpret_cast(this)); - if (status != STATUS_OK && status != STATUS_DEAD_OBJECT) { - LOG(WARNING) << __func__ << "Cannot unlink to death: " << ::android::statusToString(status); - } -} - std::shared_ptr LinkedCallback::service() { auto service_sp = service_.lock(); CHECK_NE(nullptr, service_sp); @@ -60,7 +49,10 @@ std::shared_ptr LinkedCallback::service() { } void LinkedCallback::OnCallbackDied() { - service()->unregisterCallback(callback_); + auto sCb = callback_.lock(); + if (sCb) { + service()->unregisterCallback(sCb); + } } } // namespace aidl::android::hardware::health diff --git a/health/aidl/default/LinkedCallback.h b/health/aidl/default/LinkedCallback.h index da494c9191..8c9c997302 100644 --- a/health/aidl/default/LinkedCallback.h +++ b/health/aidl/default/LinkedCallback.h @@ -32,19 +32,10 @@ namespace aidl::android::hardware::health { class LinkedCallback { public: // Automatically linkToDeath upon construction with the returned object as the cookie. - // service->death_reciepient() should be from CreateDeathRecipient(). - // Not using a strong reference to |service| to avoid circular reference. The lifetime - // of |service| must be longer than this LinkedCallback object. - static ::android::base::Result> Make( + // The deathRecipient owns the LinkedCallback object and will delete it with + // cookie when it's unlinked. + static ::android::base::Result Make( std::shared_ptr service, std::shared_ptr callback); - - // Automatically unlinkToDeath upon destruction. So, it is always safe to reinterpret_cast - // the cookie back to the LinkedCallback object. - ~LinkedCallback(); - - // The wrapped IHealthInfoCallback object. - const std::shared_ptr& callback() const { return callback_; } - // On callback died, unreigster it from the service. void OnCallbackDied(); @@ -55,7 +46,7 @@ class LinkedCallback { std::shared_ptr service(); std::weak_ptr service_; - std::shared_ptr callback_; + std::weak_ptr callback_; }; } // namespace aidl::android::hardware::health diff --git a/health/aidl/default/include/health-impl/Health.h b/health/aidl/default/include/health-impl/Health.h index dc3a0ef8fe..429ae2ab96 100644 --- a/health/aidl/default/include/health-impl/Health.h +++ b/health/aidl/default/include/health-impl/Health.h @@ -16,6 +16,7 @@ #pragma once +#include #include #include @@ -112,7 +113,7 @@ class Health : public BnHealth, public HalHealthLoopCallback { ndk::ScopedAIBinder_DeathRecipient death_recipient_; int binder_fd_ = -1; std::mutex callbacks_lock_; - std::vector> callbacks_; + std::map> callbacks_; }; } // namespace aidl::android::hardware::health From b9e34c718e4c077282ff50ba79e704d9d72dd7b7 Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 14:17:45 -0800 Subject: [PATCH 120/198] Add ULTRASONICS_SENSOR_POSITION to emulator defaults. Flag android_vic_vehicle_properties needs to be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: I4fe29258193138008155857c7a6fe7ae8367ef70 --- .../config/DefaultProperties.json | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 56d8b4bccb..0fd8c2389e 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3455,6 +3455,145 @@ ] } }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_POSITION", + "comment": + "Default values for 12 individual ultrasonic sensors installed on the vehicle. Six sensors on the front bumper. Six sensors on the back bumper.", + "areas": [ + { + "defaultValue": { + "int32Values": [ + -1000, + 3900, + 0 + ] + }, + "areaId": 1, + "comment": "Rough numbers representing front left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + -600, + 4000, + 0 + ] + }, + "areaId": 2, + "comment": "Rough numbers representing front 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + -200, + 4000, + 0 + ] + }, + "areaId": 4, + "comment": "Rough numbers representing front 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 200, + 4000, + 0 + ] + }, + "areaId": 8, + "comment": "Rough numbers representing front 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 600, + 4000, + 0 + ] + }, + "areaId": 16, + "comment": "Rough numbers representing front 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 1000, + 3900, + 0 + ] + }, + "areaId": 32, + "comment": "Rough numbers representing front right most sensor." + }, + { + "defaultValue": { + "int32Values": [ + -1000, + -900, + 0 + ] + }, + "areaId": 64, + "comment": "Rough numbers representing back left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + -600, + -1000, + 0 + ] + }, + "areaId": 128, + "comment": "Rough numbers representing back 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + -200, + -1000, + 0 + ] + }, + "areaId": 256, + "comment": "Rough numbers representing back 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 200, + -1000, + 0 + ] + }, + "areaId": 512, + "comment": "Rough numbers representing back 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 600, + -1000, + 0 + ] + }, + "areaId": 1024, + "comment": "Rough numbers representing back 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 1000, + -900, + 0 + ] + }, + "areaId": 2048, + "comment": "Rough numbers representing back right most sensor." + } + ] + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From ead15a23bc1d8c328d31035ae8c8356d8792fb22 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 24 Jan 2024 16:14:21 -0800 Subject: [PATCH 121/198] Add retry in setProp test. Set property operation is async so getting the property value immediately after setting the property might not return the new value. This CL adds the logic to retry when we do not get the expected values back. This CL also skips the test case if getting property or setting property returns unavailable. Test: atest VtsHalAutomotiveVehicle_TargetTest Bug: 322070490 Change-Id: If9349a097a92c51101c7b5f4bf807b610ab2cb0b --- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 78 ++++++++++++++++++- 1 file changed, 75 insertions(+), 3 deletions(-) diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index f8ddfaa9cf..1c1504fba1 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -48,9 +48,11 @@ using ::aidl::android::hardware::automotive::vehicle::VehicleProperty; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyChangeMode; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup; +using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyStatus; using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType; using ::aidl::android::hardware::automotive::vehicle::VersionForVehicleProperty; using ::android::getAidlHalInstanceNames; +using ::android::uptimeMillis; using ::android::base::ScopedLockAssertion; using ::android::base::StringPrintf; using ::android::frameworks::automotive::vhal::ErrorCode; @@ -59,6 +61,7 @@ using ::android::frameworks::automotive::vhal::IHalPropConfig; using ::android::frameworks::automotive::vhal::IHalPropValue; using ::android::frameworks::automotive::vhal::ISubscriptionCallback; using ::android::frameworks::automotive::vhal::IVhalClient; +using ::android::frameworks::automotive::vhal::VhalClientResult; using ::android::hardware::getAllHalInstanceNames; using ::android::hardware::Sanitize; using ::android::hardware::automotive::vehicle::isSystemProp; @@ -67,6 +70,8 @@ using ::android::hardware::automotive::vehicle::toInt; using ::testing::Ge; constexpr int32_t kInvalidProp = 0x31600207; +// The timeout for retrying getting prop value after setting prop value. +constexpr int64_t kRetryGetPropAfterSetPropTimeoutMillis = 10'000; struct ServiceDescriptor { std::string name; @@ -124,6 +129,10 @@ class VtsHalAutomotiveVehicleTargetTest : public testing::TestWithParam>& result); + static bool isResultOkayWithValue( + const VhalClientResult>& result, int32_t value); + public: void verifyProperty(VehicleProperty propId, VehiclePropertyAccess access, VehiclePropertyChangeMode changeMode, VehiclePropertyGroup group, @@ -269,6 +278,30 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, getInvalidProp) { "Expect failure to get property for invalid prop: %" PRId32, kInvalidProp); } +bool VtsHalAutomotiveVehicleTargetTest::isResultOkayWithValue( + const VhalClientResult>& result, int32_t value) { + return result.ok() && result.value() != nullptr && + result.value()->getStatus() == VehiclePropertyStatus::AVAILABLE && + result.value()->getInt32Values().size() == 1 && + result.value()->getInt32Values()[0] == value; +} + +bool VtsHalAutomotiveVehicleTargetTest::isUnavailable( + const VhalClientResult>& result) { + if (result.ok()) { + return false; + } + if (result.error().code() == ErrorCode::NOT_AVAILABLE_FROM_VHAL) { + return true; + } + if (result.value() != nullptr && + result.value()->getStatus() == VehiclePropertyStatus::UNAVAILABLE) { + return true; + } + + return false; +} + // Test set() on read_write properties. TEST_P(VtsHalAutomotiveVehicleTargetTest, setProp) { ALOGD("VtsHalAutomotiveVehicleTargetTest::setProp"); @@ -296,6 +329,14 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, setProp) { auto propToGet = mVhalClient->createHalPropValue(propId); auto getValueResult = mVhalClient->getValueSync(*propToGet); + if (isUnavailable(getValueResult)) { + ALOGW("getProperty for %" PRId32 + " returns NOT_AVAILABLE, " + "skip testing setProp", + propId); + return; + } + ASSERT_TRUE(getValueResult.ok()) << StringPrintf("Failed to get value for property: %" PRId32 ", error: %s", propId, getValueResult.error().message().c_str()); @@ -308,17 +349,48 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, setProp) { "Expect exactly 1 int value for boolean property: %" PRId32 ", got %zu", propId, intValueSize); - int setValue = value.getInt32Values()[0] == 1 ? 0 : 1; + int32_t setValue = value.getInt32Values()[0] == 1 ? 0 : 1; auto propToSet = mVhalClient->createHalPropValue(propId); propToSet->setInt32Values({setValue}); auto setValueResult = mVhalClient->setValueSync(*propToSet); + if (!setValueResult.ok() && + setValueResult.error().code() == ErrorCode::NOT_AVAILABLE_FROM_VHAL) { + ALOGW("setProperty for %" PRId32 + " returns NOT_AVAILABLE, " + "skip verifying getProperty returns the same value", + propId); + return; + } + ASSERT_TRUE(setValueResult.ok()) << StringPrintf("Failed to set value for property: %" PRId32 ", error: %s", propId, setValueResult.error().message().c_str()); + // Retry getting the value until we pass the timeout. getValue might not return + // the expected value immediately since setValue is async. + auto timeoutMillis = uptimeMillis() + kRetryGetPropAfterSetPropTimeoutMillis; + + while (true) { + getValueResult = mVhalClient->getValueSync(*propToGet); + if (isResultOkayWithValue(getValueResult, setValue)) { + break; + } + if (uptimeMillis() >= timeoutMillis) { + // Reach timeout, the following assert should fail. + break; + } + // Sleep for 100ms between each getValueSync retry. + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } + + if (isUnavailable(getValueResult)) { + ALOGW("getProperty for %" PRId32 + " returns NOT_AVAILABLE, " + "skip verifying the return value", + propId); + return; + } - // check set success - getValueResult = mVhalClient->getValueSync(*propToGet); ASSERT_TRUE(getValueResult.ok()) << StringPrintf("Failed to get value for property: %" PRId32 ", error: %s", propId, getValueResult.error().message().c_str()); From 8818f193db2d60a50039ede7a7031c638a479261 Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Thu, 25 Jan 2024 18:21:43 -0800 Subject: [PATCH 122/198] Change ULTRASONICS_SENSOR_ORIENTATION hal from int32_vec to float_vec. Bug: 292141998 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: Ifec1f9684b9263c20e2ded2036eea7721e4fd96d --- .../android/hardware/automotive/vehicle/VehicleProperty.aidl | 2 +- .../android/hardware/automotive/vehicle/VehicleProperty.aidl | 2 +- .../vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index 52876d15bb..2e25466886 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -199,7 +199,7 @@ enum VehicleProperty { VEHICLE_MAP_SERVICE = (((0x0C00 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299895808 */, LOCATION_CHARACTERIZATION = (((0x0C10 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410064 */, ULTRASONICS_SENSOR_POSITION = (((0x0C20 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916128 */, - ULTRASONICS_SENSOR_ORIENTATION = (((0x0C21 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916129 */, + ULTRASONICS_SENSOR_ORIENTATION = (((0x0C21 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.FLOAT_VEC) /* 409013281 */, ULTRASONICS_SENSOR_FIELD_OF_VIEW = (((0x0C22 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916130 */, ULTRASONICS_SENSOR_DETECTION_RANGE = (((0x0C23 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916131 */, ULTRASONICS_SENSOR_SUPPORTED_RANGES = (((0x0C24 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916132 */, diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 026c040139..693d656cf1 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -3561,7 +3561,7 @@ enum VehicleProperty { * @version 3 */ ULTRASONICS_SENSOR_ORIENTATION = 0x0C21 + VehiclePropertyGroup.SYSTEM + VehicleArea.VENDOR - + VehiclePropertyType.INT32_VEC, + + VehiclePropertyType.FLOAT_VEC, /** * Static data for the field of view of each ultrasonic sensor in degrees. diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index f8ddfaa9cf..0bc1dbbb74 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -598,7 +598,7 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyUltrasonicsSensorPositionConfig) TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyUltrasonicsSensorOrientationConfig) { verifyProperty(VehicleProperty::ULTRASONICS_SENSOR_ORIENTATION, VehiclePropertyAccess::READ, VehiclePropertyChangeMode::STATIC, VehiclePropertyGroup::SYSTEM, - VehicleArea::VENDOR, VehiclePropertyType::INT32_VEC); + VehicleArea::VENDOR, VehiclePropertyType::FLOAT_VEC); } TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyUltrasonicsSensorFieldOfViewConfig) { From 984293ed7d7178914ee244288476fd0f555d5aba Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 14:47:07 -0800 Subject: [PATCH 123/198] Add ULTRASONICS_SENSOR_ORIENTATION to emulator defaults. Flag android_vic_vehicle_properties needs to be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: I424eed0fbbde04976893b5867ff41ff586c172ce --- .../config/DefaultProperties.json | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 0fd8c2389e..8be040bd79 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3594,6 +3594,169 @@ } ] }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_ORIENTATION", + "comment": + "Default values for 12 individual ultrasonic sensors installed on the vehicle. Six sensors on the front bumper. Six sensors on the back bumper.", + "areas": [ + { + "defaultValue": { + "floatValues": [ + 0.924, + 0, + 0, + 0.383 + ] + }, + "areaId": 1, + "comment": + "Rough quaternion values [w, x, y, z] representing front left most sensor rotated 45 degrees counter-clockwise." + }, + { + "defaultValue": { + "floatValues": [ + 1, + 0, + 0, + 0 + ] + }, + "areaId": 2, + "comment": + "Rough quaternion values [w, x, y, z] representing front 2nd to the left sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 1, + 0, + 0, + 0 + ] + }, + "areaId": 4, + "comment": + "Rough quaternion values [w, x, y, z] representing front 3rd to the left sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 1, + 0, + 0, + 0 + ] + }, + "areaId": 8, + "comment": + "Rough quaternion values [w, x, y, z] representing front 3rd to the right sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 1, + 0, + 0, + 0 + ] + }, + "areaId": 16, + "comment": + "Rough quaternion values [w, x, y, z] representing front 2nd to the right sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 0.924, + 0, + 0, + -0.383 + ] + }, + "areaId": 32, + "comment": + "Rough quaternion values [w, x, y, z] representing front right most sensor rotated 45 degrees clockwise." + }, + { + "defaultValue": { + "floatValues": [ + 60, + 61, + 62, + 63 + ] + }, + "areaId": 64, + "comment": + "Rough quaternion values [w, x, y, z] representing back left most sensor rotated 45 degrees counter-clockwise." + }, + { + "defaultValue": { + "floatValues": [ + 70, + 71, + 72, + 73 + ] + }, + "areaId": 128, + "comment": + "Rough quaternion values [w, x, y, z] representing back 2nd to the left sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 81, + 82, + 83, + 84 + ] + }, + "areaId": 256, + "comment": + "Rough quaternion values [w, x, y, z] representing back 3rd to the right sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 90, + 91, + 92, + 93 + ] + }, + "areaId": 512, + "comment": + "Rough quaternion values [w, x, y, z] representing back 3rd to the right sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 100, + 101, + 102, + 103 + ] + }, + "areaId": 1024, + "comment": + "Rough quaternion values [w, x, y, z] representing back 2nd to the right sensor rotated 0 degrees" + }, + { + "defaultValue": { + "floatValues": [ + 110, + 111, + 112, + 113 + ] + }, + "areaId": 2048, + "comment": + "Rough quaternion values [w, x, y, z] representing back right most sensor rotated 45 degrees clockwise." + } + ] + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From 064fb92949cf7ba23855de2cbcec095087ee39db Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 14:32:08 -0800 Subject: [PATCH 124/198] Add ULTRASONICS_SENSOR_FIELD_OF_VIEW to emulator defaults. Flag android_vic_vehicle_properties needs to be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: Ibc57c1688131a424e597df0cd579b1e9799157a7 --- .../config/DefaultProperties.json | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 8be040bd79..ceec1e251e 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3757,6 +3757,133 @@ } ] }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_FIELD_OF_VIEW", + "comment": + "Default values for 12 individual ultrasonic sensors installed on the vehicle. Six sensors on the front bumper. Six sensors on the back bumper.", + "areas": [ + { + "defaultValue": { + "int32Values": [ + 85, + 45 + ] + }, + "areaId": 1, + "comment": "Rough values representing front left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 2, + "comment": "Rough values representing front 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 4, + "comment": "Rough values representing front 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 8, + "comment": "Rough values representing front 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 16, + "comment": "Rough values representing front 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 85, + 45 + ] + }, + "areaId": 32, + "comment": "Rough values representing front right most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 85, + 45 + ] + }, + "areaId": 64, + "comment": "Rough values representing back left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 128, + "comment": "Rough values representing back 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 256, + "comment": "Rough values representing back 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 512, + "comment": "Rough values representing back 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 75, + 45 + ] + }, + "areaId": 1024, + "comment": "Rough values representing back 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 85, + 45 + ] + }, + "areaId": 2048, + "comment": "Rough values representing back right most sensor." + } + ] + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From ecce9193de338eb4edd244de4b18ec2c0a0c7855 Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 15:35:52 -0800 Subject: [PATCH 125/198] Add ULTRASONICS_SENSOR_DETECTION_RANGE to emulator defaults. Flag android_vic_vehicle_properties must be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: I05ec87cc1d303c93f7e9bc36d35a0b5a41aa189c --- .../config/DefaultProperties.json | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index ceec1e251e..34c81eeb15 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3884,6 +3884,131 @@ } ] }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_DETECTION_RANGE", + "areas": [ + { + "defaultValue": { + "int32Values": [ + 150, + 4000 + ] + }, + "areaId": 1, + "comment": "Rough values representing front left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 2, + "comment": "Rough values representing front 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 4, + "comment": "Rough values representing front 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 8, + "comment": "Rough values representing front 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 16, + "comment": "Rough values representing front 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 4000 + ] + }, + "areaId": 32, + "comment": "Rough values representing front right most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 4000 + ] + }, + "areaId": 64, + "comment": "Rough values representing back left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 128, + "comment": "Rough values representing back 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 256, + "comment": "Rough values representing back 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 512, + "comment": "Rough values representing back 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 3000 + ] + }, + "areaId": 1024, + "comment": "Rough values representing back 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 4000 + ] + }, + "areaId": 2048, + "comment": "Rough values representing back right most sensor." + } + ] + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From bafc05efd3de5cea70f0db7ad82eb104139c1e2d Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 14:37:02 -0800 Subject: [PATCH 126/198] Add ULTRASONICS_SENSOR_SUPPORTED_RANGES to emulator defaults. Flag android_vic_vehicle_properties needs to be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: Ib73a2ada81c46df76f158538d8afb31d98936a93 --- .../config/DefaultProperties.json | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 34c81eeb15..c9fff991ff 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -4009,6 +4009,175 @@ } ] }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_SUPPORTED_RANGES", + "areas": [ + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 4000 + ] + }, + "areaId": 1, + "comment": "Rough values representing front left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 2, + "comment": "Rough values representing front 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 4, + "comment": "Rough values representing front 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 8, + "comment": "Rough values representing front 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 16, + "comment": "Rough values representing front 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 4000 + ] + }, + "areaId": 32, + "comment": "Rough values representing front right most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 4000 + ] + }, + "areaId": 64, + "comment": "Rough values representing back left most sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 128, + "comment": "Rough values representing back 2nd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 3000 + ] + }, + "areaId": 256, + "comment": "Rough values representing back 3rd to the left sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 3000 + ] + }, + "areaId": 512, + "comment": "Rough values representing back 3rd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 3000 + ] + }, + "areaId": 1024, + "comment": "Rough values representing back 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 150, + 999, + 1000, + 1999, + 2000, + 4000 + ] + }, + "areaId": 2048, + "comment": "Rough values representing back right most sensor." + } + ] + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From 4bcef309515720e927d76d66dea1d731868ea13b Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 12 Dec 2023 14:39:56 -0800 Subject: [PATCH 127/198] Add ULTRASONICS_SENSOR_MEASURED_DISTANCE to emulator defaults. Flag android_vic_vehicle_properties needs to be enabled. Bug: 292141998 Bug: 316088542 Test: atest VtsHalAutomotiveVehicle_TargetTest Test: atest CtsCarTestCases:CarPropertyManagerTest Test: atest CtsCarTestCases:VehiclePropertyIdsTest Change-Id: I101bf5174bb5fe879aca4f284552f3aeba2163d7 --- .../config/DefaultProperties.json | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index c9fff991ff..590eff9a23 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -4178,6 +4178,116 @@ } ] }, + { + "property": "VehicleProperty::ULTRASONICS_SENSOR_MEASURED_DISTANCE", + "areas": [ + { + "defaultValue": { + "int32Values": [ + 2000, + 10 + ] + }, + "areaId": 1, + "comment": "Rough values representing front left most sensor." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 2, + "comment": + "Rough values representing front 2nd to the left sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 4, + "comment": + "Rough values representing front 3rd to the left sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 8, + "comment": + "Rough values representing front 3rd to the right sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 16, + "comment": + "Rough values representing front 2nd to the right sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 32, + "comment": + "Rough values representing front right most sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 64, + "comment": "Rough values representing back left most sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 128, + "comment": + "Rough values representing back 2nd to the left sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [] + }, + "areaId": 256, + "comment": + "Rough values representing back 3rd to the left sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [ + 1000 + ] + }, + "areaId": 512, + "comment": + "Rough values representing back 3rd to the right sensor. Nothing detected." + }, + { + "defaultValue": { + "int32Values": [ + 2000, + 50 + ] + }, + "areaId": 1024, + "comment": "Rough values representing back 2nd to the right sensor." + }, + { + "defaultValue": { + "int32Values": [ + 2000 + ] + }, + "areaId": 2048, + "comment": + "Rough values representing back right most sensor. No distance error." + } + ], + "maxSampleRate": 10.0, + "minSampleRate": 1.0 + }, { "property": "VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", "defaultValue": { From 559c20d4f4c2e55f4d4dc520eb4138a2c1537597 Mon Sep 17 00:00:00 2001 From: bodamnam Date: Thu, 28 Dec 2023 03:12:27 +0000 Subject: [PATCH 128/198] Modify the api definition in the ImsMedia HAL for AV sync For more accurate calculation of incoming packet latency and improved inter-media synchronization, modify the AVSync API's request to use the RTCP-SR report's NTP timestamp. This absolute timestamp facilitates cross-media comparisons. Bug: 321878340 Test: mm Change-Id: I9980ac832095d1caf82c42e17307c83522de4b3e --- .../radio/ims/media/RtpReceptionStats.aidl | 4 ++-- .../radio/ims/media/IImsMediaSession.aidl | 3 +-- .../radio/ims/media/RtpReceptionStats.aidl | 17 ++++++++++++----- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl index 82b798b1d2..216da4c55c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/current/android/hardware/radio/ims/media/RtpReceptionStats.aidl @@ -35,8 +35,8 @@ package android.hardware.radio.ims.media; @VintfStability parcelable RtpReceptionStats { int rtpTimestamp; - int rtpSequenceNumber; - int timeDurationMs; + int rtcpSrTimestamp; + long rtcpSrNtpTimestamp; int jitterBufferMs; int roundTripTimeMs; } diff --git a/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl b/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl index 0fe67406ff..69ca780562 100644 --- a/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl +++ b/radio/aidl/android/hardware/radio/ims/media/IImsMediaSession.aidl @@ -110,8 +110,7 @@ oneway interface IImsMediaSession { * Adjust the delay in the jitter buffer to synchronize the audio with the time of video * frames * - * @param delayMs The delay to apply to the jitter buffer. If it is positive, the jitter - * buffer increases the delay, if it is negative, the jitter buffer decreases the delay. + * @param delayMs The additional delay to the jitter buffer in milliseconds. * * This is available when android.hardware.telephony.ims is defined. */ diff --git a/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl b/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl index 1239d13474..81c0bb27dc 100644 --- a/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl +++ b/radio/aidl/android/hardware/radio/ims/media/RtpReceptionStats.aidl @@ -20,12 +20,19 @@ package android.hardware.radio.ims.media; parcelable RtpReceptionStats { /** The timestamp of the latest RTP packet received */ int rtpTimestamp; - /** The sequence number of latest RTP packet received */ - int rtpSequenceNumber; - /** The system clock time in millisecond of latest RTP packet received */ - int timeDurationMs; - /** The jitter buffer size in millisecond when latest RTP packet received */ + + /** The timestamp of the latest RTCP-SR packet received */ + int rtcpSrTimestamp; + + /** The NTP timestamp of latest RTCP-SR packet received */ + long rtcpSrNtpTimestamp; + + /** + * The mean jitter buffer delay of a media stream from received to playback, measured in + * milliseconds, within the reporting interval + */ int jitterBufferMs; + /** The round trip time delay in millisecond when latest RTP packet received */ int roundTripTimeMs; } From c04eb24705a2d3cc26116a280c3aabca94f52cf1 Mon Sep 17 00:00:00 2001 From: Tyler Trephan Date: Fri, 26 Jan 2024 19:37:08 +0000 Subject: [PATCH 129/198] Updated INFO_MODEL_YEAR to specify YYYY format and Gregorian calendar. Test: None Bug: 316922455 Change-Id: Ic10ad624544545ddd407f4eb58baa94599d1112a --- .../android/hardware/automotive/vehicle/VehicleProperty.aidl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 026c040139..d375a56fe4 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -75,7 +75,7 @@ enum VehicleProperty { INFO_MODEL = 0x0102 + 0x10000000 + 0x01000000 + 0x00100000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:STRING /** - * Model year of vehicle. + * Model year of vehicle in YYYY format based on the Gregorian calendar. * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ From a343d98e8cc070c84123bfc76560cbb666a87f62 Mon Sep 17 00:00:00 2001 From: Bharatt Kukreja Date: Thu, 11 Jan 2024 21:19:41 +0000 Subject: [PATCH 130/198] Restrict HAL to only required keys for session chars Don't allow Camera HAL to send keys other than the required ones for session characteristics. Test: atest VtsAidlHalCameraProvider_TargetTest Bug: 314386872 Change-Id: I3808840e0d404b4a82c8bcfc6d51eab9b171b1e9 --- .../hardware/camera/device/ICameraDevice.aidl | 3 + .../VtsAidlHalCameraProvider_TargetTest.cpp | 10 +- camera/provider/aidl/vts/camera_aidl_test.cpp | 113 +++++++++++------- camera/provider/aidl/vts/camera_aidl_test.h | 3 +- 4 files changed, 84 insertions(+), 45 deletions(-) diff --git a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl index 01009ad788..0129dea26f 100644 --- a/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl +++ b/camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl @@ -446,6 +446,9 @@ interface ICameraDevice { * - ANDROID_CONTROL_ZOOM_RATIO_RANGE * - SCALER_AVAILABLE_MAX_DIGITAL_ZOOM * + * No other tags (other than vendor tags) should be set in the characteristics returned from + * the HAL. + * * A service specific error will be returned on the following conditions * INTERNAL_ERROR: * The camera device cannot be opened due to an internal diff --git a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp index 9a5f248a6c..6e3ddc9094 100644 --- a/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp +++ b/camera/provider/aidl/vts/VtsAidlHalCameraProvider_TargetTest.cpp @@ -330,10 +330,14 @@ TEST_P(CameraAidlTest, getSessionCharacteristics) { StreamConfiguration config; createStreamConfiguration(streams, StreamConfigurationMode::NORMAL_MODE, &config); - CameraMetadata chars; - ret = device->getSessionCharacteristics(config, &chars); + CameraMetadata camera_chars; + ret = device->getCameraCharacteristics(&camera_chars); ASSERT_TRUE(ret.isOk()); - verifySessionCharacteristics(chars); + + CameraMetadata session_chars; + ret = device->getSessionCharacteristics(config, &session_chars); + ASSERT_TRUE(ret.isOk()); + verifySessionCharacteristics(session_chars, camera_chars); } } else { ALOGI("getSessionCharacteristics: Test skipped.\n"); diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index d2a409e0cc..9e55434fb6 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -1931,52 +1931,83 @@ void CameraAidlTest::verifyStreamCombination(const std::shared_ptr(chars.metadata.data()); +void CameraAidlTest::verifySessionCharacteristics(const CameraMetadata& session_chars, + const CameraMetadata& camera_chars) { + if (!flags::feature_combination_query()) { + return; + } - size_t expectedSize = chars.metadata.size(); - int result = validate_camera_metadata_structure(metadata, &expectedSize); - ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); - size_t entryCount = get_camera_metadata_entry_count(metadata); - ASSERT_GT(entryCount, 0u); + const camera_metadata_t* session_metadata = + reinterpret_cast(session_chars.metadata.data()); - camera_metadata_ro_entry entry; - int retcode = 0; - float maxDigitalZoom = 1.0; + const camera_metadata_t* camera_metadata = + reinterpret_cast(camera_chars.metadata.data()); - retcode = find_camera_metadata_ro_entry(metadata, ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, - &entry); - // ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM should always be present. - if ((0 == retcode) && (entry.count == 1)) { - maxDigitalZoom = entry.data.f[0]; - } else { - ADD_FAILURE() << "Get camera scalerAvailableMaxDigitalZoom failed!"; + size_t expectedSize = session_chars.metadata.size(); + int result = validate_camera_metadata_structure(session_metadata, &expectedSize); + ASSERT_TRUE((result == 0) || (result == CAMERA_METADATA_VALIDATION_SHIFTED)); + size_t entryCount = get_camera_metadata_entry_count(session_metadata); + // There should be at least 1 characteristic present: + // SCALER_MAX_DIGITAL_ZOOM must always be available. + // ZOOM_RATIO_RANGE must be available if ZOOM_RATIO is supported. + ASSERT_TRUE(entryCount >= 1); + + camera_metadata_ro_entry entry; + int retcode = 0; + float maxDigitalZoom = 1.0; + + for (size_t i = 0; i < entryCount; i++) { + retcode = get_camera_metadata_ro_entry(session_metadata, i, &entry); + ASSERT_TRUE(retcode == 0); + + std::set allowed_tags = {ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, + ANDROID_CONTROL_ZOOM_RATIO_RANGE}; + + if (contains(allowed_tags, entry.tag)) { + continue; } - retcode = find_camera_metadata_ro_entry(metadata, ANDROID_CONTROL_ZOOM_RATIO_RANGE, &entry); - bool hasZoomRatioRange = (0 == retcode && entry.count == 2); - if (!hasZoomRatioRange) { - return; - } - float minZoomRatio = entry.data.f[0]; - float maxZoomRatio = entry.data.f[1]; - constexpr float FLOATING_POINT_THRESHOLD = 0.00001f; - if (abs(maxDigitalZoom - maxZoomRatio) > FLOATING_POINT_THRESHOLD) { - ADD_FAILURE() << "Difference between maximum digital zoom " << maxDigitalZoom - << " and maximum zoom ratio " << maxZoomRatio - << " is greater than the threshold " << FLOATING_POINT_THRESHOLD << "!"; - } - if (minZoomRatio > maxZoomRatio) { - ADD_FAILURE() << "Maximum zoom ratio is less than minimum zoom ratio!"; - } - if (minZoomRatio > 1.0f) { - ADD_FAILURE() << "Minimum zoom ratio is more than 1.0!"; - } - if (maxZoomRatio < 1.0f) { - ADD_FAILURE() << "Maximum zoom ratio is less than 1.0!"; - } + // Other than the ones above, no tags should be allowed apart from vendor tags. + ASSERT_TRUE(entry.tag >= VENDOR_SECTION_START); + } + + retcode = find_camera_metadata_ro_entry(session_metadata, + ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, &entry); + if ((0 == retcode) && (entry.count == 1)) { + maxDigitalZoom = entry.data.f[0]; + } else { + ADD_FAILURE() << "Get camera scalerAvailableMaxDigitalZoom failed!"; + } + + retcode = find_camera_metadata_ro_entry(camera_metadata, ANDROID_CONTROL_ZOOM_RATIO_RANGE, + &entry); + bool hasZoomRatioRange = (0 == retcode && entry.count == 2); + if (!hasZoomRatioRange) { + ALOGI("Skipping the rest of the test as ZOOM_RATIO_RANGE is not in camera characteristics"); + return; + } + + // Session characteristics must contain zoom_ratio_range if camera characteristics has it. + retcode = find_camera_metadata_ro_entry(session_metadata, ANDROID_CONTROL_ZOOM_RATIO_RANGE, + &entry); + ASSERT_TRUE(0 == retcode && entry.count == 2); + + float minZoomRatio = entry.data.f[0]; + float maxZoomRatio = entry.data.f[1]; + constexpr float FLOATING_POINT_THRESHOLD = 0.00001f; + if (abs(maxDigitalZoom - maxZoomRatio) > FLOATING_POINT_THRESHOLD) { + ADD_FAILURE() << "Difference between maximum digital zoom " << maxDigitalZoom + << " and maximum zoom ratio " << maxZoomRatio + << " is greater than the threshold " << FLOATING_POINT_THRESHOLD << "!"; + } + if (minZoomRatio > maxZoomRatio) { + ADD_FAILURE() << "Maximum zoom ratio is less than minimum zoom ratio!"; + } + if (minZoomRatio > 1.0f) { + ADD_FAILURE() << "Minimum zoom ratio is more than 1.0!"; + } + if (maxZoomRatio < 1.0f) { + ADD_FAILURE() << "Maximum zoom ratio is less than 1.0!"; } } diff --git a/camera/provider/aidl/vts/camera_aidl_test.h b/camera/provider/aidl/vts/camera_aidl_test.h index 507a6373ba..29c5894a30 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.h +++ b/camera/provider/aidl/vts/camera_aidl_test.h @@ -290,7 +290,8 @@ class CameraAidlTest : public ::testing::TestWithParam { static void verifyStreamCombination(const std::shared_ptr& device, const StreamConfiguration& config, bool expectedStatus); - static void verifySessionCharacteristics(const CameraMetadata& chars); + static void verifySessionCharacteristics(const CameraMetadata& session_chars, + const CameraMetadata& camera_chars); static void verifyLogicalCameraResult(const camera_metadata_t* staticMetadata, const std::vector& resultMetadata); From b0b71c1f8a3b95261b040a1880943f563f3924c1 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 17 Jan 2024 13:28:24 -0800 Subject: [PATCH 131/198] Create a skeleton Rust VHAL. This is to prove that rust VHAL can be built and can run. The skeleton Rust VHAL will return UNKNOWN_ERROR for all APIs. Test: m android.hardware.automotive.vehicle-V3-rust-service Manually replace VHAL on emulator with Selinux policy manually updated to allow rust VHAL. Bug: 320320087 Change-Id: I7d2dab392bf2ef982001df10c9b602c5c75888f7 --- automotive/vehicle/Android.bp | 8 +++ automotive/vehicle/aidl/rust_impl/README.md | 12 ++++ .../vehicle/aidl/rust_impl/vhal/Android.bp | 29 ++++++++++ .../rust_impl/vhal/src/default_vehicle_hal.rs | 55 +++++++++++++++++++ .../vehicle/aidl/rust_impl/vhal/src/main.rs | 18 ++++++ .../aidl/rust_impl/vhal/vhal-rust-service.rc | 4 ++ .../aidl/rust_impl/vhal/vhal-rust-service.xml | 7 +++ 7 files changed, 133 insertions(+) create mode 100644 automotive/vehicle/aidl/rust_impl/README.md create mode 100644 automotive/vehicle/aidl/rust_impl/vhal/Android.bp create mode 100644 automotive/vehicle/aidl/rust_impl/vhal/src/default_vehicle_hal.rs create mode 100644 automotive/vehicle/aidl/rust_impl/vhal/src/main.rs create mode 100644 automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.rc create mode 100644 automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.xml diff --git a/automotive/vehicle/Android.bp b/automotive/vehicle/Android.bp index 3549519ead..e6149378b0 100644 --- a/automotive/vehicle/Android.bp +++ b/automotive/vehicle/Android.bp @@ -25,3 +25,11 @@ cc_defaults { "android.hardware.automotive.vehicle.property-V3-ndk", ], } + +rust_defaults { + name: "VehicleHalInterfaceRustDefaults", + rustlibs: [ + "android.hardware.automotive.vehicle-V3-rust", + "android.hardware.automotive.vehicle.property-V3-rust", + ], +} diff --git a/automotive/vehicle/aidl/rust_impl/README.md b/automotive/vehicle/aidl/rust_impl/README.md new file mode 100644 index 0000000000..33f996b3e0 --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/README.md @@ -0,0 +1,12 @@ +# Rust Skeleton VHAL implementation. + +WARNING: This is not a reference VHAL implementation and does not contain +any actual implementation. + +This folder contains a skeleton VHAL implementation in Rust to demonstrate +how vendor may implement a Rust VHAL. To run this VHAL, include +`android.hardware.automotive.vehicle-V3-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_vehicle_hal.rs` with the actual implementation. diff --git a/automotive/vehicle/aidl/rust_impl/vhal/Android.bp b/automotive/vehicle/aidl/rust_impl/vhal/Android.bp new file mode 100644 index 0000000000..46f37d81f2 --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/vhal/Android.bp @@ -0,0 +1,29 @@ +/* + * 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.vehicle-V3-rust-service", + relative_install_path: "hw", + vendor: true, + srcs: ["src/*.rs"], + crate_root: "src/main.rs", + defaults: ["VehicleHalInterfaceRustDefaults"], + vintf_fragments: ["vhal-rust-service.xml"], + init_rc: ["vhal-rust-service.rc"], + rustlibs: [ + "libbinder_rs", + ], +} diff --git a/automotive/vehicle/aidl/rust_impl/vhal/src/default_vehicle_hal.rs b/automotive/vehicle/aidl/rust_impl/vhal/src/default_vehicle_hal.rs new file mode 100644 index 0000000000..1f5dc950ab --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/vhal/src/default_vehicle_hal.rs @@ -0,0 +1,55 @@ +use android_hardware_automotive_vehicle::aidl::android::hardware::automotive::vehicle::{ + IVehicle::IVehicle, + IVehicleCallback::IVehicleCallback, + VehiclePropConfigs::VehiclePropConfigs, + GetValueRequests::GetValueRequests, + SetValueRequests::SetValueRequests, + SubscribeOptions::SubscribeOptions, +}; +use binder::{Interface, Result as BinderResult, StatusCode, Strong}; + +/// This struct is defined to implement IVehicle AIDL interface. +pub struct DefaultVehicleHal; + +impl Interface for DefaultVehicleHal {} + +impl IVehicle for DefaultVehicleHal { + fn getAllPropConfigs(&self) -> BinderResult { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn getPropConfigs(&self, _props: &[i32]) -> BinderResult { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn getValues( + &self, _callback: &Strong, _requests: &GetValueRequests + ) -> BinderResult<()> { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn setValues( + &self, _callback: &Strong, _requests: &SetValueRequests + ) -> BinderResult<()> { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn subscribe( + &self, _callback: &Strong, _options: &[SubscribeOptions], + _max_shared_memory_file_count: i32 + ) -> BinderResult<()> { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn unsubscribe( + &self, _callback: &Strong, _prop_ids: &[i32] + ) -> BinderResult<()> { + Err(StatusCode::UNKNOWN_ERROR.into()) + } + + fn returnSharedMemory( + &self, _callback: &Strong, _shared_memory_id: i64 + ) -> BinderResult<()> { + Err(StatusCode::UNKNOWN_ERROR.into()) + } +} diff --git a/automotive/vehicle/aidl/rust_impl/vhal/src/main.rs b/automotive/vehicle/aidl/rust_impl/vhal/src/main.rs new file mode 100644 index 0000000000..59b248d27c --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/vhal/src/main.rs @@ -0,0 +1,18 @@ +mod default_vehicle_hal; + +use android_hardware_automotive_vehicle::aidl::android::hardware::automotive::vehicle::IVehicle::BnVehicle; +use crate::default_vehicle_hal::DefaultVehicleHal; + +fn main() { + binder::ProcessState::start_thread_pool(); + let my_service = DefaultVehicleHal; + let service_name = "android.hardware.automotive.vehicle.IVehicle/default"; + let my_service_binder = BnVehicle::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() +} diff --git a/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.rc b/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.rc new file mode 100644 index 0000000000..dff9894d44 --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.rc @@ -0,0 +1,4 @@ +service vendor.vehicle-hal-default /vendor/bin/hw/android.hardware.automotive.vehicle-V3-rust-service + class early_hal + user vehicle_network + group system inet diff --git a/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.xml b/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.xml new file mode 100644 index 0000000000..b0c6ae7779 --- /dev/null +++ b/automotive/vehicle/aidl/rust_impl/vhal/vhal-rust-service.xml @@ -0,0 +1,7 @@ + + + android.hardware.automotive.vehicle + 3 + IVehicle/default + + From f4ff5871c5df4bd970aaf7e1ffe6532cbbfe232a Mon Sep 17 00:00:00 2001 From: Chris Weir Date: Fri, 26 Jan 2024 17:55:32 +0000 Subject: [PATCH 132/198] Revert "Fix hwasan error for CAN HAL" This reverts commit 864bcb9e7a62d1100a208ce4fbb9573f1e974d81. Reason for revert: Doesn't fix hwsan error, fix upcoming Change-Id: Iab1699c4e5494ff674413cfea78b56d12410e92d --- .../tools/configurator/canprototools.cpp | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/automotive/can/aidl/default/tools/configurator/canprototools.cpp b/automotive/can/aidl/default/tools/configurator/canprototools.cpp index 84edd94bc5..2aea315391 100644 --- a/automotive/can/aidl/default/tools/configurator/canprototools.cpp +++ b/automotive/can/aidl/default/tools/configurator/canprototools.cpp @@ -51,20 +51,15 @@ static std::optional readString(std::istream& s, std::streamsize n) return std::string(buff, 0, std::min(n, got)); } -/* - parseConfigFile *used to* contain the body of parseConfigStream. However, it seems there's some - sort of odd behavior with IstreamInputStream and/or TextFormat::Parse, which causes HW Address - Sanitizer to flag a "tag-mismatch" in this function. Having the ifstream defined in a wrapper - function seems to solve this problem. The exact cause of this problem is yet unknown, but probably - lies somewhere in the protobuf implementation. -*/ -static __attribute__((noinline)) std::optional parseConfigStream( - std::ifstream& cfg_stream) { +std::optional parseConfigFile(const std::string& filepath) { + std::ifstream cfg_stream(filepath); + + // text headers that would be present in a plaintext proto config file. static const std::array text_headers = {"buses", "#", "controller"}; auto cfg_file_snippet = readString(cfg_stream, 10); if (!cfg_file_snippet.has_value()) { - LOG(ERROR) << "Can't read config from stream (maybe failed to open file?)"; + LOG(ERROR) << "Can't open " << filepath << " for reading"; return std::nullopt; } cfg_stream.seekg(0); @@ -82,25 +77,16 @@ static __attribute__((noinline)) std::optional parseConfigStream( if (text_format) { google::protobuf::io::IstreamInputStream pb_stream(&cfg_stream); if (!google::protobuf::TextFormat::Parse(&pb_stream, &config)) { - LOG(ERROR) << "Parsing text format config failed"; + LOG(ERROR) << "Failed to parse (text format) " << filepath; return std::nullopt; } } else if (!config.ParseFromIstream(&cfg_stream)) { - LOG(ERROR) << "Parsing binary format config failed"; + LOG(ERROR) << "Failed to parse (binary format) " << filepath; return std::nullopt; } return config; } -std::optional parseConfigFile(const std::string& filepath) { - std::ifstream cfg_stream(filepath); - auto cfg_maybe = parseConfigStream(cfg_stream); - if (!cfg_maybe.has_value()) { - LOG(ERROR) << "Failed to parse " << filepath; - } - return cfg_maybe; -} - std::optional fromPbBus(const Bus& pb_bus) { BusConfig bus_cfg = {}; bus_cfg.name = pb_bus.name(); From 97770cf39cd6a6a05f2d7437eae10c90a45d4dd6 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Fri, 26 Jan 2024 18:25:26 -0800 Subject: [PATCH 133/198] Fix property unavailable check logic. Test: Presubmit Bug: 322070490 Change-Id: Ifd97370a5dd71ace57791c0287bea0bb8c912c29 --- .../vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 960c5ac92e..993757021c 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -288,11 +288,8 @@ bool VtsHalAutomotiveVehicleTargetTest::isResultOkayWithValue( bool VtsHalAutomotiveVehicleTargetTest::isUnavailable( const VhalClientResult>& result) { - if (result.ok()) { - return false; - } - if (result.error().code() == ErrorCode::NOT_AVAILABLE_FROM_VHAL) { - return true; + if (!result.ok()) { + return result.error().code() == ErrorCode::NOT_AVAILABLE_FROM_VHAL; } if (result.value() != nullptr && result.value()->getStatus() == VehiclePropertyStatus::UNAVAILABLE) { From da2fa0929f11279a620a0ae5198f04067c8ad841 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 25 Jan 2024 17:40:41 -0800 Subject: [PATCH 134/198] Fix HIDL VHAL descriptor name in VTS. Bug: 322418005 Test: Manual test with HIDL VHAL, VTS pass. Change-Id: I93e92d3587243c44b5651ab85d47442ebb64c51a --- .../vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 993757021c..d91f4f2616 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -1190,7 +1191,8 @@ std::vector getDescriptors() { .isAidlService = true, }); } - for (std::string name : getAllHalInstanceNames(IVehicle::descriptor)) { + for (std::string name : getAllHalInstanceNames( + android::hardware::automotive::vehicle::V2_0::IVehicle::descriptor)) { descriptors.push_back({ .name = name, .isAidlService = false, From 057de7cf35fdf4305fa9e2aa8d929b5394dcb4fd Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Mon, 29 Jan 2024 19:21:28 +0000 Subject: [PATCH 135/198] Add VTS tests for findWithParams and connectWithParams. Bug: 322815584 Test: atest VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: I58c59d045f2fbe5af4101d152a487954e8e16bd5 --- .../supplicant_p2p_iface_aidl_test.cpp | 55 +++++++++++++++++++ .../vts/functional/supplicant_test_utils.h | 29 ++++++++++ 2 files changed, 84 insertions(+) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 2d6823f207..2e22807363 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -35,7 +35,9 @@ using aidl::android::hardware::wifi::supplicant::IfaceType; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; +using aidl::android::hardware::wifi::supplicant::P2pConnectInfo; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; +using aidl::android::hardware::wifi::supplicant::P2pDiscoveryInfo; using aidl::android::hardware::wifi::supplicant::P2pFrameTypeMask; using aidl::android::hardware::wifi::supplicant::P2pGoNegotiationReqEventParams; using aidl::android::hardware::wifi::supplicant::P2pGroupCapabilityMask; @@ -45,6 +47,7 @@ using aidl::android::hardware::wifi::supplicant::P2pPeerClientDisconnectedEventP using aidl::android::hardware::wifi::supplicant::P2pPeerClientJoinedEventParams; using aidl::android::hardware::wifi::supplicant::P2pProvDiscStatusCode; using aidl::android::hardware::wifi::supplicant::P2pProvisionDiscoveryCompletedEventParams; +using aidl::android::hardware::wifi::supplicant::P2pScanType; using aidl::android::hardware::wifi::supplicant::P2pStatusCode; using aidl::android::hardware::wifi::supplicant::SupplicantStatusCode; using aidl::android::hardware::wifi::supplicant::WpsConfigMethods; @@ -69,6 +72,7 @@ const uint32_t kTestNetworkId = 7; const uint32_t kTestGroupFreq = 0; const bool kTestGroupPersistent = false; const bool kTestGroupIsJoin = false; +const auto& kTestVendorData = generateOuiKeyedDataList(5); } // namespace @@ -222,6 +226,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam { initializeService(); supplicant_ = getSupplicant(GetParam().c_str()); ASSERT_NE(supplicant_, nullptr); + ASSERT_TRUE(supplicant_->getInterfaceVersion(&interface_version_).isOk()); ASSERT_TRUE(supplicant_ ->setDebugParams(DebugLevel::EXCESSIVE, true, // show timestamps @@ -247,6 +252,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam { protected: std::shared_ptr supplicant_; std::shared_ptr p2p_iface_; + int interface_version_; }; /* @@ -549,6 +555,34 @@ TEST_P(SupplicantP2pIfaceAidlTest, FindSpecificFrequency) { EXPECT_TRUE(p2p_iface_->findOnSpecificFrequency(2412, kTestFindTimeout).isOk()); } +/* + * FindWithParams + */ +TEST_P(SupplicantP2pIfaceAidlTest, FindWithParams) { + if (interface_version_ < 3) { + GTEST_SKIP() << "findWithParams is available as of Supplicant V3"; + } + + P2pDiscoveryInfo discoveryParams; + discoveryParams.timeoutInSec = kTestFindTimeout; + discoveryParams.vendorData = kTestVendorData; + + discoveryParams.scanType = P2pScanType::FULL; + EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); + EXPECT_TRUE(p2p_iface_->stopFind().isOk()); + sleep(1); + + discoveryParams.scanType = P2pScanType::SOCIAL; + EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); + EXPECT_TRUE(p2p_iface_->stopFind().isOk()); + sleep(1); + + discoveryParams.scanType = P2pScanType::SPECIFIC_FREQ; + discoveryParams.frequencyMhz = 2412; + EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); + EXPECT_TRUE(p2p_iface_->stopFind().isOk()); +} + /* * StopFind */ @@ -575,6 +609,27 @@ TEST_P(SupplicantP2pIfaceAidlTest, Connect) { .isOk()); } +/* + * ConnectWithParams + */ +TEST_P(SupplicantP2pIfaceAidlTest, ConnectWithParams) { + if (interface_version_ < 3) { + GTEST_SKIP() << "connectWithParams is available as of Supplicant V3"; + } + + P2pConnectInfo connectInfo; + connectInfo.peerAddress = vecToArrayMacAddr(kTestMacAddr); + connectInfo.provisionMethod = WpsProvisionMethod::PBC; + connectInfo.preSelectedPin = kTestConnectPin; + connectInfo.joinExistingGroup = true; + connectInfo.persistent = false; + connectInfo.goIntent = kTestConnectGoIntent; + connectInfo.vendorData = kTestVendorData; + + std::string pin; + EXPECT_TRUE(p2p_iface_->connectWithParams(connectInfo, &pin).isOk()); +} + /* * CancelConnect */ diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h index f2cb3f665c..b38e669875 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h +++ b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h @@ -16,14 +16,18 @@ #pragma once +#include + #include "supplicant_aidl_test_utils.h" #include "supplicant_legacy_test_utils.h" +using aidl::android::hardware::wifi::common::OuiKeyedData; using aidl::android::hardware::wifi::supplicant::IfaceInfo; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; +using aidl::android::os::PersistableBundle; std::string getStaIfaceName() { std::array buffer; @@ -91,3 +95,28 @@ std::shared_ptr getSupplicant(const char* supplicant_name) { } return supplicant; } + +std::array vecToArrayMacAddr(std::vector vectorAddr) { + std::array arrayAddr; + std::copy(vectorAddr.begin(), vectorAddr.begin() + 6, arrayAddr.begin()); + return arrayAddr; +} + +std::optional generateOuiKeyedData(int oui) { + PersistableBundle bundle; + bundle.putString("stringKey", "stringValue"); + bundle.putInt("intKey", 12345); + + OuiKeyedData data; + data.oui = oui; + data.vendorData = bundle; + return std::optional{data}; +} + +std::optional>> generateOuiKeyedDataList(int size) { + std::vector> dataList; + for (int i = 0; i < size; i++) { + dataList.push_back(generateOuiKeyedData(i + 1)); + } + return std::optional>>{dataList}; +} From 091430bd1d42ad8f03f117bc6596a360b0f24106 Mon Sep 17 00:00:00 2001 From: Chris Weir Date: Fri, 26 Jan 2024 16:06:47 -0800 Subject: [PATCH 136/198] Fix sanitizer error Wrong constructor for string is being used, which sometimes causes a sanitizer error, due to read past the end of buff, which wasn't NUL-terminated. Bug: 263769296 Test: m, it runs Change-Id: I97c00d5ae068a18739c313eeae39ab6454266a23 --- .../can/aidl/default/tools/configurator/canprototools.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automotive/can/aidl/default/tools/configurator/canprototools.cpp b/automotive/can/aidl/default/tools/configurator/canprototools.cpp index 2aea315391..ead53c1814 100644 --- a/automotive/can/aidl/default/tools/configurator/canprototools.cpp +++ b/automotive/can/aidl/default/tools/configurator/canprototools.cpp @@ -48,7 +48,7 @@ static std::optional readString(std::istream& s, std::streamsize n) char buff[n]; auto got = s.read(buff, n).gcount(); if (!s.good() && !s.eof()) return std::nullopt; - return std::string(buff, 0, std::min(n, got)); + return std::string(buff, got); } std::optional parseConfigFile(const std::string& filepath) { From ed19d8e4f3715c9aadc4a4ac0968f71513b1729d Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Mon, 29 Jan 2024 14:38:51 -0800 Subject: [PATCH 137/198] Add v3 filepaths to baseline After finalization, v3 will exist and get NewApi errors. Fixes: 322802379 Test: presubmits Change-Id: I526e940777a6868e5de16af7442ba5de9a43fbe7 --- wifi/hostapd/aidl/lint-baseline.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/wifi/hostapd/aidl/lint-baseline.xml b/wifi/hostapd/aidl/lint-baseline.xml index 99231fc739..4329e1219f 100644 --- a/wifi/hostapd/aidl/lint-baseline.xml +++ b/wifi/hostapd/aidl/lint-baseline.xml @@ -45,4 +45,22 @@ column="12"/> + + + + + + + + \ No newline at end of file From 43549d934ea08427d21401dabc0f3067fe2bf5bb Mon Sep 17 00:00:00 2001 From: Avichal Rakesh Date: Thu, 25 Jan 2024 16:08:52 -0800 Subject: [PATCH 138/198] ExternalCameraHAL: Skip importing buffer from capture request ExternalCameraHAL supports HAL buffer management which means cameraservice will not send it an output buffer along with the capture request, and the HAL has the freedom to request an output buffer when an output buffer is needed. As a remnant of migration from HIDL to AIDL, the ExternalCameraHAL still attempted to import buffers that the cameraservice has sent with the CaptureRequest. However, with HAL buffer manager enabled, this buffer is always null and results in the HAL failing to process the capture request. This CL removes the logic for importing output buffers when processing capture requests from the cameraservice, and lets the HAL call requestStreamBuffers when it needs an output buffer. Bug: 299182874 Test: VTS Tests now pass Change-Id: I00654836b7ae91a91a2afa4b149712977e07dcc5 --- .../default/ExternalCameraDeviceSession.cpp | 76 ++++--------------- .../default/ExternalCameraDeviceSession.h | 9 --- 2 files changed, 15 insertions(+), 70 deletions(-) diff --git a/camera/device/default/ExternalCameraDeviceSession.cpp b/camera/device/default/ExternalCameraDeviceSession.cpp index a16dd7fd83..479167cf62 100644 --- a/camera/device/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/default/ExternalCameraDeviceSession.cpp @@ -538,6 +538,19 @@ Status ExternalCameraDeviceSession::processOneCaptureRequest(const CaptureReques return Status::INTERNAL_ERROR; } + if (request.outputBuffers.empty()) { + ALOGE("%s: No output buffers provided.", __FUNCTION__); + return Status::ILLEGAL_ARGUMENT; + } + + for (auto& outputBuf : request.outputBuffers) { + if (outputBuf.streamId == -1 || mStreamMap.find(outputBuf.streamId) == mStreamMap.end()) { + ALOGE("%s: Invalid streamId in CaptureRequest.outputBuffers: %d", __FUNCTION__, + outputBuf.streamId); + return Status::ILLEGAL_ARGUMENT; + } + } + const camera_metadata_t* rawSettings = nullptr; bool converted; CameraMetadata settingsFmq; // settings from FMQ @@ -572,8 +585,6 @@ Status ExternalCameraDeviceSession::processOneCaptureRequest(const CaptureReques return Status::ILLEGAL_ARGUMENT; } - std::vector allBufPtrs; - std::vector allFences; size_t numOutputBufs = request.outputBuffers.size(); if (numOutputBufs == 0) { @@ -629,11 +640,6 @@ Status ExternalCameraDeviceSession::processOneCaptureRequest(const CaptureReques } } - status = importRequestLocked(request, allBufPtrs, allFences); - if (status != Status::OK) { - return status; - } - nsecs_t shutterTs = 0; std::unique_ptr frameIn = dequeueV4l2FrameLocked(&shutterTs); if (frameIn == nullptr) { @@ -656,8 +662,8 @@ Status ExternalCameraDeviceSession::processOneCaptureRequest(const CaptureReques halBuf.height = stream.height; halBuf.format = stream.format; halBuf.usage = stream.usage; - halBuf.bufPtr = allBufPtrs[i]; - halBuf.acquireFence = allFences[i]; + halBuf.bufPtr = nullptr; // threadloop will request buffer from cameraservice + halBuf.acquireFence = 0; // threadloop will request fence from cameraservice halBuf.fenceTimeout = false; } { @@ -1351,58 +1357,6 @@ bool ExternalCameraDeviceSession::isSupported( return false; } -Status ExternalCameraDeviceSession::importRequestLocked(const CaptureRequest& request, - std::vector& allBufPtrs, - std::vector& allFences) { - return importRequestLockedImpl(request, allBufPtrs, allFences); -} - -Status ExternalCameraDeviceSession::importRequestLockedImpl( - const CaptureRequest& request, std::vector& allBufPtrs, - std::vector& allFences) { - size_t numOutputBufs = request.outputBuffers.size(); - size_t numBufs = numOutputBufs; - // Validate all I/O buffers - std::vector allBufs; - std::vector allBufIds; - allBufs.resize(numBufs); - allBufIds.resize(numBufs); - allBufPtrs.resize(numBufs); - allFences.resize(numBufs); - std::vector streamIds(numBufs); - - for (size_t i = 0; i < numOutputBufs; i++) { - allBufs[i] = ::android::makeFromAidl(request.outputBuffers[i].buffer); - allBufIds[i] = request.outputBuffers[i].bufferId; - allBufPtrs[i] = &allBufs[i]; - streamIds[i] = request.outputBuffers[i].streamId; - } - - { - Mutex::Autolock _l(mCbsLock); - for (size_t i = 0; i < numBufs; i++) { - Status st = importBufferLocked(streamIds[i], allBufIds[i], allBufs[i], &allBufPtrs[i]); - if (st != Status::OK) { - // Detailed error logs printed in importBuffer - return st; - } - } - } - - // All buffers are imported. Now validate output buffer acquire fences - for (size_t i = 0; i < numOutputBufs; i++) { - native_handle_t* h = ::android::makeFromAidl(request.outputBuffers[i].acquireFence); - if (!sHandleImporter.importFence(h, allFences[i])) { - ALOGE("%s: output buffer %zu acquire fence is invalid", __FUNCTION__, i); - cleanupInflightFences(allFences, i); - native_handle_delete(h); - return Status::INTERNAL_ERROR; - } - native_handle_delete(h); - } - return Status::OK; -} - Status ExternalCameraDeviceSession::importBuffer(int32_t streamId, uint64_t bufId, buffer_handle_t buf, /*out*/ buffer_handle_t** outBufPtr) { diff --git a/camera/device/default/ExternalCameraDeviceSession.h b/camera/device/default/ExternalCameraDeviceSession.h index 736bfd1528..795b5899b6 100644 --- a/camera/device/default/ExternalCameraDeviceSession.h +++ b/camera/device/default/ExternalCameraDeviceSession.h @@ -266,15 +266,6 @@ class ExternalCameraDeviceSession : public BnCameraDeviceSession, public OutputT const std::vector& supportedFormats, const ExternalCameraConfig& cfg); - // Validate and import request's output buffers and acquire fence - Status importRequestLocked(const CaptureRequest& request, - std::vector& allBufPtrs, - std::vector& allFences); - - Status importRequestLockedImpl(const CaptureRequest& request, - std::vector& allBufPtrs, - std::vector& allFences); - Status importBufferLocked(int32_t streamId, uint64_t bufId, buffer_handle_t buf, /*out*/ buffer_handle_t** outBufPtr); static void cleanupInflightFences(std::vector& allFences, size_t numFences); From e820be1fef4c82aac3a35dd310f628748a69b618 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Tue, 30 Jan 2024 00:24:10 +0000 Subject: [PATCH 139/198] wifi: no rust by default for persistable bundle, since Rust is being made the default now. Bug: 321267339 Test: m Change-Id: Ie877c015a7ba3ed3f596285d5cfae9049c663dbd --- wifi/aidl/Android.bp | 3 +++ wifi/common/aidl/Android.bp | 3 +++ wifi/hostapd/aidl/Android.bp | 3 +++ wifi/supplicant/aidl/Android.bp | 3 +++ 4 files changed, 12 insertions(+) diff --git a/wifi/aidl/Android.bp b/wifi/aidl/Android.bp index ac95f85c2b..690790c381 100644 --- a/wifi/aidl/Android.bp +++ b/wifi/aidl/Android.bp @@ -48,6 +48,9 @@ aidl_interface { cpp: { enabled: false, }, + rust: { + enabled: false, + }, }, versions_with_info: [ { diff --git a/wifi/common/aidl/Android.bp b/wifi/common/aidl/Android.bp index 1913451fd7..11acb4ff58 100644 --- a/wifi/common/aidl/Android.bp +++ b/wifi/common/aidl/Android.bp @@ -43,5 +43,8 @@ aidl_interface { cpp: { enabled: false, }, + rust: { + enabled: false, + }, }, } diff --git a/wifi/hostapd/aidl/Android.bp b/wifi/hostapd/aidl/Android.bp index cdc94bb036..1d265e6a6e 100644 --- a/wifi/hostapd/aidl/Android.bp +++ b/wifi/hostapd/aidl/Android.bp @@ -46,6 +46,9 @@ aidl_interface { cpp: { enabled: false, }, + rust: { + enabled: false, + }, }, versions_with_info: [ { diff --git a/wifi/supplicant/aidl/Android.bp b/wifi/supplicant/aidl/Android.bp index 632927d714..4ccda9a8f1 100644 --- a/wifi/supplicant/aidl/Android.bp +++ b/wifi/supplicant/aidl/Android.bp @@ -51,6 +51,9 @@ aidl_interface { cpp: { enabled: false, }, + rust: { + enabled: false, + }, }, versions_with_info: [ { From ebe4da578bbf0ec786031012df8fbd0897607933 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Tue, 26 Dec 2023 15:59:55 -0800 Subject: [PATCH 140/198] Add VTS for remoteaccess HAL. Test: atest VtsHalAutomotiveRemoteAccess_TargetTest Bug: 277967402 Change-Id: I053d91a3a6c76632e166c9500411de278fb40ff7 --- automotive/remoteaccess/TEST_MAPPING | 7 + automotive/remoteaccess/vts/Android.bp | 50 ++ ...tsHalAutomotiveRemoteAccess_TargetTest.cpp | 453 ++++++++++++++++++ 3 files changed, 510 insertions(+) create mode 100644 automotive/remoteaccess/TEST_MAPPING create mode 100644 automotive/remoteaccess/vts/Android.bp create mode 100644 automotive/remoteaccess/vts/src/VtsHalAutomotiveRemoteAccess_TargetTest.cpp diff --git a/automotive/remoteaccess/TEST_MAPPING b/automotive/remoteaccess/TEST_MAPPING new file mode 100644 index 0000000000..81c16c1bb5 --- /dev/null +++ b/automotive/remoteaccess/TEST_MAPPING @@ -0,0 +1,7 @@ +{ + "auto-presubmit": [ + { + "name": "VtsHalAutomotiveRemoteAccess_TargetTest" + } + ] +} diff --git a/automotive/remoteaccess/vts/Android.bp b/automotive/remoteaccess/vts/Android.bp new file mode 100644 index 0000000000..8acd6a1b98 --- /dev/null +++ b/automotive/remoteaccess/vts/Android.bp @@ -0,0 +1,50 @@ +/* + * 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. + */ + +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "hardware_interfaces_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["hardware_interfaces_license"], +} + +cc_test { + name: "VtsHalAutomotiveRemoteAccess_TargetTest", + srcs: [ + "src/*.cpp", + ], + static_libs: [ + "android.hardware.automotive.remoteaccess-V2-ndk", + "libgtest", + "libgmock", + ], + shared_libs: [ + "libbinder_ndk", + ], + test_suites: [ + "general-tests", + "vts", + "automotive-tests", + "automotive-general-tests", + ], + defaults: [ + "use_libaidlvintf_gtest_helper_static", + ], + require_root: true, + disable_framework: true, +} diff --git a/automotive/remoteaccess/vts/src/VtsHalAutomotiveRemoteAccess_TargetTest.cpp b/automotive/remoteaccess/vts/src/VtsHalAutomotiveRemoteAccess_TargetTest.cpp new file mode 100644 index 0000000000..0fb743e4b3 --- /dev/null +++ b/automotive/remoteaccess/vts/src/VtsHalAutomotiveRemoteAccess_TargetTest.cpp @@ -0,0 +1,453 @@ +/* + * 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. + */ + +#define LOG_TAG "VtsHalAutomotiveRemoteAccess" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +using ::aidl::android::hardware::automotive::remoteaccess::ApState; +using ::aidl::android::hardware::automotive::remoteaccess::BnRemoteTaskCallback; +using ::aidl::android::hardware::automotive::remoteaccess::IRemoteAccess; +using ::aidl::android::hardware::automotive::remoteaccess::ScheduleInfo; +using ::aidl::android::hardware::automotive::remoteaccess::TaskType; +using ::android::getAidlHalInstanceNames; +using ::android::PrintInstanceNameToString; +using ::android::base::ScopedLockAssertion; +using ::ndk::ScopedAStatus; +using ::ndk::SharedRefBase; +using ::ndk::SpAIBinder; +using ::testing::UnorderedElementsAre; + +namespace { + +const std::string TEST_CLIENT_ID = "TEST CLIENT ID"; +const std::string TEST_SCHEDULE_ID = "TEST SCHEDULE ID"; +const std::string TEST_SCHEDULE_ID_1 = "TEST SCHEDULE ID 1"; +const std::string TEST_SCHEDULE_ID_2 = "TEST SCHEDULE ID 2"; +const std::vector TEST_TASK_DATA = + std::vector({static_cast(0xde), static_cast(0xad), + static_cast(0xbe), static_cast(0xef)}); +const int32_t JOB_DELAY_IN_SECONDS = 5; + +} // namespace + +class VtsHalAutomotiveRemoteAccessTargetTest : public testing::TestWithParam { + public: + virtual void SetUp() override { + const std::string& name = GetParam(); + mHal = IRemoteAccess::fromBinder(SpAIBinder(AServiceManager_waitForService(name.c_str()))); + ASSERT_NE(mHal, nullptr) << "Failed to connect to remote access HAL: " << name; + } + + virtual void TearDown() override { + if (mHal != nullptr) { + mHal->clearRemoteTaskCallback(); + mHal->unscheduleAllTasks(TEST_CLIENT_ID); + } + } + + protected: + std::shared_ptr mHal; + + bool isTaskScheduleSupported(); + int32_t getInterfaceVersion(); + ScheduleInfo getTestScheduleInfo(int32_t delayInSeconds, int32_t count, + int32_t periodicInSeconds); + void setTaskCallbackAndReadyForTask(std::shared_ptr testCallback); +}; + +class TestRemoteTaskCallback final : public BnRemoteTaskCallback { + public: + ScopedAStatus onRemoteTaskRequested(const std::string& clientId, + const std::vector& data) override { + { + std::unique_lock lockGuard(mLock); + mClientIds.push_back(clientId); + mDataList.push_back(data); + } + mCv.notify_one(); + return ScopedAStatus::ok(); + } + + const std::vector getCalledClientIds() { + std::lock_guard lockGuard(mLock); + return mClientIds; + } + + const std::vector> getCalledDataList() { + std::lock_guard lockGuard(mLock); + return mDataList; + } + + bool waitForCallbacks(size_t count, int32_t timeoutInSeconds) { + std::unique_lock lk(mLock); + return mCv.wait_for(lk, std::chrono::seconds(timeoutInSeconds), [this, count] { + ScopedLockAssertion lockAssertion(mLock); + return mClientIds.size() >= count; + }); + } + + private: + std::mutex mLock; + std::vector mClientIds GUARDED_BY(mLock); + std::vector> mDataList GUARDED_BY(mLock); + std::condition_variable mCv; +}; + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testGetVehicleId) { + std::string vehicleId; + + ScopedAStatus status = mHal->getVehicleId(&vehicleId); + + ASSERT_TRUE(status.isOk()) << "Failed to call getVehicleId"; + ASSERT_FALSE(vehicleId.empty()) << "Vehicle ID must not be empty"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testGetWakeupServiceName) { + std::string wakeupServiceName; + + ScopedAStatus status = mHal->getWakeupServiceName(&wakeupServiceName); + + ASSERT_TRUE(status.isOk()) << "Failed to call getWakeupServiceName"; + ASSERT_FALSE(wakeupServiceName.empty()) << "Wakeup service name must not be empty"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testGetProcessorId) { + std::string processorId; + + ScopedAStatus status = mHal->getProcessorId(&processorId); + + ASSERT_TRUE(status.isOk()) << "Failed to call getProcessorId"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testSetClearRemoteTaskCallback) { + std::shared_ptr testCallback = + SharedRefBase::make(); + + ScopedAStatus status = mHal->setRemoteTaskCallback(testCallback); + + ASSERT_TRUE(status.isOk()) << "Failed to call setRemoteTaskCallback"; + + status = mHal->clearRemoteTaskCallback(); + + ASSERT_TRUE(status.isOk()) << "Failed to call clearRemoteTaskCallback"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testNotifyApStateChange) { + ApState apState = ApState{ + .isReadyForRemoteTask = false, + .isWakeupRequired = false, + }; + + ScopedAStatus status = mHal->notifyApStateChange(apState); + + ASSERT_TRUE(status.isOk()) << "Failed to call notifyApStateChange with state: " + << apState.toString(); + + apState = ApState{ + .isReadyForRemoteTask = true, + .isWakeupRequired = false, + }; + + ASSERT_TRUE(status.isOk()) << "Failed to call notifyApStateChange with state: " + << apState.toString(); +} + +int32_t VtsHalAutomotiveRemoteAccessTargetTest::getInterfaceVersion() { + int32_t interfaceVersion = 0; + mHal->getInterfaceVersion(&interfaceVersion); + return interfaceVersion; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testIsTaskScheduleSupported) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + bool supported; + + ScopedAStatus status = mHal->isTaskScheduleSupported(&supported); + + ASSERT_TRUE(status.isOk()) << "Failed to call isTaskScheduleSupported"; +} + +bool VtsHalAutomotiveRemoteAccessTargetTest::isTaskScheduleSupported() { + bool supported = false; + mHal->isTaskScheduleSupported(&supported); + return supported; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testGetSupportedTaskTypesForScheduling) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::vector supportedTaskTypes; + + ScopedAStatus status = mHal->getSupportedTaskTypesForScheduling(&supportedTaskTypes); + + ASSERT_TRUE(status.isOk()) << "Failed to call getSupportedTaskTypesForScheduling"; + + if (!isTaskScheduleSupported()) { + ASSERT_TRUE(supportedTaskTypes.empty()) + << "getSupportedTaskTypesForScheduling must return empty array " + << "if isTaskScheduleSupported is false"; + return; + } + + ASSERT_TRUE(std::find(supportedTaskTypes.begin(), supportedTaskTypes.end(), TaskType::CUSTOM) != + supportedTaskTypes.end()) + << "getSupportedTaskTypesForScheduling must contain TaskType::CUSTOM"; +} + +ScheduleInfo VtsHalAutomotiveRemoteAccessTargetTest::getTestScheduleInfo( + int32_t delayInSeconds, int32_t count, int32_t periodicInSeconds) { + auto nowInEpochSeconds = std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()) + .count(); + + return ScheduleInfo{ + .clientId = TEST_CLIENT_ID, + .scheduleId = TEST_SCHEDULE_ID, + .taskType = TaskType::CUSTOM, + .taskData = TEST_TASK_DATA, + .count = count, + .startTimeInEpochSeconds = nowInEpochSeconds + delayInSeconds, + .periodicInSeconds = periodicInSeconds, + }; +} + +void VtsHalAutomotiveRemoteAccessTargetTest::setTaskCallbackAndReadyForTask( + std::shared_ptr testCallback) { + mHal->setRemoteTaskCallback(testCallback); + // Notify isReadForRemoteTask to be true. + mHal->notifyApStateChange(ApState{ + .isReadyForRemoteTask = true, + .isWakeupRequired = false, + }); +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testScheduleTask) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::shared_ptr testCallback = + SharedRefBase::make(); + setTaskCallbackAndReadyForTask(testCallback); + + int32_t count = 2; + ScheduleInfo scheduleInfo = getTestScheduleInfo( + /*delayInSeconds=*/JOB_DELAY_IN_SECONDS, count, /*periodicInSeconds=*/1); + ScopedAStatus status = mHal->scheduleTask(scheduleInfo); + + if (!isTaskScheduleSupported()) { + ASSERT_FALSE(status.isOk()) << "scheduleTask must return EX_ILLEGAL_ARGUMENT " + << "if isTaskScheduleSupported is false"; + ASSERT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT) + << "scheduleTask must return EX_ILLEGAL_ARGUMENT " + << "if isTaskScheduleSupported is false"; + return; + } + + ASSERT_TRUE(status.isOk()) << "Failed to call scheduleTask with scheduleInfo: " + << scheduleInfo.toString(); + + int32_t timeoutInSeconds = JOB_DELAY_IN_SECONDS + 5; + bool gotCallbacks = testCallback->waitForCallbacks(count, timeoutInSeconds); + // unschedule the task before checking the result. + mHal->unscheduleTask(TEST_CLIENT_ID, TEST_SCHEDULE_ID); + + ASSERT_TRUE(gotCallbacks) << "Callbacks is not called enough times before timeout: " + << timeoutInSeconds << "s"; + std::vector> dataList = testCallback->getCalledDataList(); + std::vector clientIds = testCallback->getCalledClientIds(); + + for (size_t i = 0; i < dataList.size(); i++) { + EXPECT_EQ(dataList[i], TEST_TASK_DATA) << "Must receive expected task data"; + EXPECT_EQ(clientIds[i], TEST_CLIENT_ID) << "Must receive expected client id"; + } +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testUnscheduleTask) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::shared_ptr testCallback = + SharedRefBase::make(); + setTaskCallbackAndReadyForTask(testCallback); + + ScheduleInfo scheduleInfo = getTestScheduleInfo( + /*delayInSeconds=*/JOB_DELAY_IN_SECONDS, /*count=*/1, /*periodicInSeconds=*/0); + mHal->scheduleTask(scheduleInfo); + ScopedAStatus status = mHal->unscheduleTask(TEST_CLIENT_ID, TEST_SCHEDULE_ID); + + ASSERT_TRUE(status.isOk()) << "Failed to call unscheduleTask"; + + // If not cancelled, should be called in 5s, wait for 6s and make sure no task arrives. + std::this_thread::sleep_for(std::chrono::seconds(JOB_DELAY_IN_SECONDS + 1)); + + ASSERT_TRUE(testCallback->getCalledClientIds().empty()) + << "Remote task callback must not be called if the task is cancelled"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testUnscheduleAllTasks) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::shared_ptr testCallback = + SharedRefBase::make(); + setTaskCallbackAndReadyForTask(testCallback); + + ScheduleInfo scheduleInfo = getTestScheduleInfo( + /*delayInSeconds=*/JOB_DELAY_IN_SECONDS, /*count=*/1, /*periodicInSeconds=*/0); + mHal->scheduleTask(scheduleInfo); + ScopedAStatus status = mHal->unscheduleAllTasks(TEST_CLIENT_ID); + + ASSERT_TRUE(status.isOk()) << "Failed to call unscheduleAllTasks"; + + // If not cancelled, should be called in 5s, wait for 6s and make sure no task arrives. + std::this_thread::sleep_for(std::chrono::seconds(JOB_DELAY_IN_SECONDS + 1)); + + ASSERT_TRUE(testCallback->getCalledClientIds().empty()) + << "Remote task callback must not be called if the task is cancelled"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testIsTaskScheduled) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::shared_ptr testCallback = + SharedRefBase::make(); + setTaskCallbackAndReadyForTask(testCallback); + + ScheduleInfo scheduleInfo = getTestScheduleInfo( + /*delayInSeconds=*/JOB_DELAY_IN_SECONDS, /*count=*/1, /*periodicInSeconds=*/0); + mHal->scheduleTask(scheduleInfo); + + bool scheduled; + ScopedAStatus status = mHal->isTaskScheduled(TEST_CLIENT_ID, TEST_SCHEDULE_ID, &scheduled); + + ASSERT_TRUE(status.isOk()) << "Failed to call unscheduleTask"; + + if (!isTaskScheduleSupported()) { + ASSERT_FALSE(scheduled) << "isTaskScheduled must return false " + << "if isTaskScheduleSupported is false"; + return; + } + + ASSERT_TRUE(scheduled) << "isTaskScheduled must return true if the task is scheduled"; + + mHal->unscheduleAllTasks(TEST_CLIENT_ID); + status = mHal->isTaskScheduled(TEST_CLIENT_ID, TEST_SCHEDULE_ID, &scheduled); + + ASSERT_TRUE(status.isOk()) << "Failed to call unscheduleTask"; + ASSERT_FALSE(scheduled) << "isTaskScheduled must return false if the task is not scheduled"; +} + +TEST_P(VtsHalAutomotiveRemoteAccessTargetTest, testGetAllPendingScheduledTasks) { + if (getInterfaceVersion() < 2) { + GTEST_SKIP() << "Require RemoteAccess HAL v2"; + } + + std::shared_ptr testCallback = + SharedRefBase::make(); + setTaskCallbackAndReadyForTask(testCallback); + + auto nowInEpochSeconds = std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()) + .count(); + + ScheduleInfo scheduleInfo1 = ScheduleInfo{ + .clientId = TEST_CLIENT_ID, + .scheduleId = TEST_SCHEDULE_ID_1, + .taskType = TaskType::CUSTOM, + .taskData = TEST_TASK_DATA, + .count = 1, + .startTimeInEpochSeconds = nowInEpochSeconds + 5, + .periodicInSeconds = 0, + }; + ScheduleInfo scheduleInfo2 = ScheduleInfo{ + .clientId = TEST_CLIENT_ID, + .scheduleId = TEST_SCHEDULE_ID_2, + .taskType = TaskType::CUSTOM, + .taskData = TEST_TASK_DATA, + .count = 10, + .startTimeInEpochSeconds = nowInEpochSeconds + 10, + .periodicInSeconds = 1, + }; + mHal->scheduleTask(scheduleInfo1); + mHal->scheduleTask(scheduleInfo2); + + std::vector outScheduleInfo; + ScopedAStatus status = mHal->getAllPendingScheduledTasks(TEST_CLIENT_ID, &outScheduleInfo); + + ASSERT_TRUE(status.isOk()) << "Failed to call getAllPendingScheduledTasks"; + + if (!isTaskScheduleSupported()) { + ASSERT_TRUE(outScheduleInfo.empty()) + << "Must return empty array for getAllPendingScheduledTasks " + << "if isTaskScheduleSupported is false"; + return; + } + + ASSERT_THAT(outScheduleInfo, UnorderedElementsAre(scheduleInfo1, scheduleInfo2)) + << "expected all pending schedule info mismatch"; + + mHal->unscheduleTask(TEST_CLIENT_ID, TEST_SCHEDULE_ID_1); + + status = mHal->getAllPendingScheduledTasks(TEST_CLIENT_ID, &outScheduleInfo); + + ASSERT_TRUE(status.isOk()) << "Failed to call getAllPendingScheduledTasks"; + + ASSERT_THAT(outScheduleInfo, UnorderedElementsAre(scheduleInfo2)) + << "expected all pending schedule info mismatch"; +} + +// It is possible that no remote access HAL is registered. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(VtsHalAutomotiveRemoteAccessTargetTest); + +INSTANTIATE_TEST_SUITE_P(PerInstance, VtsHalAutomotiveRemoteAccessTargetTest, + testing::ValuesIn(getAidlHalInstanceNames(IRemoteAccess::descriptor)), + PrintInstanceNameToString); + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + // Starts a process pool for callbacks. + ABinderProcess_setThreadPoolMaxThreadCount(1); + ABinderProcess_startThreadPool(); + return RUN_ALL_TESTS(); +} From ef97150dc97716bb4d53f1dfe004769e11a07194 Mon Sep 17 00:00:00 2001 From: Tang Lee Date: Sat, 27 Jan 2024 12:19:52 +0800 Subject: [PATCH 141/198] ExternalCameraHAL: improve buffer and error handling After enabling HALL Buffer Management, it requires more careful error handling and syncing. Process the buffer request error correctly. Handle the lock and states correctly. Bug: 299182874 Test: CTS passed, expecially ./cts-tradefed run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.NativeCameraDeviceTest ./cts-tradefed run cts -m CtsCameraTestCases -t android.hardware.camera2.cts.RobustnessTest Change-Id: I04d8e19a2ee78580e54340378122c724a3de8edb --- .../device/default/ExternalCameraDeviceSession.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/camera/device/default/ExternalCameraDeviceSession.cpp b/camera/device/default/ExternalCameraDeviceSession.cpp index 479167cf62..075a9f6d49 100644 --- a/camera/device/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/default/ExternalCameraDeviceSession.cpp @@ -1726,8 +1726,8 @@ Status ExternalCameraDeviceSession::processCaptureRequestError( result.outputBuffers[i].bufferId = req->buffers[i].bufferId; result.outputBuffers[i].status = BufferStatus::ERROR; if (req->buffers[i].acquireFence >= 0) { - native_handle_t* handle = native_handle_create(/*numFds*/ 1, /*numInts*/ 0); - handle->data[0] = req->buffers[i].acquireFence; + // numFds = 0 for error + native_handle_t* handle = native_handle_create(/*numFds*/ 0, /*numInts*/ 0); result.outputBuffers[i].releaseFence = android::dupToAidl(handle); native_handle_delete(handle); } @@ -1961,6 +1961,7 @@ int ExternalCameraDeviceSession::BufferRequestThread::waitForBufferRequestDone( std::chrono::milliseconds timeout = std::chrono::milliseconds(kReqProcTimeoutMs); auto st = mRequestDoneCond.wait_for(lk, timeout); if (st == std::cv_status::timeout) { + mRequestingBuffer = false; ALOGE("%s: wait for buffer request finish timeout!", __FUNCTION__); return -1; } @@ -2078,6 +2079,7 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { } } else { ALOGE("%s: requestStreamBuffers call failed!", __FUNCTION__); + return false; } mPendingReturnBufferReqs = std::move(mBufferReqs); @@ -2797,9 +2799,15 @@ bool ExternalCameraDeviceSession::OutputThread::threadLoop() { ATRACE_END(); if (res != 0) { + // HAL buffer management buffer request can fail ALOGE("%s: wait for BufferRequest done failed! res %d", __FUNCTION__, res); lk.unlock(); - return onDeviceError("%s: failed to process buffer request error!", __FUNCTION__); + Status st = parent->processCaptureRequestError(req); + if (st != Status::OK) { + return onDeviceError("%s: failed to process capture request error!", __FUNCTION__); + } + signalRequestDone(); + return true; } ALOGV("%s processing new request", __FUNCTION__); From 62105fb264c79095a58313563e00c4d4cb18f866 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Tue, 30 Jan 2024 23:47:32 +0000 Subject: [PATCH 142/198] AIDL: disable Rust explicitly Now that it's enabled by default, because this doesn't compile in Rust. Bug: 321267339 Test: m Change-Id: I01e0af965827944ba2b4b168a6e8d6c4cf81cfff --- biometrics/face/aidl/Android.bp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/biometrics/face/aidl/Android.bp b/biometrics/face/aidl/Android.bp index 7adf402f81..fadcde7892 100644 --- a/biometrics/face/aidl/Android.bp +++ b/biometrics/face/aidl/Android.bp @@ -29,6 +29,9 @@ aidl_interface { cpp: { enabled: false, }, + rust: { + enabled: false, + }, ndk: { additional_shared_libraries: [ "libnativewindow", From 046deb919b59739d37dd19299455befe589b7297 Mon Sep 17 00:00:00 2001 From: yomna Date: Wed, 31 Jan 2024 03:19:51 +0000 Subject: [PATCH 143/198] Update VtsHalRadioTargetTest: null cipher disablement APIs are optional Mark isNullCipherAndIntegrityEnabled and setNullCipherAndIntegrityEnabled as optional. Bug: b/307361090 Test: m & atest VtsHalRadioTargetTest Change-Id: I74a05b068d415cefbd87cdc53e3cc099529ad04a --- radio/aidl/vts/radio_network_test.cpp | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/radio/aidl/vts/radio_network_test.cpp b/radio/aidl/vts/radio_network_test.cpp index 867be04e85..d95de0d6d3 100644 --- a/radio/aidl/vts/radio_network_test.cpp +++ b/radio/aidl/vts/radio_network_test.cpp @@ -2375,16 +2375,9 @@ TEST_P(RadioNetworkTest, setNullCipherAndIntegrityEnabled) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_network->rspInfo.type); EXPECT_EQ(serial, radioRsp_network->rspInfo.serial); - if (aidl_version >= 3 && deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { - ASSERT_TRUE(CheckAnyOfErrors( - radioRsp_network->rspInfo.error, - {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR})); - } else { - // For aidl_version 2, API is optional - ASSERT_TRUE(CheckAnyOfErrors(radioRsp_network->rspInfo.error, - {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, - RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); - } + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_network->rspInfo.error, + {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, + RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); } /** @@ -2416,16 +2409,9 @@ TEST_P(RadioNetworkTest, isNullCipherAndIntegrityEnabled) { EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_network->rspInfo.type); EXPECT_EQ(serial, radioRsp_network->rspInfo.serial); - if (aidl_version >= 3 && deviceSupportsFeature(FEATURE_TELEPHONY_RADIO_ACCESS)) { - ASSERT_TRUE(CheckAnyOfErrors( - radioRsp_network->rspInfo.error, - {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR})); - } else { - // For aidl_version 2, API is optional - ASSERT_TRUE(CheckAnyOfErrors(radioRsp_network->rspInfo.error, - {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, - RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); - } + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_network->rspInfo.error, + {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, + RadioError::MODEM_ERR, RadioError::REQUEST_NOT_SUPPORTED})); } TEST_P(RadioNetworkTest, isCellularIdentifierTransparencyEnabled) { From 6847115a005833c62331d77f7791ab9667aac493 Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Fri, 26 Jan 2024 00:27:29 +0000 Subject: [PATCH 144/198] Camera VTS: Test only CROPPED_RAW use case for RAW_SENSOR streams There are no mandatory stream combinations for RAW_SENSOR streams that do not involve the CROPPED_RAW stream use case. So we don't need to test stream non CROPPED_RAW stream use cases with the RAW_SENSOR format, since we don't have a definite answer to whether they will be supported or not. Bug: 317773720 Test: Camera VTS on cf Test: Vendor testing Change-Id: I0870e90ae68a5e35196f0ba0afaa6b8bf7fbfbd8 Signed-off-by: Jayant Chowdhary --- camera/provider/aidl/vts/camera_aidl_test.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/camera/provider/aidl/vts/camera_aidl_test.cpp b/camera/provider/aidl/vts/camera_aidl_test.cpp index eef9362037..a3262cc975 100644 --- a/camera/provider/aidl/vts/camera_aidl_test.cpp +++ b/camera/provider/aidl/vts/camera_aidl_test.cpp @@ -2394,18 +2394,20 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres ASSERT_NE(0u, outputPreviewStreams.size()); // Combine valid and invalid stream use cases - std::vector useCases(kMandatoryUseCases); - useCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW + 1); + std::vector testedUseCases; + testedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW + 1); std::vector supportedUseCases; if (threshold.format == static_cast(PixelFormat::RAW16)) { // If the format is RAW16, supported use case is only CROPPED_RAW. // All others are unsupported for this format. - useCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW); + testedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW); supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW); supportedUseCases.push_back(ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT); } else { camera_metadata_ro_entry entry; + testedUseCases.insert(testedUseCases.end(), kMandatoryUseCases.begin(), + kMandatoryUseCases.end()); auto retcode = find_camera_metadata_ro_entry( staticMeta, ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES, &entry); if ((0 == retcode) && (entry.count > 0)) { @@ -2446,7 +2448,7 @@ void CameraAidlTest::configureStreamUseCaseInternal(const AvailableStream &thres ASSERT_TRUE(ret.isOk()); config.sessionParams = req; - for (int64_t useCase : useCases) { + for (int64_t useCase : testedUseCases) { bool useCaseSupported = std::find(supportedUseCases.begin(), supportedUseCases.end(), useCase) != supportedUseCases.end(); From 493a0cddb39a2cba392f5969be44e2b96a7f6ee2 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 4 Jan 2024 14:46:58 -0800 Subject: [PATCH 145/198] Create EmuMetadataGenerator to check meta.json. Create EmuMetadataGenerator to convert AIDL generated java files to meta.json that can be used by emulator to populate the available vhal props list. Added build rules to generate the Java files from AIDL files and check whether the meta.json file needs to be updated. Test: make sdk_car_x86_64-trunk_staging-userdebug target Bug: 318747444 Change-Id: Ib3bc7b68a1312152617fdab4598ed389447c20cd --- .../vehicle/aidl/emu_metadata/Android.bp | 26 + ...ardware.automotive.vehicle-types-meta.json | 7498 +++++++---------- .../generate_emulator_metadata.py | 136 - automotive/vehicle/aidl/impl/vhal/Android.bp | 4 + automotive/vehicle/aidl_property/Android.bp | 8 +- .../tools/generate_emu_metadata/Android.bp | 60 + .../tools/generate_emu_metadata/manifest.txt | 1 + .../car/tool/EmuMetadataGenerator.java | 403 + 8 files changed, 3398 insertions(+), 4738 deletions(-) create mode 100644 automotive/vehicle/aidl/emu_metadata/Android.bp delete mode 100755 automotive/vehicle/aidl/emu_metadata/generate_emulator_metadata.py create mode 100644 automotive/vehicle/tools/generate_emu_metadata/Android.bp create mode 100644 automotive/vehicle/tools/generate_emu_metadata/manifest.txt create mode 100644 automotive/vehicle/tools/generate_emu_metadata/src/com/android/car/tool/EmuMetadataGenerator.java diff --git a/automotive/vehicle/aidl/emu_metadata/Android.bp b/automotive/vehicle/aidl/emu_metadata/Android.bp new file mode 100644 index 0000000000..64f895fefd --- /dev/null +++ b/automotive/vehicle/aidl/emu_metadata/Android.bp @@ -0,0 +1,26 @@ +/* + * 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. + */ + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +filegroup { + name: "android.hardware.automotive.vehicle-types-meta", + srcs: [ + "android.hardware.automotive.vehicle-types-meta.json", + ], +} diff --git a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json index 6d856a8d60..c00e64cc74 100644 --- a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json +++ b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json @@ -1,4603 +1,2899 @@ [ - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleOilLevel", - "values": [ - { - "name": "CRITICALLY_LOW", - "value": 0 - }, - { - "name": "LOW", - "value": 1 - }, - { - "name": "NORMAL", - "value": 2 - }, - { - "name": "HIGH", - "value": 3 - }, - { - "name": "ERROR", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "LocationCharacterization", - "values": [ - { - "name": "PRIOR_LOCATIONS", - "value": 1 - }, - { - "name": "GYROSCOPE_FUSION", - "value": 2 - }, - { - "name": "ACCELEROMETER_FUSION", - "value": 4 - }, - { - "name": "COMPASS_FUSION", - "value": 8 - }, - { - "name": "WHEEL_SPEED_FUSION", - "value": 16 - }, - { - "name": "STEERING_ANGLE_FUSION", - "value": 32 - }, - { - "name": "CAR_SPEED_FUSION", - "value": 64 - }, - { - "name": "DEAD_RECKONED", - "value": 128 - }, - { - "name": "RAW_GNSS_ONLY", - "value": 256 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleDisplay", - "values": [ - { - "name": "MAIN", - "value": 0 - }, - { - "name": "INSTRUMENT_CLUSTER", - "value": 1 - }, - { - "name": "HUD", - "value": 2 - }, - { - "name": "INPUT", - "value": 3 - }, - { - "name": "AUXILIARY", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "CruiseControlState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "ENABLED", - "value": 1 - }, - { - "name": "ACTIVATED", - "value": 2 - }, - { - "name": "USER_OVERRIDE", - "value": 3 - }, - { - "name": "SUSPENDED", - "value": 4 - }, - { - "name": "FORCED_DEACTIVATION_WARNING", - "value": 5 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "HandsOnDetectionWarning", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "NO_WARNING", - "value": 1 - }, - { - "name": "WARNING", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleAreaWindow", - "values": [ - { - "name": "FRONT_WINDSHIELD", - "value": 1 - }, - { - "name": "REAR_WINDSHIELD", - "value": 2 - }, - { - "name": "ROW_1_LEFT", - "value": 16 - }, - { - "name": "ROW_1_RIGHT", - "value": 64 - }, - { - "name": "ROW_2_LEFT", - "value": 256 - }, - { - "name": "ROW_2_RIGHT", - "value": 1024 - }, - { - "name": "ROW_3_LEFT", - "value": 4096 - }, - { - "name": "ROW_3_RIGHT", - "value": 16384 - }, - { - "name": "ROOF_TOP_1", - "value": 65536 - }, - { - "name": "ROOF_TOP_2", - "value": 131072 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsAvailabilityStateIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "SEQUENCE_NUMBER", - "value": 1 - }, - { - "name": "NUMBER_OF_ASSOCIATED_LAYERS", - "value": 2 - }, - { - "name": "LAYERS_START", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleLightSwitch", - "values": [ - { - "name": "OFF", - "value": 0 - }, - { - "name": "ON", - "value": 1 - }, - { - "name": "DAYTIME_RUNNING", - "value": 2 - }, - { - "name": "AUTOMATIC", - "value": 256 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2IgnitionMonitorKind", - "values": [ - { - "name": "SPARK", - "value": 0 - }, - { - "name": "COMPRESSION", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHwMotionButtonStateFlag", - "values": [ - { - "name": "BUTTON_PRIMARY", - "value": 1 - }, - { - "name": "BUTTON_SECONDARY", - "value": 2 - }, - { - "name": "BUTTON_TERTIARY", - "value": 4 - }, - { - "name": "BUTTON_BACK", - "value": 8 - }, - { - "name": "BUTTON_FORWARD", - "value": 16 - }, - { - "name": "BUTTON_STYLUS_PRIMARY", - "value": 32 - }, - { - "name": "BUTTON_STYLUS_SECONDARY", - "value": 64 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehiclePropertyType", - "values": [ - { - "name": "STRING", - "value": 1048576 - }, - { - "name": "BOOLEAN", - "value": 2097152 - }, - { - "name": "INT32", - "value": 4194304 - }, - { - "name": "INT32_VEC", - "value": 4259840 - }, - { - "name": "INT64", - "value": 5242880 - }, - { - "name": "INT64_VEC", - "value": 5308416 - }, - { - "name": "FLOAT", - "value": 6291456 - }, - { - "name": "FLOAT_VEC", - "value": 6356992 - }, - { - "name": "BYTES", - "value": 7340032 - }, - { - "name": "MIXED", - "value": 14680064 - }, - { - "name": "MASK", - "value": 16711680 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleAreaDoor", - "values": [ - { - "name": "ROW_1_LEFT", - "value": 1 - }, - { - "name": "ROW_1_RIGHT", - "value": 4 - }, - { - "name": "ROW_2_LEFT", - "value": 16 - }, - { - "name": "ROW_2_RIGHT", - "value": 64 - }, - { - "name": "ROW_3_LEFT", - "value": 256 - }, - { - "name": "ROW_3_RIGHT", - "value": 1024 - }, - { - "name": "HOOD", - "value": 268435456 - }, - { - "name": "REAR", - "value": 536870912 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerBootupReason", - "values": [ - { - "name": "USER_POWER_ON", - "value": 0 - }, - { - "name": "SYSTEM_USER_DETECTION", - "value": 1 - }, - { - "name": "SYSTEM_REMOTE_ACCESS", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EmergencyLaneKeepAssistState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "ENABLED", - "value": 1 - }, - { - "name": "WARNING_LEFT", - "value": 2 - }, - { - "name": "WARNING_RIGHT", - "value": 3 - }, - { - "name": "ACTIVATED_STEER_LEFT", - "value": 4 - }, - { - "name": "ACTIVATED_STEER_RIGHT", - "value": 5 - }, - { - "name": "USER_OVERRIDE", - "value": 6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvConnectorType", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "IEC_TYPE_1_AC", - "value": 1 - }, - { - "name": "IEC_TYPE_2_AC", - "value": 2 - }, - { - "name": "IEC_TYPE_3_AC", - "value": 3 - }, - { - "name": "IEC_TYPE_4_DC", - "value": 4 - }, - { - "name": "IEC_TYPE_1_CCS_DC", - "value": 5 - }, - { - "name": "IEC_TYPE_2_CCS_DC", - "value": 6 - }, - { - "name": "TESLA_ROADSTER", - "value": 7 - }, - { - "name": "TESLA_HPWC", - "value": 8 - }, - { - "name": "TESLA_SUPERCHARGER", - "value": 9 - }, - { - "name": "GBT_AC", - "value": 10 - }, - { - "name": "GBT_DC", - "value": 11 - }, - { - "name": "OTHER", - "value": 101 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "UserIdentificationAssociationType", - "values": [ - { - "name": "INVALID", - "value": 0 - }, - { - "name": "KEY_FOB", - "value": 1 - }, - { - "name": "CUSTOM_1", - "value": 101 - }, - { - "name": "CUSTOM_2", - "value": 102 - }, - { - "name": "CUSTOM_3", - "value": 103 - }, - { - "name": "CUSTOM_4", - "value": 104 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHvacFanDirection", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "FACE", - "value": 1 - }, - { - "name": "FLOOR", - "value": 2 - }, - { - "name": "FACE_AND_FLOOR", - "value": 3 - }, - { - "name": "DEFROST", - "value": 4 - }, - { - "name": "DEFROST_AND_FLOOR", - "value": 6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleAreaWheel", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "LEFT_FRONT", - "value": 1 - }, - { - "name": "RIGHT_FRONT", - "value": 2 - }, - { - "name": "LEFT_REAR", - "value": 4 - }, - { - "name": "RIGHT_REAR", - "value": 8 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "InitialUserInfoRequestType", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "FIRST_BOOT", - "value": 1 - }, - { - "name": "FIRST_BOOT_AFTER_OTA", - "value": 2 - }, - { - "name": "COLD_BOOT", - "value": 3 - }, - { - "name": "RESUME", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "HandsOnDetectionDriverState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "HANDS_ON", - "value": 1 - }, - { - "name": "HANDS_OFF", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "CruiseControlCommand", - "values": [ - { - "name": "ACTIVATE", - "value": 1 - }, - { - "name": "SUSPEND", - "value": 2 - }, - { - "name": "INCREASE_TARGET_SPEED", - "value": 3 - }, - { - "name": "DECREASE_TARGET_SPEED", - "value": 4 - }, - { - "name": "INCREASE_TARGET_TIME_GAP", - "value": 5 - }, - { - "name": "DECREASE_TARGET_TIME_GAP", - "value": 6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "WindshieldWipersSwitch", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "OFF", - "value": 1 - }, - { - "name": "MIST", - "value": 2 - }, - { - "name": "INTERMITTENT_LEVEL_1", - "value": 3 - }, - { - "name": "INTERMITTENT_LEVEL_2", - "value": 4 - }, - { - "name": "INTERMITTENT_LEVEL_3", - "value": 5 - }, - { - "name": "INTERMITTENT_LEVEL_4", - "value": 6 - }, - { - "name": "INTERMITTENT_LEVEL_5", - "value": 7 - }, - { - "name": "CONTINUOUS_LEVEL_1", - "value": 8 - }, - { - "name": "CONTINUOUS_LEVEL_2", - "value": 9 - }, - { - "name": "CONTINUOUS_LEVEL_3", - "value": 10 - }, - { - "name": "CONTINUOUS_LEVEL_4", - "value": 11 - }, - { - "name": "CONTINUOUS_LEVEL_5", - "value": 12 - }, - { - "name": "AUTO", - "value": 13 - }, - { - "name": "SERVICE", - "value": 14 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHwMotionToolType", - "values": [ - { - "name": "TOOL_TYPE_UNKNOWN", - "value": 0 - }, - { - "name": "TOOL_TYPE_FINGER", - "value": 1 - }, - { - "name": "TOOL_TYPE_STYLUS", - "value": 2 - }, - { - "name": "TOOL_TYPE_MOUSE", - "value": 3 - }, - { - "name": "TOOL_TYPE_ERASER", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "SwitchUserStatus", - "values": [ - { - "name": "SUCCESS", - "value": 1 - }, - { - "name": "FAILURE", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvsServiceType", - "values": [ - { - "name": "REARVIEW", - "value": 0 - }, - { - "name": "SURROUNDVIEW", - "value": 1 - }, - { - "name": "FRONTVIEW", - "value": 2 - }, - { - "name": "LEFTVIEW", - "value": 3 - }, - { - "name": "RIGHTVIEW", - "value": 4 - }, - { - "name": "DRIVERVIEW", - "value": 5 - }, - { - "name": "FRONTPASSENGERSVIEW", - "value": 6 - }, - { - "name": "REARPASSENGERSVIEW", - "value": 7 - }, - { - "name": "USER_DEFINED", - "value": 1000 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "UserIdentificationAssociationValue", - "values": [ - { - "name": "UNKNOWN", - "value": 1 - }, - { - "name": "ASSOCIATED_CURRENT_USER", - "value": 2 - }, - { - "name": "ASSOCIATED_ANOTHER_USER", - "value": 3 - }, - { - "name": "NOT_ASSOCIATED_ANY_USER", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "ErrorState", - "values": [ - { - "name": "OTHER_ERROR_STATE", - "value": -1 - }, - { - "name": "NOT_AVAILABLE_DISABLED", - "value": -2 - }, - { - "name": "NOT_AVAILABLE_SPEED_LOW", - "value": -3 - }, - { - "name": "NOT_AVAILABLE_SPEED_HIGH", - "value": -4 - }, - { - "name": "NOT_AVAILABLE_POOR_VISIBILITY", - "value": -5 - }, - { - "name": "NOT_AVAILABLE_SAFETY", - "value": -6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleIgnitionState", - "values": [ - { - "name": "UNDEFINED", - "value": 0 - }, - { - "name": "LOCK", - "value": 1 - }, - { - "name": "OFF", - "value": 2 - }, - { - "name": "ACC", - "value": 3 - }, - { - "name": "ON", - "value": 4 - }, - { - "name": "START", - "value": 5 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleAreaSeat", - "values": [ - { - "name": "ROW_1_LEFT", - "value": 1 - }, - { - "name": "ROW_1_CENTER", - "value": 2 - }, - { - "name": "ROW_1_RIGHT", - "value": 4 - }, - { - "name": "ROW_2_LEFT", - "value": 16 - }, - { - "name": "ROW_2_CENTER", - "value": 32 - }, - { - "name": "ROW_2_RIGHT", - "value": 64 - }, - { - "name": "ROW_3_LEFT", - "value": 256 - }, - { - "name": "ROW_3_CENTER", - "value": 512 - }, - { - "name": "ROW_3_RIGHT", - "value": 1024 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvsServiceRequestIndex", - "values": [ - { - "name": "TYPE", - "value": 0 - }, - { - "name": "STATE", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "LaneDepartureWarningState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "NO_WARNING", - "value": 1 - }, - { - "name": "WARNING_LEFT", - "value": 2 - }, - { - "name": "WARNING_RIGHT", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2SparkIgnitionMonitors", - "values": [] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "CreateUserStatus", - "values": [ - { - "name": "SUCCESS", - "value": 1 - }, - { - "name": "FAILURE", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehiclePropertyGroup", - "values": [ - { - "name": "SYSTEM", - "value": 268435456 - }, - { - "name": "VENDOR", - "value": 536870912 - }, - { - "name": "MASK", - "value": 4026531840 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleVendorPermission", - "values": [ - { - "name": "PERMISSION_DEFAULT", - "value": 0 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_WINDOW", - "value": 1 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_WINDOW", - "value": 2 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_DOOR", - "value": 3 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_DOOR", - "value": 4 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_SEAT", - "value": 5 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_SEAT", - "value": 6 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_MIRROR", - "value": 7 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_MIRROR", - "value": 8 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_INFO", - "value": 9 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_INFO", - "value": 10 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_ENGINE", - "value": 11 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_ENGINE", - "value": 12 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_HVAC", - "value": 13 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_HVAC", - "value": 14 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_LIGHT", - "value": 15 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_LIGHT", - "value": 16 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_1", - "value": 65536 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_1", - "value": 69632 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_2", - "value": 131072 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_2", - "value": 135168 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_3", - "value": 196608 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_3", - "value": 200704 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_4", - "value": 262144 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_4", - "value": 266240 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_5", - "value": 327680 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_5", - "value": 331776 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_6", - "value": 393216 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_6", - "value": 397312 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_7", - "value": 458752 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_7", - "value": 462848 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_8", - "value": 524288 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_8", - "value": 528384 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_9", - "value": 589824 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_9", - "value": 593920 - }, - { - "name": "PERMISSION_SET_VENDOR_CATEGORY_10", - "value": 655360 - }, - { - "name": "PERMISSION_GET_VENDOR_CATEGORY_10", - "value": 659456 - }, - { - "name": "PERMISSION_NOT_ACCESSIBLE", - "value": 4026531840 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsOfferingMessageIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "PUBLISHER_ID", - "value": 1 - }, - { - "name": "NUMBER_OF_OFFERS", - "value": 2 - }, - { - "name": "OFFERING_START", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsBaseMessageIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2CompressionIgnitionMonitors", - "values": [] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "LaneKeepAssistState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "ENABLED", - "value": 1 - }, - { - "name": "ACTIVATED_STEER_LEFT", - "value": 2 - }, - { - "name": "ACTIVATED_STEER_RIGHT", - "value": 3 - }, - { - "name": "USER_OVERRIDE", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHwMotionInputAction", - "values": [ - { - "name": "ACTION_DOWN", - "value": 0 - }, - { - "name": "ACTION_UP", - "value": 1 - }, - { - "name": "ACTION_MOVE", - "value": 2 - }, - { - "name": "ACTION_CANCEL", - "value": 3 - }, - { - "name": "ACTION_OUTSIDE", - "value": 4 - }, - { - "name": "ACTION_POINTER_DOWN", - "value": 5 - }, - { - "name": "ACTION_POINTER_UP", - "value": 6 - }, - { - "name": "ACTION_HOVER_MOVE", - "value": 7 - }, - { - "name": "ACTION_SCROLL", - "value": 8 - }, - { - "name": "ACTION_HOVER_ENTER", - "value": 9 - }, - { - "name": "ACTION_HOVER_EXIT", - "value": 10 - }, - { - "name": "ACTION_BUTTON_PRESS", - "value": 11 - }, - { - "name": "ACTION_BUTTON_RELEASE", - "value": 12 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerStateConfigFlag", - "values": [ - { - "name": "ENABLE_DEEP_SLEEP_FLAG", - "value": 1 - }, - { - "name": "CONFIG_SUPPORT_TIMER_POWER_ON_FLAG", - "value": 2 - }, - { - "name": "ENABLE_HIBERNATION_FLAG", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2SecondaryAirStatus", - "values": [ - { - "name": "UPSTREAM", - "value": 1 - }, - { - "name": "DOWNSTREAM_OF_CATALYCIC_CONVERTER", - "value": 2 - }, - { - "name": "FROM_OUTSIDE_OR_OFF", - "value": 4 - }, - { - "name": "PUMP_ON_FOR_DIAGNOSTICS", - "value": 8 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsPublisherInformationIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "PUBLISHER_ID", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerStateReq", - "values": [ - { - "name": "ON", - "value": 0 - }, - { - "name": "SHUTDOWN_PREPARE", - "value": 1 - }, - { - "name": "CANCEL_SHUTDOWN", - "value": 2 - }, - { - "name": "FINISHED", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "WindshieldWipersState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "OFF", - "value": 1 - }, - { - "name": "ON", - "value": 2 - }, - { - "name": "SERVICE", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "LaneCenteringAssistState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "ENABLED", - "value": 1 - }, - { - "name": "ACTIVATION_REQUESTED", - "value": 2 - }, - { - "name": "ACTIVATED", - "value": 3 - }, - { - "name": "USER_OVERRIDE", - "value": 4 - }, - { - "name": "FORCED_DEACTIVATION_WARNING", - "value": 5 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "UserIdentificationAssociationSetValue", - "values": [ - { - "name": "INVALID", - "value": 0 - }, - { - "name": "ASSOCIATE_CURRENT_USER", - "value": 1 - }, - { - "name": "DISASSOCIATE_CURRENT_USER", - "value": 2 - }, - { - "name": "DISASSOCIATE_ALL_USERS", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2CommonIgnitionMonitors", - "values": [] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHwMotionInputSource", - "values": [ - { - "name": "SOURCE_UNKNOWN", - "value": 0 - }, - { - "name": "SOURCE_KEYBOARD", - "value": 1 - }, - { - "name": "SOURCE_DPAD", - "value": 2 - }, - { - "name": "SOURCE_GAMEPAD", - "value": 3 - }, - { - "name": "SOURCE_TOUCHSCREEN", - "value": 4 - }, - { - "name": "SOURCE_MOUSE", - "value": 5 - }, - { - "name": "SOURCE_STYLUS", - "value": 6 - }, - { - "name": "SOURCE_BLUETOOTH_STYLUS", - "value": 7 - }, - { - "name": "SOURCE_TRACKBALL", - "value": 8 - }, - { - "name": "SOURCE_MOUSE_RELATIVE", - "value": 9 - }, - { - "name": "SOURCE_TOUCHPAD", - "value": 10 - }, - { - "name": "SOURCE_TOUCH_NAVIGATION", - "value": 11 - }, - { - "name": "SOURCE_ROTARY_ENCODER", - "value": 12 - }, - { - "name": "SOURCE_JOYSTICK", - "value": 13 - }, - { - "name": "SOURCE_HDMI", - "value": 14 - }, - { - "name": "SOURCE_SENSOR", - "value": 15 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "ForwardCollisionWarningState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "NO_WARNING", - "value": 1 - }, - { - "name": "WARNING", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleArea", - "values": [ - { - "name": "GLOBAL", - "value": 16777216 - }, - { - "name": "WINDOW", - "value": 50331648 - }, - { - "name": "MIRROR", - "value": 67108864 - }, - { - "name": "SEAT", - "value": 83886080 - }, - { - "name": "DOOR", - "value": 100663296 - }, - { - "name": "WHEEL", - "value": 117440512 - }, - { - "name": "MASK", - "value": 251658240 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "PortLocationType", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "FRONT_LEFT", - "value": 1 - }, - { - "name": "FRONT_RIGHT", - "value": 2 - }, - { - "name": "REAR_RIGHT", - "value": 3 - }, - { - "name": "REAR_LEFT", - "value": 4 - }, - { - "name": "FRONT", - "value": 5 - }, - { - "name": "REAR", - "value": 6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "InitialUserInfoResponseAction", - "values": [ - { - "name": "DEFAULT", - "value": 0 - }, - { - "name": "SWITCH", - "value": 1 - }, - { - "name": "CREATE", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsSubscriptionsStateIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "SEQUENCE_NUMBER", - "value": 1 - }, - { - "name": "NUMBER_OF_LAYERS", - "value": 2 - }, - { - "name": "NUMBER_OF_ASSOCIATED_LAYERS", - "value": 3 - }, - { - "name": "SUBSCRIPTIONS_START", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "CruiseControlType", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "STANDARD", - "value": 1 - }, - { - "name": "ADAPTIVE", - "value": 2 - }, - { - "name": "PREDICTIVE", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "DiagnosticFloatSensorIndex", - "values": [ - { - "name": "CALCULATED_ENGINE_LOAD", - "value": 0 - }, - { - "name": "ENGINE_COOLANT_TEMPERATURE", - "value": 1 - }, - { - "name": "SHORT_TERM_FUEL_TRIM_BANK1", - "value": 2 - }, - { - "name": "LONG_TERM_FUEL_TRIM_BANK1", - "value": 3 - }, - { - "name": "SHORT_TERM_FUEL_TRIM_BANK2", - "value": 4 - }, - { - "name": "LONG_TERM_FUEL_TRIM_BANK2", - "value": 5 - }, - { - "name": "FUEL_PRESSURE", - "value": 6 - }, - { - "name": "INTAKE_MANIFOLD_ABSOLUTE_PRESSURE", - "value": 7 - }, - { - "name": "ENGINE_RPM", - "value": 8 - }, - { - "name": "VEHICLE_SPEED", - "value": 9 - }, - { - "name": "TIMING_ADVANCE", - "value": 10 - }, - { - "name": "MAF_AIR_FLOW_RATE", - "value": 11 - }, - { - "name": "THROTTLE_POSITION", - "value": 12 - }, - { - "name": "OXYGEN_SENSOR1_VOLTAGE", - "value": 13 - }, - { - "name": "OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM", - "value": 14 - }, - { - "name": "OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 15 - }, - { - "name": "OXYGEN_SENSOR2_VOLTAGE", - "value": 16 - }, - { - "name": "OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM", - "value": 17 - }, - { - "name": "OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 18 - }, - { - "name": "OXYGEN_SENSOR3_VOLTAGE", - "value": 19 - }, - { - "name": "OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM", - "value": 20 - }, - { - "name": "OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 21 - }, - { - "name": "OXYGEN_SENSOR4_VOLTAGE", - "value": 22 - }, - { - "name": "OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM", - "value": 23 - }, - { - "name": "OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 24 - }, - { - "name": "OXYGEN_SENSOR5_VOLTAGE", - "value": 25 - }, - { - "name": "OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM", - "value": 26 - }, - { - "name": "OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 27 - }, - { - "name": "OXYGEN_SENSOR6_VOLTAGE", - "value": 28 - }, - { - "name": "OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM", - "value": 29 - }, - { - "name": "OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 30 - }, - { - "name": "OXYGEN_SENSOR7_VOLTAGE", - "value": 31 - }, - { - "name": "OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM", - "value": 32 - }, - { - "name": "OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 33 - }, - { - "name": "OXYGEN_SENSOR8_VOLTAGE", - "value": 34 - }, - { - "name": "OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM", - "value": 35 - }, - { - "name": "OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 36 - }, - { - "name": "FUEL_RAIL_PRESSURE", - "value": 37 - }, - { - "name": "FUEL_RAIL_GAUGE_PRESSURE", - "value": 38 - }, - { - "name": "COMMANDED_EXHAUST_GAS_RECIRCULATION", - "value": 39 - }, - { - "name": "EXHAUST_GAS_RECIRCULATION_ERROR", - "value": 40 - }, - { - "name": "COMMANDED_EVAPORATIVE_PURGE", - "value": 41 - }, - { - "name": "FUEL_TANK_LEVEL_INPUT", - "value": 42 - }, - { - "name": "EVAPORATION_SYSTEM_VAPOR_PRESSURE", - "value": 43 - }, - { - "name": "CATALYST_TEMPERATURE_BANK1_SENSOR1", - "value": 44 - }, - { - "name": "CATALYST_TEMPERATURE_BANK2_SENSOR1", - "value": 45 - }, - { - "name": "CATALYST_TEMPERATURE_BANK1_SENSOR2", - "value": 46 - }, - { - "name": "CATALYST_TEMPERATURE_BANK2_SENSOR2", - "value": 47 - }, - { - "name": "ABSOLUTE_LOAD_VALUE", - "value": 48 - }, - { - "name": "FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO", - "value": 49 - }, - { - "name": "RELATIVE_THROTTLE_POSITION", - "value": 50 - }, - { - "name": "ABSOLUTE_THROTTLE_POSITION_B", - "value": 51 - }, - { - "name": "ABSOLUTE_THROTTLE_POSITION_C", - "value": 52 - }, - { - "name": "ACCELERATOR_PEDAL_POSITION_D", - "value": 53 - }, - { - "name": "ACCELERATOR_PEDAL_POSITION_E", - "value": 54 - }, - { - "name": "ACCELERATOR_PEDAL_POSITION_F", - "value": 55 - }, - { - "name": "COMMANDED_THROTTLE_ACTUATOR", - "value": 56 - }, - { - "name": "ETHANOL_FUEL_PERCENTAGE", - "value": 57 - }, - { - "name": "ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE", - "value": 58 - }, - { - "name": "SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1", - "value": 59 - }, - { - "name": "SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2", - "value": 60 - }, - { - "name": "SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3", - "value": 61 - }, - { - "name": "SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4", - "value": 62 - }, - { - "name": "LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1", - "value": 63 - }, - { - "name": "LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2", - "value": 64 - }, - { - "name": "LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3", - "value": 65 - }, - { - "name": "LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4", - "value": 66 - }, - { - "name": "RELATIVE_ACCELERATOR_PEDAL_POSITION", - "value": 67 - }, - { - "name": "HYBRID_BATTERY_PACK_REMAINING_LIFE", - "value": 68 - }, - { - "name": "FUEL_INJECTION_TIMING", - "value": 69 - }, - { - "name": "ENGINE_FUEL_RATE", - "value": 70 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "GsrComplianceRequirementType", - "values": [ - { - "name": "GSR_COMPLIANCE_NOT_REQUIRED", - "value": 0 - }, - { - "name": "GSR_COMPLIANCE_REQUIRED_V1", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleLightState", - "values": [ - { - "name": "OFF", - "value": 0 - }, - { - "name": "ON", - "value": 1 - }, - { - "name": "DAYTIME_RUNNING", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsMessageWithLayerIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "LAYER_TYPE", - "value": 1 - }, - { - "name": "LAYER_SUBTYPE", - "value": 2 - }, - { - "name": "LAYER_VERSION", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvRegenerativeBrakingState", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "DISABLED", - "value": 1 - }, - { - "name": "PARTIALLY_ENABLED", - "value": 2 - }, - { - "name": "FULLY_ENABLED", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerStateReqIndex", - "values": [ - { - "name": "STATE", - "value": 0 - }, - { - "name": "ADDITIONAL", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "RotaryInputType", - "values": [ - { - "name": "ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION", - "value": 0 - }, - { - "name": "ROTARY_INPUT_TYPE_AUDIO_VOLUME", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsMessageType", - "values": [ - { - "name": "SUBSCRIBE", - "value": 1 - }, - { - "name": "SUBSCRIBE_TO_PUBLISHER", - "value": 2 - }, - { - "name": "UNSUBSCRIBE", - "value": 3 - }, - { - "name": "UNSUBSCRIBE_TO_PUBLISHER", - "value": 4 - }, - { - "name": "OFFERING", - "value": 5 - }, - { - "name": "AVAILABILITY_REQUEST", - "value": 6 - }, - { - "name": "SUBSCRIPTIONS_REQUEST", - "value": 7 - }, - { - "name": "AVAILABILITY_RESPONSE", - "value": 8 - }, - { - "name": "AVAILABILITY_CHANGE", - "value": 9 - }, - { - "name": "SUBSCRIPTIONS_RESPONSE", - "value": 10 - }, - { - "name": "SUBSCRIPTIONS_CHANGE", - "value": 11 - }, - { - "name": "DATA", - "value": 12 - }, - { - "name": "PUBLISHER_ID_REQUEST", - "value": 13 - }, - { - "name": "PUBLISHER_ID_RESPONSE", - "value": 14 - }, - { - "name": "PUBLISHER_INFORMATION_REQUEST", - "value": 15 - }, - { - "name": "PUBLISHER_INFORMATION_RESPONSE", - "value": 16 - }, - { - "name": "START_SESSION", - "value": 17 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "FuelType", - "values": [ - { - "name": "FUEL_TYPE_UNKNOWN", - "value": 0 - }, - { - "name": "FUEL_TYPE_UNLEADED", - "value": 1 - }, - { - "name": "FUEL_TYPE_LEADED", - "value": 2 - }, - { - "name": "FUEL_TYPE_DIESEL_1", - "value": 3 - }, - { - "name": "FUEL_TYPE_DIESEL_2", - "value": 4 - }, - { - "name": "FUEL_TYPE_BIODIESEL", - "value": 5 - }, - { - "name": "FUEL_TYPE_E85", - "value": 6 - }, - { - "name": "FUEL_TYPE_LPG", - "value": 7 - }, - { - "name": "FUEL_TYPE_CNG", - "value": 8 - }, - { - "name": "FUEL_TYPE_LNG", - "value": 9 - }, - { - "name": "FUEL_TYPE_ELECTRIC", - "value": 10 - }, - { - "name": "FUEL_TYPE_HYDROGEN", - "value": 11 - }, - { - "name": "FUEL_TYPE_OTHER", - "value": 12 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleSeatOccupancyState", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "VACANT", - "value": 1 - }, - { - "name": "OCCUPIED", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvStoppingMode", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "CREEP", - "value": 1 - }, - { - "name": "ROLL", - "value": 2 - }, - { - "name": "HOLD", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "AutomaticEmergencyBrakingState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "ENABLED", - "value": 1 - }, - { - "name": "ACTIVATED", - "value": 2 - }, - { - "name": "USER_OVERRIDE", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerStateReport", - "values": [ - { - "name": "WAIT_FOR_VHAL", - "value": 1 - }, - { - "name": "DEEP_SLEEP_ENTRY", - "value": 2 - }, - { - "name": "DEEP_SLEEP_EXIT", - "value": 3 - }, - { - "name": "SHUTDOWN_POSTPONE", - "value": 4 - }, - { - "name": "SHUTDOWN_START", - "value": 5 - }, - { - "name": "ON", - "value": 6 - }, - { - "name": "SHUTDOWN_PREPARE", - "value": 7 - }, - { - "name": "SHUTDOWN_CANCELLED", - "value": 8 - }, - { - "name": "HIBERNATION_ENTRY", - "value": 9 - }, - { - "name": "HIBERNATION_EXIT", - "value": 10 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "SwitchUserMessageType", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "LEGACY_ANDROID_SWITCH", - "value": 1 - }, - { - "name": "ANDROID_SWITCH", - "value": 2 - }, - { - "name": "VEHICLE_RESPONSE", - "value": 3 - }, - { - "name": "VEHICLE_REQUEST", - "value": 4 - }, - { - "name": "ANDROID_POST_SWITCH", - "value": 5 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleAreaMirror", - "values": [ - { - "name": "DRIVER_LEFT", - "value": 1 - }, - { - "name": "DRIVER_RIGHT", - "value": 2 - }, - { - "name": "DRIVER_CENTER", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "TrailerState", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "NOT_PRESENT", - "value": 1 - }, - { - "name": "PRESENT", - "value": 2 - }, - { - "name": "ERROR", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvsServiceState", - "values": [ - { - "name": "OFF", - "value": 0 - }, - { - "name": "ON", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleHwKeyInputAction", - "values": [ - { - "name": "ACTION_DOWN", - "value": 0 - }, - { - "name": "ACTION_UP", - "value": 1 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "BlindSpotWarningState", - "values": [ - { - "name": "OTHER", - "value": 0 - }, - { - "name": "NO_WARNING", - "value": 1 - }, - { - "name": "WARNING", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleGear", - "values": [ - { - "name": "GEAR_UNKNOWN", - "value": 0 - }, - { - "name": "GEAR_NEUTRAL", - "value": 1 - }, - { - "name": "GEAR_REVERSE", - "value": 2 - }, - { - "name": "GEAR_PARK", - "value": 4 - }, - { - "name": "GEAR_DRIVE", - "value": 8 - }, - { - "name": "GEAR_1", - "value": 16 - }, - { - "name": "GEAR_2", - "value": 32 - }, - { - "name": "GEAR_3", - "value": 64 - }, - { - "name": "GEAR_4", - "value": 128 - }, - { - "name": "GEAR_5", - "value": 256 - }, - { - "name": "GEAR_6", - "value": 512 - }, - { - "name": "GEAR_7", - "value": 1024 - }, - { - "name": "GEAR_8", - "value": 2048 - }, - { - "name": "GEAR_9", - "value": 4096 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsStartSessionMessageIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "SERVICE_ID", - "value": 1 - }, - { - "name": "CLIENT_ID", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2FuelSystemStatus", - "values": [ - { - "name": "OPEN_INSUFFICIENT_ENGINE_TEMPERATURE", - "value": 1 - }, - { - "name": "CLOSED_LOOP", - "value": 2 - }, - { - "name": "OPEN_ENGINE_LOAD_OR_DECELERATION", - "value": 4 - }, - { - "name": "OPEN_SYSTEM_FAILURE", - "value": 8 - }, - { - "name": "CLOSED_LOOP_BUT_FEEDBACK_FAULT", - "value": 16 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "ElectronicTollCollectionCardStatus", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "ELECTRONIC_TOLL_COLLECTION_CARD_VALID", - "value": 1 - }, - { - "name": "ELECTRONIC_TOLL_COLLECTION_CARD_INVALID", - "value": 2 - }, - { - "name": "ELECTRONIC_TOLL_COLLECTION_CARD_NOT_INSERTED", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleApPowerStateShutdownParam", - "values": [ - { - "name": "SHUTDOWN_IMMEDIATELY", - "value": 1 - }, - { - "name": "CAN_SLEEP", - "value": 2 - }, - { - "name": "SHUTDOWN_ONLY", - "value": 3 - }, - { - "name": "SLEEP_IMMEDIATELY", - "value": 4 - }, - { - "name": "HIBERNATE_IMMEDIATELY", - "value": 5 - }, - { - "name": "CAN_HIBERNATE", - "value": 6 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "CustomInputType", - "values": [ - { - "name": "CUSTOM_EVENT_F1", - "value": 1001 - }, - { - "name": "CUSTOM_EVENT_F2", - "value": 1002 - }, - { - "name": "CUSTOM_EVENT_F3", - "value": 1003 - }, - { - "name": "CUSTOM_EVENT_F4", - "value": 1004 - }, - { - "name": "CUSTOM_EVENT_F5", - "value": 1005 - }, - { - "name": "CUSTOM_EVENT_F6", - "value": 1006 - }, - { - "name": "CUSTOM_EVENT_F7", - "value": 1007 - }, - { - "name": "CUSTOM_EVENT_F8", - "value": 1008 - }, - { - "name": "CUSTOM_EVENT_F9", - "value": 1009 - }, - { - "name": "CUSTOM_EVENT_F10", - "value": 1010 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleTurnSignal", - "values": [ - { - "name": "NONE", - "value": 0 - }, - { - "name": "RIGHT", - "value": 1 - }, - { - "name": "LEFT", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "ElectronicTollCollectionCardType", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "JP_ELECTRONIC_TOLL_COLLECTION_CARD", - "value": 1 - }, - { - "name": "JP_ELECTRONIC_TOLL_COLLECTION_CARD_V2", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleProperty", - "values": [ - { - "name": "Undefined property.", - "value": 0 - }, - { - "name": "VIN of vehicle", - "value": 286261504, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Manufacturer of vehicle", - "value": 286261505, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Model of vehicle", - "value": 286261506, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Model year of vehicle.", - "value": 289407235, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:YEAR" - }, - { - "name": "Fuel capacity of the vehicle in milliliters", - "value": 291504388, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MILLILITER" - }, - { - "name": "List of fuels the vehicle may use.", - "value": 289472773, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "data_enum": "FuelType" - }, - { - "name": "Nominal battery capacity for EV or hybrid vehicle", - "value": 291504390, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:WH" - }, - { - "name": "List of connectors this EV may use", - "value": 289472775, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "data_enum": "EvConnectorType", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Fuel door location", - "value": 289407240, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "data_enum": "PortLocationType", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "EV port location", - "value": 289407241, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "data_enum": "PortLocationType" - }, - { - "name": "INFO_DRIVER_SEAT", - "value": 356516106, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "data_enum": "VehicleAreaSeat", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Exterior dimensions of vehicle.", - "value": 289472779, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MILLIMETER" - }, - { - "name": "Multiple EV port locations", - "value": 289472780, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "data_enum": "PortLocationType" - }, - { - "name": "Current odometer value of the vehicle", - "value": 291504644, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:KILOMETER" - }, - { - "name": "Speed of the vehicle", - "value": 291504647, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:METER_PER_SEC" - }, - { - "name": "Speed of the vehicle for displays", - "value": 291504648, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:METER_PER_SEC" - }, - { - "name": "Front bicycle model steering angle for vehicle", - "value": 291504649, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:DEGREES" - }, - { - "name": "Rear bicycle model steering angle for vehicle", - "value": 291504656, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:DEGREES" - }, - { - "name": "Temperature of engine coolant", - "value": 291504897, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:CELSIUS" - }, - { - "name": "Engine oil level", - "value": 289407747, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleOilLevel" - }, - { - "name": "Temperature of engine oil", - "value": 291504900, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:CELSIUS" - }, - { - "name": "Engine rpm", - "value": 291504901, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:RPM" - }, - { - "name": "Reports wheel ticks", - "value": 290521862, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "FUEL_LEVEL", - "value": 291504903, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MILLILITER" - }, - { - "name": "Fuel door open", - "value": 287310600, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Battery level for EV or hybrid vehicle", - "value": 291504905, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:WH" - }, - { - "name": "Current battery capacity for EV or hybrid vehicle", - "value": 291504909, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:WH" - }, - { - "name": "EV charge port open", - "value": 287310602, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "EV charge port connected", - "value": 287310603, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "EV instantaneous charge rate in milliwatts", - "value": 291504908, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MW" - }, - { - "name": "Range remaining", - "value": 291504904, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ_WRITE", - "unit": "VehicleUnit:METER" - }, - { - "name": "Tire pressure", - "value": 392168201, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:KILOPASCAL" - }, - { - "name": "Critically low tire pressure", - "value": 392168202, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:KILOPASCAL" - }, - { - "name": "Represents feature for engine idle automatic stop.", - "value": 287310624, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Currently selected gear", - "value": 289408000, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleGear" - }, - { - "name": "CURRENT_GEAR", - "value": 289408001, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleGear" - }, - { - "name": "Parking brake state.", - "value": 287310850, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "PARKING_BRAKE_AUTO_APPLY", - "value": 287310851, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Regenerative braking level of a electronic vehicle", - "value": 289408012, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Warning for fuel low level.", - "value": 287310853, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Night mode", - "value": 287310855, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "State of the vehicles turn signals", - "value": 289408008, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleTurnSignal" - }, - { - "name": "Represents ignition state", - "value": 289408009, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleIgnitionState" - }, - { - "name": "ABS is active", - "value": 287310858, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Traction Control is active", - "value": 287310859, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Represents property for the current stopping mode of the vehicle.", - "value": 289408013, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "EvStoppingMode" - }, - { - "name": "HVAC Properties", - "value": 356517120, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Fan direction setting", - "value": 356517121, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleHvacFanDirection" - }, - { - "name": "HVAC current temperature.", - "value": 358614274, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:CELSIUS" - }, - { - "name": "HVAC_TEMPERATURE_SET", - "value": 358614275, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "unit": "VehicleUnit:CELSIUS" - }, - { - "name": "HVAC_DEFROSTER", - "value": 320865540, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_AC_ON", - "value": 354419973, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "config_flags": "Supported" - }, - { - "name": "HVAC_MAX_AC_ON", - "value": 354419974, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_MAX_DEFROST_ON", - "value": 354419975, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_RECIRC_ON", - "value": 354419976, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Enable temperature coupling between areas.", - "value": 354419977, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_AUTO_ON", - "value": 354419978, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_SEAT_TEMPERATURE", - "value": 356517131, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Side Mirror Heat", - "value": 339739916, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_STEERING_WHEEL_HEAT", - "value": 289408269, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Temperature units for display", - "value": 289408270, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleUnit" - }, - { - "name": "Actual fan speed", - "value": 356517135, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "HVAC_POWER_ON", - "value": 354419984, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Fan Positions Available", - "value": 356582673, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleHvacFanDirection" - }, - { - "name": "HVAC_AUTO_RECIRC_ON", - "value": 354419986, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat ventilation", - "value": 356517139, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HVAC_ELECTRIC_DEFROSTER_ON", - "value": 320865556, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Suggested values for setting HVAC temperature.", - "value": 291570965, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Distance units for display", - "value": 289408512, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleUnit" - }, - { - "name": "Fuel volume units for display", - "value": 289408513, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleUnit" - }, - { - "name": "Tire pressure units for display", - "value": 289408514, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleUnit" - }, - { - "name": "EV battery units for display", - "value": 289408515, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleUnit" - }, - { - "name": "Fuel consumption units for display", - "value": 287311364, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Speed units for display", - "value": 289408517, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "ANDROID_EPOCH_TIME", - "value": 290457094, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE", - "unit": "VehicleUnit:MILLI_SECS" - }, - { - "name": "External encryption binding seed.", - "value": 292554247, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Outside temperature", - "value": 291505923, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:CELSIUS" - }, - { - "name": "Property to control power state of application processor", - "value": 289475072, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Property to report power state of application processor", - "value": 289475073, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "AP_POWER_BOOTUP_REASON", - "value": 289409538, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Property to represent brightness of the display.", - "value": 289409539, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Property to represent brightness of the displays which are controlled separately.", - "value": 289475076, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HW_KEY_INPUT", - "value": 289475088, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "config_flags": "" - }, - { - "name": "HW_KEY_INPUT_V2", - "value": 367004177, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "config_flags": "" - }, - { - "name": "HW_MOTION_INPUT", - "value": 367004178, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "config_flags": "" - }, - { - "name": "HW_ROTARY_INPUT", - "value": 289475104, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "data_enum": "RotaryInputType", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Defines a custom OEM partner input event.", - "value": 289475120, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "data_enum": "CustomInputType", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "DOOR_POS", - "value": 373295872, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Door move", - "value": 373295873, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Door lock", - "value": 371198722, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Door child lock feature enabled", - "value": 371198723, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Z Position", - "value": 339741504, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Z Move", - "value": 339741505, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Y Position", - "value": 339741506, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Y Move", - "value": 339741507, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Lock", - "value": 287312708, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Mirror Fold", - "value": 287312709, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Represents property for Mirror Auto Fold feature.", - "value": 337644358, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Represents property for Mirror Auto Tilt feature.", - "value": 337644359, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat memory select", - "value": 356518784, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Seat memory set", - "value": 356518785, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Seatbelt buckled", - "value": 354421634, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seatbelt height position", - "value": 356518787, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seatbelt height move", - "value": 356518788, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_FORE_AFT_POS", - "value": 356518789, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_FORE_AFT_MOVE", - "value": 356518790, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat backrest angle 1 position", - "value": 356518791, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat backrest angle 1 move", - "value": 356518792, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat backrest angle 2 position", - "value": 356518793, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat backrest angle 2 move", - "value": 356518794, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat height position", - "value": 356518795, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat height move", - "value": 356518796, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat depth position", - "value": 356518797, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat depth move", - "value": 356518798, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat tilt position", - "value": 356518799, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat tilt move", - "value": 356518800, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_LUMBAR_FORE_AFT_POS", - "value": 356518801, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_LUMBAR_FORE_AFT_MOVE", - "value": 356518802, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Lumbar side support position", - "value": 356518803, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Lumbar side support move", - "value": 356518804, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_HEADREST_HEIGHT_POS", - "value": 289409941, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Headrest height position", - "value": 356518820, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Headrest height move", - "value": 356518806, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Headrest angle position", - "value": 356518807, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Headrest angle move", - "value": 356518808, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_HEADREST_FORE_AFT_POS", - "value": 356518809, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_HEADREST_FORE_AFT_MOVE", - "value": 356518810, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Represents property for the seat footwell lights state.", - "value": 356518811, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Represents property for the seat footwell lights switch.", - "value": 356518812, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Represents property for Seat easy access feature.", - "value": 354421661, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_AIRBAG_ENABLED", - "value": 354421662, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_CUSHION_SIDE_SUPPORT_POS", - "value": 356518815, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Represents property for movement direction and speed of seat cushion side support.", - "value": 356518816, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_LUMBAR_VERTICAL_POS", - "value": 356518817, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Represents property for vertical movement direction and speed of seat lumbar support.", - "value": 356518818, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "SEAT_WALK_IN_POS", - "value": 356518819, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Seat Occupancy", - "value": 356518832, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleSeatOccupancyState" - }, - { - "name": "Window Position", - "value": 322964416, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Window Move", - "value": 322964417, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Window Lock", - "value": 320867268, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "WINDSHIELD_WIPERS_PERIOD", - "value": 322964421, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MILLI_SECS" - }, - { - "name": "Windshield wipers state.", - "value": 322964422, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "WindshieldWipersState" - }, - { - "name": "Windshield wipers switch.", - "value": 322964423, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "WindshieldWipersSwitch" - }, - { - "name": "Steering wheel depth position", - "value": 289410016, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel depth movement", - "value": 289410017, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel height position", - "value": 289410018, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel height movement", - "value": 289410019, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel theft lock feature enabled", - "value": 287312868, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel locked", - "value": 287312869, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Steering wheel easy access feature enabled", - "value": 287312870, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Property that represents the current position of the glove box door.", - "value": 356518896, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Lock or unlock the glove box.", - "value": 354421745, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "VEHICLE_MAP_SERVICE", - "value": 299895808, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Characterization of inputs used for computing location.", - "value": 289410064, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "OBD2 Live Sensor Data", - "value": 299896064, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "OBD2 Freeze Frame Sensor Data", - "value": 299896065, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "OBD2 Freeze Frame Information", - "value": 299896066, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "OBD2 Freeze Frame Clear", - "value": 299896067, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Headlights State", - "value": 289410560, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "High beam lights state", - "value": 289410561, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Fog light state", - "value": 289410562, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Hazard light status", - "value": 289410563, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Headlight switch", - "value": 289410576, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "High beam light switch", - "value": 289410577, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Fog light switch", - "value": 289410578, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Hazard light switch", - "value": 289410579, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Cabin lights", - "value": 289410817, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Cabin lights switch", - "value": 289410818, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Reading lights", - "value": 356519683, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Reading lights switch", - "value": 356519684, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Steering wheel lights state", - "value": 289410828, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Steering wheel lights switch", - "value": 289410829, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Support customize permissions for vendor properties", - "value": 287313669, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Allow disabling optional featurs from vhal.", - "value": 286265094, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Defines the initial Android user to be used during initialization.", - "value": 299896583, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Defines a request to switch the foreground Android user.", - "value": 299896584, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Called by the Android System after an Android user was created.", - "value": 299896585, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Called by the Android System after an Android user was removed.", - "value": 299896586, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "USER_IDENTIFICATION_ASSOCIATION", - "value": 299896587, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "EVS_SERVICE_REQUEST", - "value": 289476368, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Defines a request to apply power policy.", - "value": 286265121, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "POWER_POLICY_GROUP_REQ", - "value": 286265122, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Notifies the current power policy to VHAL layer.", - "value": 286265123, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "WATCHDOG_ALIVE", - "value": 290459441, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Defines a process terminated by car watchdog and the reason of termination.", - "value": 299896626, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Defines an event that VHAL signals to car watchdog as a heartbeat.", - "value": 290459443, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Starts the ClusterUI in cluster display.", - "value": 289410868, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Changes the state of the cluster display.", - "value": 289476405, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Reports the current display state and ClusterUI state.", - "value": 299896630, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Requests to change the cluster display state to show some ClusterUI.", - "value": 289410871, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Informs the current navigation state.", - "value": 292556600, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE" - }, - { - "name": "Electronic Toll Collection card type.", - "value": 289410873, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ElectronicTollCollectionCardType" - }, - { - "name": "Electronic Toll Collection card status.", - "value": 289410874, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ElectronicTollCollectionCardStatus" - }, - { - "name": "Front fog lights state", - "value": 289410875, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Front fog lights switch", - "value": 289410876, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Rear fog lights state", - "value": 289410877, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "VehicleLightState" - }, - { - "name": "Rear fog lights switch", - "value": 289410878, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "VehicleLightSwitch" - }, - { - "name": "Indicates the maximum current draw threshold for charging set by the user", - "value": 291508031, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "unit": "VehicleUnit:AMPERE" - }, - { - "name": "Indicates the maximum charge percent threshold set by the user", - "value": 291508032, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Charging state of the car", - "value": 289410881, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "EvChargeState" - }, - { - "name": "Start or stop charging the EV battery", - "value": 287313730, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Estimated charge time remaining in seconds", - "value": 289410883, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:SECS" - }, - { - "name": "EV_REGENERATIVE_BRAKING_STATE", - "value": 289410884, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "EvRegenerativeBrakingState" - }, - { - "name": "Indicates if there is a trailer present or not.", - "value": 289410885, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "TrailerState" - }, - { - "name": "VEHICLE_CURB_WEIGHT", - "value": 289410886, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:KILOGRAM" - }, - { - "name": "GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT", - "value": 289410887, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ", - "data_enum": "GsrComplianceRequirementType" - }, - { - "name": "SUPPORTED_PROPERTY_IDS", - "value": 289476424, - "change_mode": "VehiclePropertyChangeMode:STATIC", - "access": "VehiclePropertyAccess:READ" - }, - { - "name": "Request the head unit to be shutdown.", - "value": 289410889, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE", - "data_enum": "VehicleApPowerStateShutdownParam" - }, - { - "name": "Whether the vehicle is currently in use.", - "value": 287313738, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "Start of ADAS Properties", - "value": 287313920, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "AUTOMATIC_EMERGENCY_BRAKING_STATE", - "value": 289411073, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "FORWARD_COLLISION_WARNING_ENABLED", - "value": 287313922, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "FORWARD_COLLISION_WARNING_STATE", - "value": 289411075, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "BLIND_SPOT_WARNING_ENABLED", - "value": 287313924, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "BLIND_SPOT_WARNING_STATE", - "value": 339742725, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "LANE_DEPARTURE_WARNING_ENABLED", - "value": 287313926, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "LANE_DEPARTURE_WARNING_STATE", - "value": 289411079, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "LANE_KEEP_ASSIST_ENABLED", - "value": 287313928, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "LANE_KEEP_ASSIST_STATE", - "value": 289411081, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "LANE_CENTERING_ASSIST_ENABLED", - "value": 287313930, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "LANE_CENTERING_ASSIST_COMMAND", - "value": 289411083, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE", - "data_enum": "LaneCenteringAssistCommand" - }, - { - "name": "LANE_CENTERING_ASSIST_STATE", - "value": 289411084, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "EMERGENCY_LANE_KEEP_ASSIST_ENABLED", - "value": 287313933 - }, - { - "name": "EMERGENCY_LANE_KEEP_ASSIST_STATE", - "value": 289411086, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "CRUISE_CONTROL_ENABLED", - "value": 287313935, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "CRUISE_CONTROL_TYPE", - "value": 289411088, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "data_enum": "ErrorState" - }, - { - "name": "CRUISE_CONTROL_STATE", - "value": 289411089, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "CRUISE_CONTROL_COMMAND", - "value": 289411090, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:WRITE", - "data_enum": "CruiseControlCommand" - }, - { - "name": "CRUISE_CONTROL_TARGET_SPEED", - "value": 291508243, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:METER_PER_SEC" - }, - { - "name": "ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP", - "value": 289411092, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE", - "unit": "VehicleUnit:MILLI_SECS" - }, - { - "name": "ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE", - "value": 289411093, - "change_mode": "VehiclePropertyChangeMode:CONTINUOUS", - "access": "VehiclePropertyAccess:READ", - "unit": "VehicleUnit:MILLIMETER" - }, - { - "name": "HANDS_ON_DETECTION_ENABLED", - "value": 287313942, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ_WRITE" - }, - { - "name": "HANDS_ON_DETECTION_DRIVER_STATE", - "value": 289411095, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - }, - { - "name": "HANDS_ON_DETECTION_WARNING", - "value": 289411096, - "change_mode": "VehiclePropertyChangeMode:ON_CHANGE", - "access": "VehiclePropertyAccess:READ", - "data_enum": "ErrorState" - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "DiagnosticIntegerSensorIndex", - "values": [ - { - "name": "FUEL_SYSTEM_STATUS", - "value": 0 - }, - { - "name": "MALFUNCTION_INDICATOR_LIGHT_ON", - "value": 1 - }, - { - "name": "IGNITION_MONITORS_SUPPORTED", - "value": 2 - }, - { - "name": "IGNITION_SPECIFIC_MONITORS", - "value": 3 - }, - { - "name": "INTAKE_AIR_TEMPERATURE", - "value": 4 - }, - { - "name": "COMMANDED_SECONDARY_AIR_STATUS", - "value": 5 - }, - { - "name": "NUM_OXYGEN_SENSORS_PRESENT", - "value": 6 - }, - { - "name": "RUNTIME_SINCE_ENGINE_START", - "value": 7 - }, - { - "name": "DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON", - "value": 8 - }, - { - "name": "WARMUPS_SINCE_CODES_CLEARED", - "value": 9 - }, - { - "name": "DISTANCE_TRAVELED_SINCE_CODES_CLEARED", - "value": 10 - }, - { - "name": "ABSOLUTE_BAROMETRIC_PRESSURE", - "value": 11 - }, - { - "name": "CONTROL_MODULE_VOLTAGE", - "value": 12 - }, - { - "name": "AMBIENT_AIR_TEMPERATURE", - "value": 13 - }, - { - "name": "TIME_WITH_MALFUNCTION_LIGHT_ON", - "value": 14 - }, - { - "name": "TIME_SINCE_TROUBLE_CODES_CLEARED", - "value": 15 - }, - { - "name": "MAX_FUEL_AIR_EQUIVALENCE_RATIO", - "value": 16 - }, - { - "name": "MAX_OXYGEN_SENSOR_VOLTAGE", - "value": 17 - }, - { - "name": "MAX_OXYGEN_SENSOR_CURRENT", - "value": 18 - }, - { - "name": "MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE", - "value": 19 - }, - { - "name": "MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR", - "value": 20 - }, - { - "name": "FUEL_TYPE", - "value": 21 - }, - { - "name": "FUEL_RAIL_ABSOLUTE_PRESSURE", - "value": 22 - }, - { - "name": "ENGINE_OIL_TEMPERATURE", - "value": 23 - }, - { - "name": "DRIVER_DEMAND_PERCENT_TORQUE", - "value": 24 - }, - { - "name": "ENGINE_ACTUAL_PERCENT_TORQUE", - "value": 25 - }, - { - "name": "ENGINE_REFERENCE_PERCENT_TORQUE", - "value": 26 - }, - { - "name": "ENGINE_PERCENT_TORQUE_DATA_IDLE", - "value": 27 - }, - { - "name": "ENGINE_PERCENT_TORQUE_DATA_POINT1", - "value": 28 - }, - { - "name": "ENGINE_PERCENT_TORQUE_DATA_POINT2", - "value": 29 - }, - { - "name": "ENGINE_PERCENT_TORQUE_DATA_POINT3", - "value": 30 - }, - { - "name": "ENGINE_PERCENT_TORQUE_DATA_POINT4", - "value": 31 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VehicleUnit", - "values": [ - { - "name": "SHOULD_NOT_USE", - "value": 0 - }, - { - "name": "METER_PER_SEC", - "value": 1 - }, - { - "name": "RPM", - "value": 2 - }, - { - "name": "HERTZ", - "value": 3 - }, - { - "name": "PERCENTILE", - "value": 16 - }, - { - "name": "MILLIMETER", - "value": 32 - }, - { - "name": "METER", - "value": 33 - }, - { - "name": "KILOMETER", - "value": 35 - }, - { - "name": "MILE", - "value": 36 - }, - { - "name": "CELSIUS", - "value": 48 - }, - { - "name": "FAHRENHEIT", - "value": 49 - }, - { - "name": "KELVIN", - "value": 50 - }, - { - "name": "MILLILITER", - "value": 64 - }, - { - "name": "LITER", - "value": 65 - }, - { - "name": "GALLON", - "value": 66 - }, - { - "name": "US_GALLON", - "value": 66 - }, - { - "name": "IMPERIAL_GALLON", - "value": 67 - }, - { - "name": "NANO_SECS", - "value": 80 - }, - { - "name": "MILLI_SECS", - "value": 81 - }, - { - "name": "SECS", - "value": 83 - }, - { - "name": "YEAR", - "value": 89 - }, - { - "name": "WATT_HOUR", - "value": 96 - }, - { - "name": "MILLIAMPERE", - "value": 97 - }, - { - "name": "MILLIVOLT", - "value": 98 - }, - { - "name": "MILLIWATTS", - "value": 99 - }, - { - "name": "AMPERE_HOURS", - "value": 100 - }, - { - "name": "KILOWATT_HOUR", - "value": 101 - }, - { - "name": "AMPERE", - "value": 102 - }, - { - "name": "KILOPASCAL", - "value": 112 - }, - { - "name": "PSI", - "value": 113 - }, - { - "name": "BAR", - "value": 114 - }, - { - "name": "DEGREES", - "value": 128 - }, - { - "name": "MILES_PER_HOUR", - "value": 144 - }, - { - "name": "KILOMETERS_PER_HOUR", - "value": 145 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "LaneCenteringAssistCommand", - "values": [ - { - "name": "ACTIVATE", - "value": 1 - }, - { - "name": "DEACTIVATE", - "value": 2 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "Obd2FuelType", - "values": [ - { - "name": "NOT_AVAILABLE", - "value": 0 - }, - { - "name": "GASOLINE", - "value": 1 - }, - { - "name": "METHANOL", - "value": 2 - }, - { - "name": "ETHANOL", - "value": 3 - }, - { - "name": "DIESEL", - "value": 4 - }, - { - "name": "LPG", - "value": 5 - }, - { - "name": "CNG", - "value": 6 - }, - { - "name": "PROPANE", - "value": 7 - }, - { - "name": "ELECTRIC", - "value": 8 - }, - { - "name": "BIFUEL_RUNNING_GASOLINE", - "value": 9 - }, - { - "name": "BIFUEL_RUNNING_METHANOL", - "value": 10 - }, - { - "name": "BIFUEL_RUNNING_ETHANOL", - "value": 11 - }, - { - "name": "BIFUEL_RUNNING_LPG", - "value": 12 - }, - { - "name": "BIFUEL_RUNNING_CNG", - "value": 13 - }, - { - "name": "BIFUEL_RUNNING_PROPANE", - "value": 14 - }, - { - "name": "BIFUEL_RUNNING_ELECTRIC", - "value": 15 - }, - { - "name": "BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION", - "value": 16 - }, - { - "name": "HYBRID_GASOLINE", - "value": 17 - }, - { - "name": "HYBRID_ETHANOL", - "value": 18 - }, - { - "name": "HYBRID_DIESEL", - "value": 19 - }, - { - "name": "HYBRID_ELECTRIC", - "value": 20 - }, - { - "name": "HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION", - "value": 21 - }, - { - "name": "HYBRID_REGENERATIVE", - "value": 22 - }, - { - "name": "BIFUEL_RUNNING_DIESEL", - "value": 23 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "ProcessTerminationReason", - "values": [ - { - "name": "NOT_RESPONDING", - "value": 1 - }, - { - "name": "IO_OVERUSE", - "value": 2 - }, - { - "name": "MEMORY_OVERUSE", - "value": 3 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "VmsMessageWithLayerAndPublisherIdIntegerValuesIndex", - "values": [ - { - "name": "MESSAGE_TYPE", - "value": 0 - }, - { - "name": "LAYER_TYPE", - "value": 1 - }, - { - "name": "LAYER_SUBTYPE", - "value": 2 - }, - { - "name": "LAYER_VERSION", - "value": 3 - }, - { - "name": "PUBLISHER_ID", - "value": 4 - } - ] - }, - { - "package": "android.hardware.automotive.vehicle", - "name": "EvChargeState", - "values": [ - { - "name": "UNKNOWN", - "value": 0 - }, - { - "name": "CHARGING", - "value": 1 - }, - { - "name": "FULLY_CHARGED", - "value": 2 - }, - { - "name": "NOT_CHARGING", - "value": 3 - }, - { - "name": "ERROR", - "value": 4 - } - ] - } + { + "name": "VehicleProperty", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "VIN of vehicle", + "value": 286261504 + }, + { + "name": "Manufacturer of vehicle", + "value": 286261505 + }, + { + "name": "Model of vehicle", + "value": 286261506 + }, + { + "name": "INFO_MODEL_YEAR", + "value": 289407235 + }, + { + "name": "INFO_FUEL_CAPACITY", + "value": 291504388 + }, + { + "name": "INFO_FUEL_TYPE", + "value": 289472773, + "data_enums": [ + "FuelType" + ], + "data_enum": "FuelType" + }, + { + "name": "INFO_EV_BATTERY_CAPACITY", + "value": 291504390 + }, + { + "name": "INFO_EV_CONNECTOR_TYPE", + "value": 289472775, + "data_enums": [ + "EvConnectorType" + ], + "data_enum": "EvConnectorType" + }, + { + "name": "Fuel door location", + "value": 289407240, + "data_enums": [ + "PortLocationType" + ], + "data_enum": "PortLocationType" + }, + { + "name": "EV port location", + "value": 289407241, + "data_enums": [ + "PortLocationType" + ], + "data_enum": "PortLocationType" + }, + { + "name": "INFO_DRIVER_SEAT", + "value": 356516106, + "data_enums": [ + "VehicleAreaSeat" + ], + "data_enum": "VehicleAreaSeat" + }, + { + "name": "INFO_EXTERIOR_DIMENSIONS", + "value": 289472779 + }, + { + "name": "Multiple EV port locations", + "value": 289472780, + "data_enums": [ + "PortLocationType" + ], + "data_enum": "PortLocationType" + }, + { + "name": "PERF_ODOMETER", + "value": 291504644 + }, + { + "name": "Speed of the vehicle", + "value": 291504647 + }, + { + "name": "PERF_VEHICLE_SPEED_DISPLAY", + "value": 291504648 + }, + { + "name": "PERF_STEERING_ANGLE", + "value": 291504649 + }, + { + "name": "PERF_REAR_STEERING_ANGLE", + "value": 291504656 + }, + { + "name": "Temperature of engine coolant", + "value": 291504897 + }, + { + "name": "Engine oil level", + "value": 289407747, + "data_enums": [ + "VehicleOilLevel" + ], + "data_enum": "VehicleOilLevel" + }, + { + "name": "Temperature of engine oil", + "value": 291504900 + }, + { + "name": "Engine rpm", + "value": 291504901 + }, + { + "name": "Reports wheel ticks", + "value": 290521862 + }, + { + "name": "FUEL_LEVEL", + "value": 291504903 + }, + { + "name": "Fuel door open", + "value": 287310600 + }, + { + "name": "EV_BATTERY_LEVEL", + "value": 291504905 + }, + { + "name": "EV_CURRENT_BATTERY_CAPACITY", + "value": 291504909 + }, + { + "name": "EV charge port open", + "value": 287310602 + }, + { + "name": "EV charge port connected", + "value": 287310603 + }, + { + "name": "EV_BATTERY_INSTANTANEOUS_CHARGE_RATE", + "value": 291504908 + }, + { + "name": "Range remaining", + "value": 291504904 + }, + { + "name": "EV battery average temperature", + "value": 291504910 + }, + { + "name": "Tire pressure", + "value": 392168201 + }, + { + "name": "Critically low tire pressure", + "value": 392168202 + }, + { + "name": "ENGINE_IDLE_AUTO_STOP_ENABLED", + "value": 287310624 + }, + { + "name": "Impact detected.", + "value": 289407792, + "data_enums": [ + "ImpactSensorLocation" + ], + "data_enum": "ImpactSensorLocation" + }, + { + "name": "Currently selected gear", + "value": 289408000, + "data_enums": [ + "VehicleGear" + ], + "data_enum": "VehicleGear" + }, + { + "name": "CURRENT_GEAR", + "value": 289408001, + "data_enums": [ + "VehicleGear" + ], + "data_enum": "VehicleGear" + }, + { + "name": "Parking brake state.", + "value": 287310850 + }, + { + "name": "Auto-apply parking brake.", + "value": 287310851 + }, + { + "name": "EV_BRAKE_REGENERATION_LEVEL", + "value": 289408012 + }, + { + "name": "Warning for fuel low level.", + "value": 287310853 + }, + { + "name": "Night mode", + "value": 287310855 + }, + { + "name": "TURN_SIGNAL_STATE", + "value": 289408008, + "data_enums": [ + "VehicleTurnSignal" + ], + "data_enum": "VehicleTurnSignal" + }, + { + "name": "Represents ignition state", + "value": 289408009, + "data_enums": [ + "VehicleIgnitionState" + ], + "data_enum": "VehicleIgnitionState" + }, + { + "name": "ABS is active", + "value": 287310858 + }, + { + "name": "Traction Control is active", + "value": 287310859 + }, + { + "name": "EV_STOPPING_MODE", + "value": 289408013, + "data_enums": [ + "EvStoppingMode" + ], + "data_enum": "EvStoppingMode" + }, + { + "name": "ELECTRONIC_STABILITY_CONTROL_ENABLED", + "value": 287310862 + }, + { + "name": "ELECTRONIC_STABILITY_CONTROL_STATE", + "value": 289408015, + "data_enums": [ + "ElectronicStabilityControlState", + "ErrorState" + ], + "data_enum": "ElectronicStabilityControlState" + }, + { + "name": "Fan speed setting", + "value": 356517120 + }, + { + "name": "Fan direction setting", + "value": 356517121, + "data_enums": [ + "VehicleHvacFanDirection" + ], + "data_enum": "VehicleHvacFanDirection" + }, + { + "name": "HVAC current temperature.", + "value": 358614274 + }, + { + "name": "HVAC, target temperature set.", + "value": 358614275 + }, + { + "name": "HVAC_DEFROSTER", + "value": 320865540 + }, + { + "name": "HVAC_AC_ON", + "value": 354419973 + }, + { + "name": "On\/off max AC", + "value": 354419974 + }, + { + "name": "On\/off max defrost", + "value": 354419975 + }, + { + "name": "Recirculation on\/off", + "value": 354419976 + }, + { + "name": "HVAC_DUAL_ON", + "value": 354419977 + }, + { + "name": "HVAC_AUTO_ON", + "value": 354419978 + }, + { + "name": "Seat heating\/cooling", + "value": 356517131 + }, + { + "name": "Side Mirror Heat", + "value": 339739916 + }, + { + "name": "Steering Wheel Heating\/Cooling", + "value": 289408269 + }, + { + "name": "Temperature units for display", + "value": 289408270, + "data_enums": [ + "VehicleUnit" + ], + "data_enum": "VehicleUnit" + }, + { + "name": "Actual fan speed", + "value": 356517135 + }, + { + "name": "HVAC_POWER_ON", + "value": 354419984 + }, + { + "name": "Fan Positions Available", + "value": 356582673, + "data_enums": [ + "VehicleHvacFanDirection" + ], + "data_enum": "VehicleHvacFanDirection" + }, + { + "name": "Automatic recirculation on\/off", + "value": 354419986 + }, + { + "name": "Seat ventilation", + "value": 356517139 + }, + { + "name": "Electric defrosters' status", + "value": 320865556 + }, + { + "name": "HVAC_TEMPERATURE_VALUE_SUGGESTION", + "value": 291570965 + }, + { + "name": "Distance units for display", + "value": 289408512, + "data_enums": [ + "VehicleUnit" + ], + "data_enum": "VehicleUnit" + }, + { + "name": "Fuel volume units for display", + "value": 289408513, + "data_enums": [ + "VehicleUnit" + ], + "data_enum": "VehicleUnit" + }, + { + "name": "TIRE_PRESSURE_DISPLAY_UNITS", + "value": 289408514, + "data_enums": [ + "VehicleUnit" + ], + "data_enum": "VehicleUnit" + }, + { + "name": "EV battery units for display", + "value": 289408515, + "data_enums": [ + "VehicleUnit" + ], + "data_enum": "VehicleUnit" + }, + { + "name": "FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME", + "value": 287311364 + }, + { + "name": "Speed units for display", + "value": 289408517 + }, + { + "name": "EXTERNAL_CAR_TIME", + "value": 290457096 + }, + { + "name": "ANDROID_EPOCH_TIME", + "value": 290457094 + }, + { + "name": "STORAGE_ENCRYPTION_BINDING_SEED", + "value": 292554247 + }, + { + "name": "Outside temperature", + "value": 291505923 + }, + { + "name": "AP_POWER_STATE_REQ", + "value": 289475072 + }, + { + "name": "AP_POWER_STATE_REPORT", + "value": 289475073 + }, + { + "name": "AP_POWER_BOOTUP_REASON", + "value": 289409538 + }, + { + "name": "DISPLAY_BRIGHTNESS", + "value": 289409539 + }, + { + "name": "PER_DISPLAY_BRIGHTNESS", + "value": 289475076 + }, + { + "name": "Valet mode enabled", + "value": 287312389 + }, + { + "name": "Head up display (HUD) enabled", + "value": 354421254 + }, + { + "name": "HW_KEY_INPUT", + "value": 289475088 + }, + { + "name": "HW_KEY_INPUT_V2", + "value": 367004177 + }, + { + "name": "HW_MOTION_INPUT", + "value": 367004178 + }, + { + "name": "HW_ROTARY_INPUT", + "value": 289475104, + "data_enums": [ + "RotaryInputType" + ], + "data_enum": "RotaryInputType" + }, + { + "name": "HW_CUSTOM_INPUT", + "value": 289475120, + "data_enums": [ + "CustomInputType" + ], + "data_enum": "CustomInputType" + }, + { + "name": "Door position", + "value": 373295872 + }, + { + "name": "Door move", + "value": 373295873 + }, + { + "name": "Door lock", + "value": 371198722 + }, + { + "name": "DOOR_CHILD_LOCK_ENABLED", + "value": 371198723 + }, + { + "name": "Mirror Z Position", + "value": 339741504 + }, + { + "name": "Mirror Z Move", + "value": 339741505 + }, + { + "name": "Mirror Y Position", + "value": 339741506 + }, + { + "name": "Mirror Y Move", + "value": 339741507 + }, + { + "name": "Mirror Lock", + "value": 287312708 + }, + { + "name": "Mirror Fold", + "value": 287312709 + }, + { + "name": "MIRROR_AUTO_FOLD_ENABLED", + "value": 337644358 + }, + { + "name": "MIRROR_AUTO_TILT_ENABLED", + "value": 337644359 + }, + { + "name": "Seat memory select", + "value": 356518784 + }, + { + "name": "Seat memory set", + "value": 356518785 + }, + { + "name": "Seatbelt buckled", + "value": 354421634 + }, + { + "name": "Seatbelt height position", + "value": 356518787 + }, + { + "name": "Seatbelt height move", + "value": 356518788 + }, + { + "name": "Seat fore\/aft position", + "value": 356518789 + }, + { + "name": "Seat fore\/aft move", + "value": 356518790 + }, + { + "name": "Seat backrest angle 1 position", + "value": 356518791 + }, + { + "name": "Seat backrest angle 1 move", + "value": 356518792 + }, + { + "name": "Seat backrest angle 2 position", + "value": 356518793 + }, + { + "name": "Seat backrest angle 2 move", + "value": 356518794 + }, + { + "name": "Seat height position", + "value": 356518795 + }, + { + "name": "Seat height move", + "value": 356518796 + }, + { + "name": "Seat depth position", + "value": 356518797 + }, + { + "name": "Seat depth move", + "value": 356518798 + }, + { + "name": "Seat tilt position", + "value": 356518799 + }, + { + "name": "Seat tilt move", + "value": 356518800 + }, + { + "name": "Lumber fore\/aft position", + "value": 356518801 + }, + { + "name": "Lumbar fore\/aft move", + "value": 356518802 + }, + { + "name": "Lumbar side support position", + "value": 356518803 + }, + { + "name": "Lumbar side support move", + "value": 356518804 + }, + { + "name": "SEAT_HEADREST_HEIGHT_POS", + "value": 289409941 + }, + { + "name": "Headrest height position", + "value": 356518820 + }, + { + "name": "Headrest height move", + "value": 356518806 + }, + { + "name": "Headrest angle position", + "value": 356518807 + }, + { + "name": "Headrest angle move", + "value": 356518808 + }, + { + "name": "Headrest fore\/aft position", + "value": 356518809 + }, + { + "name": "Headrest fore\/aft move", + "value": 356518810 + }, + { + "name": "SEAT_FOOTWELL_LIGHTS_STATE", + "value": 356518811, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "SEAT_FOOTWELL_LIGHTS_SWITCH", + "value": 356518812, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "SEAT_EASY_ACCESS_ENABLED", + "value": 354421661 + }, + { + "name": "SEAT_AIRBAG_ENABLED", + "value": 354421662 + }, + { + "name": "Seat airbags deployed", + "value": 356518821, + "data_enums": [ + "VehicleAirbagLocation" + ], + "data_enum": "VehicleAirbagLocation" + }, + { + "name": "SEAT_CUSHION_SIDE_SUPPORT_POS", + "value": 356518815 + }, + { + "name": "SEAT_CUSHION_SIDE_SUPPORT_MOVE", + "value": 356518816 + }, + { + "name": "SEAT_LUMBAR_VERTICAL_POS", + "value": 356518817 + }, + { + "name": "SEAT_LUMBAR_VERTICAL_MOVE", + "value": 356518818 + }, + { + "name": "SEAT_WALK_IN_POS", + "value": 356518819 + }, + { + "name": "SEAT_BELT_PRETENSIONER_DEPLOYED", + "value": 354421670 + }, + { + "name": "Seat Occupancy", + "value": 356518832, + "data_enums": [ + "VehicleSeatOccupancyState" + ], + "data_enum": "VehicleSeatOccupancyState" + }, + { + "name": "Window Position", + "value": 322964416 + }, + { + "name": "Window Move", + "value": 322964417 + }, + { + "name": "Window Lock", + "value": 320867268 + }, + { + "name": "WINDSHIELD_WIPERS_PERIOD", + "value": 322964421 + }, + { + "name": "Windshield wipers state.", + "value": 322964422, + "data_enums": [ + "WindshieldWipersState" + ], + "data_enum": "WindshieldWipersState" + }, + { + "name": "Windshield wipers switch.", + "value": 322964423, + "data_enums": [ + "WindshieldWipersSwitch" + ], + "data_enum": "WindshieldWipersSwitch" + }, + { + "name": "Steering wheel depth position", + "value": 289410016 + }, + { + "name": "Steering wheel depth movement", + "value": 289410017 + }, + { + "name": "Steering wheel height position", + "value": 289410018 + }, + { + "name": "Steering wheel height movement", + "value": 289410019 + }, + { + "name": "STEERING_WHEEL_THEFT_LOCK_ENABLED", + "value": 287312868 + }, + { + "name": "Steering wheel locked", + "value": 287312869 + }, + { + "name": "STEERING_WHEEL_EASY_ACCESS_ENABLED", + "value": 287312870 + }, + { + "name": "GLOVE_BOX_DOOR_POS", + "value": 356518896 + }, + { + "name": "Lock or unlock the glove box.", + "value": 354421745 + }, + { + "name": "VEHICLE_MAP_SERVICE", + "value": 299895808 + }, + { + "name": "LOCATION_CHARACTERIZATION", + "value": 289410064 + }, + { + "name": "ULTRASONICS_SENSOR_POSITION", + "value": 406916128 + }, + { + "name": "ULTRASONICS_SENSOR_ORIENTATION", + "value": 409013281 + }, + { + "name": "ULTRASONICS_SENSOR_FIELD_OF_VIEW", + "value": 406916130 + }, + { + "name": "ULTRASONICS_SENSOR_DETECTION_RANGE", + "value": 406916131 + }, + { + "name": "ULTRASONICS_SENSOR_SUPPORTED_RANGES", + "value": 406916132 + }, + { + "name": "ULTRASONICS_SENSOR_MEASURED_DISTANCE", + "value": 406916133 + }, + { + "name": "OBD2 Live Sensor Data", + "value": 299896064 + }, + { + "name": "OBD2 Freeze Frame Sensor Data", + "value": 299896065 + }, + { + "name": "OBD2 Freeze Frame Information", + "value": 299896066 + }, + { + "name": "OBD2 Freeze Frame Clear", + "value": 299896067 + }, + { + "name": "Headlights State", + "value": 289410560, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "High beam lights state", + "value": 289410561, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Fog light state", + "value": 289410562, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Hazard light status", + "value": 289410563, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Headlight switch", + "value": 289410576, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "High beam light switch", + "value": 289410577, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Fog light switch", + "value": 289410578, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Hazard light switch", + "value": 289410579, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Cabin lights", + "value": 289410817, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Cabin lights switch", + "value": 289410818, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Reading lights", + "value": 356519683, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Reading lights switch", + "value": 356519684, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Steering wheel lights state", + "value": 289410828, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Steering wheel lights switch", + "value": 289410829, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "SUPPORT_CUSTOMIZE_VENDOR_PERMISSION", + "value": 287313669 + }, + { + "name": "DISABLED_OPTIONAL_FEATURES", + "value": 286265094 + }, + { + "name": "INITIAL_USER_INFO", + "value": 299896583 + }, + { + "name": "SWITCH_USER", + "value": 299896584 + }, + { + "name": "CREATE_USER", + "value": 299896585 + }, + { + "name": "REMOVE_USER", + "value": 299896586 + }, + { + "name": "USER_IDENTIFICATION_ASSOCIATION", + "value": 299896587 + }, + { + "name": "Enable\/request an EVS service.", + "value": 289476368 + }, + { + "name": "POWER_POLICY_REQ", + "value": 286265121 + }, + { + "name": "POWER_POLICY_GROUP_REQ", + "value": 286265122 + }, + { + "name": "CURRENT_POWER_POLICY", + "value": 286265123 + }, + { + "name": "WATCHDOG_ALIVE", + "value": 290459441 + }, + { + "name": "WATCHDOG_TERMINATED_PROCESS", + "value": 299896626 + }, + { + "name": "VHAL_HEARTBEAT", + "value": 290459443 + }, + { + "name": "CLUSTER_SWITCH_UI", + "value": 289410868 + }, + { + "name": "CLUSTER_DISPLAY_STATE", + "value": 289476405 + }, + { + "name": "CLUSTER_REPORT_STATE", + "value": 299896630 + }, + { + "name": "CLUSTER_REQUEST_DISPLAY", + "value": 289410871 + }, + { + "name": "CLUSTER_NAVIGATION_STATE", + "value": 292556600 + }, + { + "name": "ELECTRONIC_TOLL_COLLECTION_CARD_TYPE", + "value": 289410873, + "data_enums": [ + "ElectronicTollCollectionCardType" + ], + "data_enum": "ElectronicTollCollectionCardType" + }, + { + "name": "ELECTRONIC_TOLL_COLLECTION_CARD_STATUS", + "value": 289410874, + "data_enums": [ + "ElectronicTollCollectionCardStatus" + ], + "data_enum": "ElectronicTollCollectionCardStatus" + }, + { + "name": "Front fog lights state", + "value": 289410875, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Front fog lights switch", + "value": 289410876, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "Rear fog lights state", + "value": 289410877, + "data_enums": [ + "VehicleLightState" + ], + "data_enum": "VehicleLightState" + }, + { + "name": "Rear fog lights switch", + "value": 289410878, + "data_enums": [ + "VehicleLightSwitch" + ], + "data_enum": "VehicleLightSwitch" + }, + { + "name": "EV_CHARGE_CURRENT_DRAW_LIMIT", + "value": 291508031 + }, + { + "name": "EV_CHARGE_PERCENT_LIMIT", + "value": 291508032 + }, + { + "name": "Charging state of the car", + "value": 289410881, + "data_enums": [ + "EvChargeState" + ], + "data_enum": "EvChargeState" + }, + { + "name": "EV_CHARGE_SWITCH", + "value": 287313730 + }, + { + "name": "EV_CHARGE_TIME_REMAINING", + "value": 289410883 + }, + { + "name": "EV_REGENERATIVE_BRAKING_STATE", + "value": 289410884, + "data_enums": [ + "EvRegenerativeBrakingState" + ], + "data_enum": "EvRegenerativeBrakingState" + }, + { + "name": "TRAILER_PRESENT", + "value": 289410885, + "data_enums": [ + "TrailerState" + ], + "data_enum": "TrailerState" + }, + { + "name": "Vehicle’s curb weight", + "value": 289410886 + }, + { + "name": "GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT", + "value": 289410887, + "data_enums": [ + "GsrComplianceRequirementType" + ], + "data_enum": "GsrComplianceRequirementType" + }, + { + "name": "SUPPORTED_PROPERTY_IDS", + "value": 289476424 + }, + { + "name": "SHUTDOWN_REQUEST", + "value": 289410889, + "data_enums": [ + "VehicleApPowerStateShutdownParam" + ], + "data_enum": "VehicleApPowerStateShutdownParam" + }, + { + "name": "VEHICLE_IN_USE", + "value": 287313738 + }, + { + "name": "CLUSTER_HEARTBEAT", + "value": 299896651 + }, + { + "name": "VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL", + "value": 289410892, + "data_enums": [ + "VehicleAutonomousState" + ], + "data_enum": "VehicleAutonomousState" + }, + { + "name": "AUTOMATIC_EMERGENCY_BRAKING_ENABLED", + "value": 287313920 + }, + { + "name": "AUTOMATIC_EMERGENCY_BRAKING_STATE", + "value": 289411073, + "data_enums": [ + "AutomaticEmergencyBrakingState", + "ErrorState" + ], + "data_enum": "AutomaticEmergencyBrakingState" + }, + { + "name": "FORWARD_COLLISION_WARNING_ENABLED", + "value": 287313922 + }, + { + "name": "FORWARD_COLLISION_WARNING_STATE", + "value": 289411075, + "data_enums": [ + "ForwardCollisionWarningState", + "ErrorState" + ], + "data_enum": "ForwardCollisionWarningState" + }, + { + "name": "BLIND_SPOT_WARNING_ENABLED", + "value": 287313924 + }, + { + "name": "BLIND_SPOT_WARNING_STATE", + "value": 339742725, + "data_enums": [ + "BlindSpotWarningState", + "ErrorState" + ], + "data_enum": "BlindSpotWarningState" + }, + { + "name": "LANE_DEPARTURE_WARNING_ENABLED", + "value": 287313926 + }, + { + "name": "LANE_DEPARTURE_WARNING_STATE", + "value": 289411079, + "data_enums": [ + "LaneDepartureWarningState", + "ErrorState" + ], + "data_enum": "LaneDepartureWarningState" + }, + { + "name": "LANE_KEEP_ASSIST_ENABLED", + "value": 287313928 + }, + { + "name": "Lane Keep Assist (LKA) state.", + "value": 289411081, + "data_enums": [ + "LaneKeepAssistState", + "ErrorState" + ], + "data_enum": "LaneKeepAssistState" + }, + { + "name": "LANE_CENTERING_ASSIST_ENABLED", + "value": 287313930 + }, + { + "name": "LANE_CENTERING_ASSIST_COMMAND", + "value": 289411083, + "data_enums": [ + "LaneCenteringAssistCommand" + ], + "data_enum": "LaneCenteringAssistCommand" + }, + { + "name": "LANE_CENTERING_ASSIST_STATE", + "value": 289411084, + "data_enums": [ + "LaneCenteringAssistState", + "ErrorState" + ], + "data_enum": "LaneCenteringAssistState" + }, + { + "name": "EMERGENCY_LANE_KEEP_ASSIST_ENABLED", + "value": 287313933 + }, + { + "name": "EMERGENCY_LANE_KEEP_ASSIST_STATE", + "value": 289411086, + "data_enums": [ + "EmergencyLaneKeepAssistState", + "ErrorState" + ], + "data_enum": "EmergencyLaneKeepAssistState" + }, + { + "name": "CRUISE_CONTROL_ENABLED", + "value": 287313935 + }, + { + "name": "CRUISE_CONTROL_TYPE", + "value": 289411088, + "data_enums": [ + "CruiseControlType", + "ErrorState" + ], + "data_enum": "CruiseControlType" + }, + { + "name": "CRUISE_CONTROL_STATE", + "value": 289411089, + "data_enums": [ + "CruiseControlState", + "ErrorState" + ], + "data_enum": "CruiseControlState" + }, + { + "name": "CRUISE_CONTROL_COMMAND", + "value": 289411090, + "data_enums": [ + "CruiseControlCommand" + ], + "data_enum": "CruiseControlCommand" + }, + { + "name": "CRUISE_CONTROL_TARGET_SPEED", + "value": 291508243 + }, + { + "name": "ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP", + "value": 289411092 + }, + { + "name": "ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE", + "value": 289411093 + }, + { + "name": "HANDS_ON_DETECTION_ENABLED", + "value": 287313942 + }, + { + "name": "HANDS_ON_DETECTION_DRIVER_STATE", + "value": 289411095, + "data_enums": [ + "HandsOnDetectionDriverState", + "ErrorState" + ], + "data_enum": "HandsOnDetectionDriverState" + }, + { + "name": "HANDS_ON_DETECTION_WARNING", + "value": 289411096, + "data_enums": [ + "HandsOnDetectionWarning", + "ErrorState" + ], + "data_enum": "HandsOnDetectionWarning" + }, + { + "name": "DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED", + "value": 287313945 + }, + { + "name": "DRIVER_DROWSINESS_ATTENTION_STATE", + "value": 289411098, + "data_enums": [ + "DriverDrowsinessAttentionState", + "ErrorState" + ], + "data_enum": "DriverDrowsinessAttentionState" + }, + { + "name": "DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED", + "value": 287313947 + }, + { + "name": "DRIVER_DROWSINESS_ATTENTION_WARNING", + "value": 289411100, + "data_enums": [ + "DriverDrowsinessAttentionWarning", + "ErrorState" + ], + "data_enum": "DriverDrowsinessAttentionWarning" + }, + { + "name": "DRIVER_DISTRACTION_SYSTEM_ENABLED", + "value": 287313949 + }, + { + "name": "Driver distraction state.", + "value": 289411102, + "data_enums": [ + "DriverDistractionState", + "ErrorState" + ], + "data_enum": "DriverDistractionState" + }, + { + "name": "DRIVER_DISTRACTION_WARNING_ENABLED", + "value": 287313951 + }, + { + "name": "Driver distraction warning.", + "value": 289411104, + "data_enums": [ + "DriverDistractionWarning", + "ErrorState" + ], + "data_enum": "DriverDistractionWarning" + }, + { + "name": "LOW_SPEED_COLLISION_WARNING_ENABLED", + "value": 287313953 + }, + { + "name": "LOW_SPEED_COLLISION_WARNING_STATE", + "value": 289411106, + "data_enums": [ + "LowSpeedCollisionWarningState", + "ErrorState" + ], + "data_enum": "LowSpeedCollisionWarningState" + }, + { + "name": "CROSS_TRAFFIC_MONITORING_ENABLED", + "value": 287313955 + }, + { + "name": "CROSS_TRAFFIC_MONITORING_WARNING_STATE", + "value": 289411108, + "data_enums": [ + "CrossTrafficMonitoringWarningState", + "ErrorState" + ], + "data_enum": "CrossTrafficMonitoringWarningState" + }, + { + "name": "LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED", + "value": 287313957 + }, + { + "name": "LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE", + "value": 289411110, + "data_enums": [ + "LowSpeedAutomaticEmergencyBrakingState", + "ErrorState" + ], + "data_enum": "LowSpeedAutomaticEmergencyBrakingState" + } + ] + }, + { + "name": "LaneDepartureWarningState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING_LEFT", + "value": 2 + }, + { + "name": "WARNING_RIGHT", + "value": 3 + } + ] + }, + { + "name": "HandsOnDetectionWarning", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "DriverDistractionState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NOT_DISTRACTED", + "value": 1 + }, + { + "name": "DISTRACTED", + "value": 2 + } + ] + }, + { + "name": "VehicleTurnSignal", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "NONE", + "value": 0 + }, + { + "name": "RIGHT", + "value": 1 + }, + { + "name": "LEFT", + "value": 2 + } + ] + }, + { + "name": "RotaryInputType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION", + "value": 0 + }, + { + "name": "ROTARY_INPUT_TYPE_AUDIO_VOLUME", + "value": 1 + } + ] + }, + { + "name": "EvStoppingMode", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "CREEP", + "value": 1 + }, + { + "name": "ROLL", + "value": 2 + }, + { + "name": "HOLD", + "value": 3 + } + ] + }, + { + "name": "VehicleLightState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OFF", + "value": 0 + }, + { + "name": "ON", + "value": 1 + }, + { + "name": "DAYTIME_RUNNING", + "value": 2 + } + ] + }, + { + "name": "FuelType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "FUEL_TYPE_UNKNOWN", + "value": 0 + }, + { + "name": "FUEL_TYPE_UNLEADED", + "value": 1 + }, + { + "name": "FUEL_TYPE_LEADED", + "value": 2 + }, + { + "name": "FUEL_TYPE_DIESEL_1", + "value": 3 + }, + { + "name": "FUEL_TYPE_DIESEL_2", + "value": 4 + }, + { + "name": "FUEL_TYPE_BIODIESEL", + "value": 5 + }, + { + "name": "FUEL_TYPE_E85", + "value": 6 + }, + { + "name": "FUEL_TYPE_LPG", + "value": 7 + }, + { + "name": "FUEL_TYPE_CNG", + "value": 8 + }, + { + "name": "FUEL_TYPE_LNG", + "value": 9 + }, + { + "name": "FUEL_TYPE_ELECTRIC", + "value": 10 + }, + { + "name": "FUEL_TYPE_HYDROGEN", + "value": 11 + }, + { + "name": "FUEL_TYPE_OTHER", + "value": 12 + } + ] + }, + { + "name": "VehicleIgnitionState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNDEFINED", + "value": 0 + }, + { + "name": "LOCK", + "value": 1 + }, + { + "name": "OFF", + "value": 2 + }, + { + "name": "ACC", + "value": 3 + }, + { + "name": "ON", + "value": 4 + }, + { + "name": "START", + "value": 5 + } + ] + }, + { + "name": "EvConnectorType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "IEC_TYPE_1_AC", + "value": 1 + }, + { + "name": "IEC_TYPE_2_AC", + "value": 2 + }, + { + "name": "IEC_TYPE_3_AC", + "value": 3 + }, + { + "name": "IEC_TYPE_4_DC", + "value": 4 + }, + { + "name": "IEC_TYPE_1_CCS_DC", + "value": 5 + }, + { + "name": "IEC_TYPE_2_CCS_DC", + "value": 6 + }, + { + "name": "TESLA_ROADSTER", + "value": 7 + }, + { + "name": "TESLA_HPWC", + "value": 8 + }, + { + "name": "TESLA_SUPERCHARGER", + "value": 9 + }, + { + "name": "GBT_AC", + "value": 10 + }, + { + "name": "GBT_DC", + "value": 11 + }, + { + "name": "OTHER", + "value": 101 + } + ] + }, + { + "name": "TrailerState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "NOT_PRESENT", + "value": 1 + }, + { + "name": "PRESENT", + "value": 2 + }, + { + "name": "ERROR", + "value": 3 + } + ] + }, + { + "name": "DriverDrowsinessAttentionState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "KSS_RATING_1_EXTREMELY_ALERT", + "value": 1 + }, + { + "name": "KSS_RATING_2_VERY_ALERT", + "value": 2 + }, + { + "name": "KSS_RATING_3_ALERT", + "value": 3 + }, + { + "name": "KSS_RATING_4_RATHER_ALERT", + "value": 4 + }, + { + "name": "KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY", + "value": 5 + }, + { + "name": "KSS_RATING_6_SOME_SLEEPINESS", + "value": 6 + }, + { + "name": "KSS_RATING_7_SLEEPY_NO_EFFORT", + "value": 7 + }, + { + "name": "KSS_RATING_8_SLEEPY_SOME_EFFORT", + "value": 8 + }, + { + "name": "KSS_RATING_9_VERY_SLEEPY", + "value": 9 + } + ] + }, + { + "name": "DriverDistractionWarning", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "VehicleAreaSeat", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "ROW_1_LEFT", + "value": 1 + }, + { + "name": "ROW_1_CENTER", + "value": 2 + }, + { + "name": "ROW_1_RIGHT", + "value": 4 + }, + { + "name": "ROW_2_LEFT", + "value": 16 + }, + { + "name": "ROW_2_CENTER", + "value": 32 + }, + { + "name": "ROW_2_RIGHT", + "value": 64 + }, + { + "name": "ROW_3_LEFT", + "value": 256 + }, + { + "name": "ROW_3_CENTER", + "value": 512 + }, + { + "name": "ROW_3_RIGHT", + "value": 1024 + } + ] + }, + { + "name": "VehicleLightSwitch", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OFF", + "value": 0 + }, + { + "name": "ON", + "value": 1 + }, + { + "name": "DAYTIME_RUNNING", + "value": 2 + }, + { + "name": "AUTOMATIC", + "value": 256 + } + ] + }, + { + "name": "WindshieldWipersSwitch", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "OFF", + "value": 1 + }, + { + "name": "MIST", + "value": 2 + }, + { + "name": "INTERMITTENT_LEVEL_1", + "value": 3 + }, + { + "name": "INTERMITTENT_LEVEL_2", + "value": 4 + }, + { + "name": "INTERMITTENT_LEVEL_3", + "value": 5 + }, + { + "name": "INTERMITTENT_LEVEL_4", + "value": 6 + }, + { + "name": "INTERMITTENT_LEVEL_5", + "value": 7 + }, + { + "name": "CONTINUOUS_LEVEL_1", + "value": 8 + }, + { + "name": "CONTINUOUS_LEVEL_2", + "value": 9 + }, + { + "name": "CONTINUOUS_LEVEL_3", + "value": 10 + }, + { + "name": "CONTINUOUS_LEVEL_4", + "value": 11 + }, + { + "name": "CONTINUOUS_LEVEL_5", + "value": 12 + }, + { + "name": "AUTO", + "value": 13 + }, + { + "name": "SERVICE", + "value": 14 + } + ] + }, + { + "name": "CrossTrafficMonitoringWarningState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING_FRONT_LEFT", + "value": 2 + }, + { + "name": "WARNING_FRONT_RIGHT", + "value": 3 + }, + { + "name": "WARNING_FRONT_BOTH", + "value": 4 + }, + { + "name": "WARNING_REAR_LEFT", + "value": 5 + }, + { + "name": "WARNING_REAR_RIGHT", + "value": 6 + }, + { + "name": "WARNING_REAR_BOTH", + "value": 7 + } + ] + }, + { + "name": "LaneCenteringAssistCommand", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "ACTIVATE", + "value": 1 + }, + { + "name": "DEACTIVATE", + "value": 2 + } + ] + }, + { + "name": "VehicleSeatOccupancyState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "VACANT", + "value": 1 + }, + { + "name": "OCCUPIED", + "value": 2 + } + ] + }, + { + "name": "ErrorState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER_ERROR_STATE", + "value": -1 + }, + { + "name": "NOT_AVAILABLE_DISABLED", + "value": -2 + }, + { + "name": "NOT_AVAILABLE_SPEED_LOW", + "value": -3 + }, + { + "name": "NOT_AVAILABLE_SPEED_HIGH", + "value": -4 + }, + { + "name": "NOT_AVAILABLE_POOR_VISIBILITY", + "value": -5 + }, + { + "name": "NOT_AVAILABLE_SAFETY", + "value": -6 + } + ] + }, + { + "name": "BlindSpotWarningState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "WindshieldWipersState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "OFF", + "value": 1 + }, + { + "name": "ON", + "value": 2 + }, + { + "name": "SERVICE", + "value": 3 + } + ] + }, + { + "name": "VehicleAirbagLocation", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 1 + }, + { + "name": "FRONT", + "value": 2 + }, + { + "name": "KNEE", + "value": 4 + }, + { + "name": "LEFT_SIDE", + "value": 8 + }, + { + "name": "RIGHT_SIDE", + "value": 16 + }, + { + "name": "CURTAIN", + "value": 32 + } + ] + }, + { + "name": "DriverDrowsinessAttentionWarning", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "VehicleOilLevel", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "CRITICALLY_LOW", + "value": 0 + }, + { + "name": "LOW", + "value": 1 + }, + { + "name": "NORMAL", + "value": 2 + }, + { + "name": "HIGH", + "value": 3 + }, + { + "name": "ERROR", + "value": 4 + } + ] + }, + { + "name": "ForwardCollisionWarningState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "VehicleUnit", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "SHOULD_NOT_USE", + "value": 0 + }, + { + "name": "METER_PER_SEC", + "value": 1 + }, + { + "name": "RPM", + "value": 2 + }, + { + "name": "HERTZ", + "value": 3 + }, + { + "name": "PERCENTILE", + "value": 16 + }, + { + "name": "MILLIMETER", + "value": 32 + }, + { + "name": "METER", + "value": 33 + }, + { + "name": "KILOMETER", + "value": 35 + }, + { + "name": "MILE", + "value": 36 + }, + { + "name": "CELSIUS", + "value": 48 + }, + { + "name": "FAHRENHEIT", + "value": 49 + }, + { + "name": "KELVIN", + "value": 50 + }, + { + "name": "MILLILITER", + "value": 64 + }, + { + "name": "LITER", + "value": 65 + }, + { + "name": "GALLON", + "value": 66 + }, + { + "name": "US_GALLON", + "value": 66 + }, + { + "name": "IMPERIAL_GALLON", + "value": 67 + }, + { + "name": "NANO_SECS", + "value": 80 + }, + { + "name": "MILLI_SECS", + "value": 81 + }, + { + "name": "SECS", + "value": 83 + }, + { + "name": "YEAR", + "value": 89 + }, + { + "name": "WATT_HOUR", + "value": 96 + }, + { + "name": "MILLIAMPERE", + "value": 97 + }, + { + "name": "MILLIVOLT", + "value": 98 + }, + { + "name": "MILLIWATTS", + "value": 99 + }, + { + "name": "AMPERE_HOURS", + "value": 100 + }, + { + "name": "KILOWATT_HOUR", + "value": 101 + }, + { + "name": "AMPERE", + "value": 102 + }, + { + "name": "KILOPASCAL", + "value": 112 + }, + { + "name": "PSI", + "value": 113 + }, + { + "name": "BAR", + "value": 114 + }, + { + "name": "DEGREES", + "value": 128 + }, + { + "name": "MILES_PER_HOUR", + "value": 144 + }, + { + "name": "KILOMETERS_PER_HOUR", + "value": 145 + } + ] + }, + { + "name": "VehicleHvacFanDirection", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "FACE", + "value": 1 + }, + { + "name": "FLOOR", + "value": 2 + }, + { + "name": "FACE_AND_FLOOR", + "value": 3 + }, + { + "name": "DEFROST", + "value": 4 + }, + { + "name": "DEFROST_AND_FLOOR", + "value": 6 + } + ] + }, + { + "name": "LowSpeedCollisionWarningState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "NO_WARNING", + "value": 1 + }, + { + "name": "WARNING", + "value": 2 + } + ] + }, + { + "name": "CruiseControlCommand", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "ACTIVATE", + "value": 1 + }, + { + "name": "SUSPEND", + "value": 2 + }, + { + "name": "INCREASE_TARGET_SPEED", + "value": 3 + }, + { + "name": "DECREASE_TARGET_SPEED", + "value": 4 + }, + { + "name": "INCREASE_TARGET_TIME_GAP", + "value": 5 + }, + { + "name": "DECREASE_TARGET_TIME_GAP", + "value": 6 + } + ] + }, + { + "name": "ElectronicStabilityControlState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATED", + "value": 2 + } + ] + }, + { + "name": "EvRegenerativeBrakingState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "DISABLED", + "value": 1 + }, + { + "name": "PARTIALLY_ENABLED", + "value": 2 + }, + { + "name": "FULLY_ENABLED", + "value": 3 + } + ] + }, + { + "name": "LowSpeedAutomaticEmergencyBrakingState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATED", + "value": 2 + }, + { + "name": "USER_OVERRIDE", + "value": 3 + } + ] + }, + { + "name": "LaneCenteringAssistState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATION_REQUESTED", + "value": 2 + }, + { + "name": "ACTIVATED", + "value": 3 + }, + { + "name": "USER_OVERRIDE", + "value": 4 + }, + { + "name": "FORCED_DEACTIVATION_WARNING", + "value": 5 + } + ] + }, + { + "name": "VehicleGear", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "GEAR_UNKNOWN", + "value": 0 + }, + { + "name": "GEAR_NEUTRAL", + "value": 1 + }, + { + "name": "GEAR_REVERSE", + "value": 2 + }, + { + "name": "GEAR_PARK", + "value": 4 + }, + { + "name": "GEAR_DRIVE", + "value": 8 + }, + { + "name": "GEAR_1", + "value": 16 + }, + { + "name": "GEAR_2", + "value": 32 + }, + { + "name": "GEAR_3", + "value": 64 + }, + { + "name": "GEAR_4", + "value": 128 + }, + { + "name": "GEAR_5", + "value": 256 + }, + { + "name": "GEAR_6", + "value": 512 + }, + { + "name": "GEAR_7", + "value": 1024 + }, + { + "name": "GEAR_8", + "value": 2048 + }, + { + "name": "GEAR_9", + "value": 4096 + } + ] + }, + { + "name": "ElectronicTollCollectionCardType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "JP_ELECTRONIC_TOLL_COLLECTION_CARD", + "value": 1 + }, + { + "name": "JP_ELECTRONIC_TOLL_COLLECTION_CARD_V2", + "value": 2 + } + ] + }, + { + "name": "VehicleApPowerStateShutdownParam", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "SHUTDOWN_IMMEDIATELY", + "value": 1 + }, + { + "name": "CAN_SLEEP", + "value": 2 + }, + { + "name": "SHUTDOWN_ONLY", + "value": 3 + }, + { + "name": "SLEEP_IMMEDIATELY", + "value": 4 + }, + { + "name": "HIBERNATE_IMMEDIATELY", + "value": 5 + }, + { + "name": "CAN_HIBERNATE", + "value": 6 + }, + { + "name": "EMERGENCY_SHUTDOWN", + "value": 7 + } + ] + }, + { + "name": "AutomaticEmergencyBrakingState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATED", + "value": 2 + }, + { + "name": "USER_OVERRIDE", + "value": 3 + } + ] + }, + { + "name": "ImpactSensorLocation", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 1 + }, + { + "name": "FRONT", + "value": 2 + }, + { + "name": "FRONT_LEFT_DOOR_SIDE", + "value": 4 + }, + { + "name": "FRONT_RIGHT_DOOR_SIDE", + "value": 8 + }, + { + "name": "REAR_LEFT_DOOR_SIDE", + "value": 16 + }, + { + "name": "REAR_RIGHT_DOOR_SIDE", + "value": 32 + }, + { + "name": "REAR", + "value": 64 + } + ] + }, + { + "name": "CruiseControlType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "STANDARD", + "value": 1 + }, + { + "name": "ADAPTIVE", + "value": 2 + }, + { + "name": "PREDICTIVE", + "value": 3 + } + ] + }, + { + "name": "LaneKeepAssistState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATED_STEER_LEFT", + "value": 2 + }, + { + "name": "ACTIVATED_STEER_RIGHT", + "value": 3 + }, + { + "name": "USER_OVERRIDE", + "value": 4 + } + ] + }, + { + "name": "CustomInputType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "CUSTOM_EVENT_F1", + "value": 1001 + }, + { + "name": "CUSTOM_EVENT_F2", + "value": 1002 + }, + { + "name": "CUSTOM_EVENT_F3", + "value": 1003 + }, + { + "name": "CUSTOM_EVENT_F4", + "value": 1004 + }, + { + "name": "CUSTOM_EVENT_F5", + "value": 1005 + }, + { + "name": "CUSTOM_EVENT_F6", + "value": 1006 + }, + { + "name": "CUSTOM_EVENT_F7", + "value": 1007 + }, + { + "name": "CUSTOM_EVENT_F8", + "value": 1008 + }, + { + "name": "CUSTOM_EVENT_F9", + "value": 1009 + }, + { + "name": "CUSTOM_EVENT_F10", + "value": 1010 + } + ] + }, + { + "name": "ElectronicTollCollectionCardStatus", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "ELECTRONIC_TOLL_COLLECTION_CARD_VALID", + "value": 1 + }, + { + "name": "ELECTRONIC_TOLL_COLLECTION_CARD_INVALID", + "value": 2 + }, + { + "name": "ELECTRONIC_TOLL_COLLECTION_CARD_NOT_INSERTED", + "value": 3 + } + ] + }, + { + "name": "HandsOnDetectionDriverState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "HANDS_ON", + "value": 1 + }, + { + "name": "HANDS_OFF", + "value": 2 + } + ] + }, + { + "name": "EmergencyLaneKeepAssistState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "WARNING_LEFT", + "value": 2 + }, + { + "name": "WARNING_RIGHT", + "value": 3 + }, + { + "name": "ACTIVATED_STEER_LEFT", + "value": 4 + }, + { + "name": "ACTIVATED_STEER_RIGHT", + "value": 5 + }, + { + "name": "USER_OVERRIDE", + "value": 6 + } + ] + }, + { + "name": "VehicleAutonomousState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "LEVEL_0", + "value": 0 + }, + { + "name": "LEVEL_1", + "value": 1 + }, + { + "name": "LEVEL_2", + "value": 2 + }, + { + "name": "LEVEL_3", + "value": 3 + }, + { + "name": "LEVEL_4", + "value": 4 + }, + { + "name": "LEVEL_5", + "value": 5 + } + ] + }, + { + "name": "EvChargeState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "CHARGING", + "value": 1 + }, + { + "name": "FULLY_CHARGED", + "value": 2 + }, + { + "name": "NOT_CHARGING", + "value": 3 + }, + { + "name": "ERROR", + "value": 4 + } + ] + }, + { + "name": "GsrComplianceRequirementType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "GSR_COMPLIANCE_NOT_REQUIRED", + "value": 0 + }, + { + "name": "GSR_COMPLIANCE_REQUIRED_V1", + "value": 1 + } + ] + }, + { + "name": "PortLocationType", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNKNOWN", + "value": 0 + }, + { + "name": "FRONT_LEFT", + "value": 1 + }, + { + "name": "FRONT_RIGHT", + "value": 2 + }, + { + "name": "REAR_RIGHT", + "value": 3 + }, + { + "name": "REAR_LEFT", + "value": 4 + }, + { + "name": "FRONT", + "value": 5 + }, + { + "name": "REAR", + "value": 6 + } + ] + }, + { + "name": "CruiseControlState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "OTHER", + "value": 0 + }, + { + "name": "ENABLED", + "value": 1 + }, + { + "name": "ACTIVATED", + "value": 2 + }, + { + "name": "USER_OVERRIDE", + "value": 3 + }, + { + "name": "SUSPENDED", + "value": 4 + }, + { + "name": "FORCED_DEACTIVATION_WARNING", + "value": 5 + } + ] + } ] \ No newline at end of file diff --git a/automotive/vehicle/aidl/emu_metadata/generate_emulator_metadata.py b/automotive/vehicle/aidl/emu_metadata/generate_emulator_metadata.py deleted file mode 100755 index 5706571fb3..0000000000 --- a/automotive/vehicle/aidl/emu_metadata/generate_emulator_metadata.py +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/python3 - -# -# Script for generation of VHAL properties metadata .json from AIDL interface -# -# This metadata is used to display human property names, names of enum -# data types for their values, change and access modes and other information, -# available from AIDL block comments, but not at runtime. -# -# Usage example: -# ./emu_metadata/generate_emulator_metadata.py android/hardware/automotive/vehicle $OUT/android.hardware.automotive.vehicle-types-meta.json -# (Note, that the resulting file has to match a '*types-meta.json' pattern to be parsed by the emulator). -# - -import json -import os -import re -import sys - -from pathlib import Path - -RE_PACKAGE = re.compile(r"\npackage\s([\.a-z0-9]*);") -RE_IMPORT = re.compile(r"\nimport\s([\.a-zA-Z0-9]*);") -RE_ENUM = re.compile(r"\s*enum\s+(\w*) {\n(.*)}", re.MULTILINE | re.DOTALL) -RE_COMMENT = re.compile(r"(?:(?:\/\*\*)((?:.|\n)*?)(?:\*\/))?(?:\n|^)\s*(\w*)(?:\s+=\s*)?((?:[\.\-a-zA-Z0-9]|\s|\+|)*),", - re.DOTALL) -RE_BLOCK_COMMENT_TITLE = re.compile("^(?:\s|\*)*((?:\w|\s|\.)*)\n(?:\s|\*)*(?:\n|$)") -RE_BLOCK_COMMENT_ANNOTATION = re.compile("^(?:\s|\*)*@(\w*)\s+((?:[\w:\.])*)", re.MULTILINE) -RE_HEX_NUMBER = re.compile("([\.\-0-9A-Za-z]+)") - - -class JEnum: - def __init__(self, package, name): - self.package = package - self.name = name - self.values = [] - -class Enum: - def __init__(self, package, name, text, imports): - self.text = text - self.parsed = False - self.imports = imports - self.jenum = JEnum(package, name) - - def parse(self, enums): - if self.parsed: - return - for dep in self.imports: - enums[dep].parse(enums) - print("Parsing " + self.jenum.name) - matches = RE_COMMENT.findall(self.text) - defaultValue = 0 - for match in matches: - value = dict() - value['name'] = match[1] - value['value'] = self.calculateValue(match[2], defaultValue, enums) - defaultValue = value['value'] + 1 - if self.jenum.name == "VehicleProperty": - block_comment = match[0] - self.parseBlockComment(value, block_comment) - self.jenum.values.append(value) - self.parsed = True - self.text = None - - def get_value(self, value_name): - for value in self.jenum.values: - if value['name'] == value_name: - return value['value'] - raise Exception("Cannot decode value: " + self.jenum.package + " : " + value_name) - - def calculateValue(self, expression, default_value, enums): - numbers = RE_HEX_NUMBER.findall(expression) - if len(numbers) == 0: - return default_value - result = 0 - base = 10 - if numbers[0].lower().startswith("0x"): - base = 16 - for number in numbers: - if '.' in number: - package, val_name = number.split('.') - for dep in self.imports: - if package in dep: - result += enums[dep].get_value(val_name) - else: - result += int(number, base) - return result - - def parseBlockComment(self, value, blockComment): - titles = RE_BLOCK_COMMENT_TITLE.findall(blockComment) - for title in titles: - value['name'] = title - break - annots_res = RE_BLOCK_COMMENT_ANNOTATION.findall(blockComment) - for annot in annots_res: - value[annot[0]] = annot[1].replace(".", ":") - -class Converter: - # Only addition is supported for now, but that covers all existing properties except - # OBD diagnostics, which use bitwise shifts - def convert(self, input): - text = Path(input).read_text() - matches = RE_ENUM.findall(text) - package = RE_PACKAGE.findall(text)[0] - imports = RE_IMPORT.findall(text) - enums = [] - for match in matches: - enum = Enum(package, match[0], match[1], imports) - enums.append(enum) - return enums - - -def main(): - if (len(sys.argv) != 3): - print("Usage: ", sys.argv[0], " INPUT_PATH OUTPUT") - sys.exit(1) - aidl_path = sys.argv[1] - out_path = sys.argv[2] - enums_dict = dict() - for file in os.listdir(aidl_path): - enums = Converter().convert(os.path.join(aidl_path, file)) - for enum in enums: - enums_dict[enum.jenum.package + "." + enum.jenum.name] = enum - - result = [] - for enum_name, enum in enums_dict.items(): - enum.parse(enums_dict) - result.append(enum.jenum.__dict__) - - json_result = json.dumps(result, default=None, indent=2) - with open(out_path, 'w') as f: - f.write(json_result) - - -if __name__ == "__main__": - main() diff --git a/automotive/vehicle/aidl/impl/vhal/Android.bp b/automotive/vehicle/aidl/impl/vhal/Android.bp index 20bba7fe10..aa30f807d9 100644 --- a/automotive/vehicle/aidl/impl/vhal/Android.bp +++ b/automotive/vehicle/aidl/impl/vhal/Android.bp @@ -55,6 +55,10 @@ cc_library { "src/ConnectedClient.cpp", "src/DefaultVehicleHal.cpp", "src/SubscriptionManager.cpp", + // A target to check whether the file + // android.hardware.automotive.vehicle-types-meta.json needs update. + // The output is just an empty cpp file and not actually used. + ":check_generated_enum_metadata_json", ], static_libs: [ "VehicleHalUtils", diff --git a/automotive/vehicle/aidl_property/Android.bp b/automotive/vehicle/aidl_property/Android.bp index 345a2e601e..5db39d84f7 100644 --- a/automotive/vehicle/aidl_property/Android.bp +++ b/automotive/vehicle/aidl_property/Android.bp @@ -56,5 +56,11 @@ aidl_interface { imports: [], }, ], - +} + +filegroup { + name: "android.hardware.automotive.vehicle.property-files", + srcs: [ + "android/hardware/automotive/vehicle/*.aidl", + ], } diff --git a/automotive/vehicle/tools/generate_emu_metadata/Android.bp b/automotive/vehicle/tools/generate_emu_metadata/Android.bp new file mode 100644 index 0000000000..4cb6d3baf5 --- /dev/null +++ b/automotive/vehicle/tools/generate_emu_metadata/Android.bp @@ -0,0 +1,60 @@ +/* + * 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. + */ + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +java_binary_host { + name: "EnumMetadataGenerator", + srcs: ["src/**/*.java"], + manifest: "manifest.txt", + static_libs: [ + "javaparser", + "javaparser-symbol-solver", + "json-prebuilt", + "androidx.annotation_annotation", + ], +} + +// A rule to convert VHAL property AIDL files to java files. +gensrcs { + name: "gen_vehicle_property_java_file", + srcs: [ + ":android.hardware.automotive.vehicle.property-files", + ], + tools: ["aidl"], + cmd: "$(location aidl) --lang=java --structured --stability=vintf $(in) -I hardware/interfaces/automotive/vehicle/aidl_property --out $(genDir)/hardware/interfaces/automotive/vehicle/aidl_property", + output_extension: "java", +} + +// A target to check whether android.hardware.automotive.vehicle-types-meta.json +// needs to be updated. The output is just an empty cpp file to be included +// in the higher-level build target. +// It will generate generated.json at output directory based on VHAL property +// java files and check it against +// android.hardware.automotive.vehicle-types-meta.json. If not the same, the +// build will fail. +genrule { + name: "check_generated_enum_metadata_json", + tools: ["EnumMetadataGenerator"], + srcs: [ + ":android.hardware.automotive.vehicle-types-meta", + ":gen_vehicle_property_java_file", + ], + cmd: "$(location EnumMetadataGenerator) --check_against $(location :android.hardware.automotive.vehicle-types-meta) --output_empty_file $(out) --output_json $(genDir)/generate_enum_metadata.json --input_files $(locations :gen_vehicle_property_java_file)", + out: ["generate_enum_metadata_checked.cpp"], +} diff --git a/automotive/vehicle/tools/generate_emu_metadata/manifest.txt b/automotive/vehicle/tools/generate_emu_metadata/manifest.txt new file mode 100644 index 0000000000..07696da0a0 --- /dev/null +++ b/automotive/vehicle/tools/generate_emu_metadata/manifest.txt @@ -0,0 +1 @@ +Main-Class: com.android.car.tool.EmuMetadataGenerator diff --git a/automotive/vehicle/tools/generate_emu_metadata/src/com/android/car/tool/EmuMetadataGenerator.java b/automotive/vehicle/tools/generate_emu_metadata/src/com/android/car/tool/EmuMetadataGenerator.java new file mode 100644 index 0000000000..8e12f6774b --- /dev/null +++ b/automotive/vehicle/tools/generate_emu_metadata/src/com/android/car/tool/EmuMetadataGenerator.java @@ -0,0 +1,403 @@ +/* + * 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. + */ + +package com.android.car.tool; + +import com.github.javaparser.StaticJavaParser; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.body.AnnotationDeclaration; +import com.github.javaparser.ast.body.FieldDeclaration; +import com.github.javaparser.ast.body.VariableDeclarator; +import com.github.javaparser.ast.comments.Comment; +import com.github.javaparser.ast.expr.AnnotationExpr; +import com.github.javaparser.ast.expr.ArrayInitializerExpr; +import com.github.javaparser.ast.expr.Expression; +import com.github.javaparser.ast.expr.NormalAnnotationExpr; +import com.github.javaparser.ast.expr.SingleMemberAnnotationExpr; +import com.github.javaparser.ast.expr.UnaryExpr; +import com.github.javaparser.ast.type.ClassOrInterfaceType; +import com.github.javaparser.javadoc.Javadoc; +import com.github.javaparser.javadoc.JavadocBlockTag; +import com.github.javaparser.javadoc.description.JavadocDescription; +import com.github.javaparser.javadoc.description.JavadocDescriptionElement; +import com.github.javaparser.javadoc.description.JavadocInlineTag; +import com.github.javaparser.resolution.declarations.ResolvedFieldDeclaration; +import com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration; +import com.github.javaparser.symbolsolver.JavaSymbolSolver; +import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserFieldDeclaration; +import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.CombinedTypeSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.JavaParserTypeSolver; +import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import org.json.JSONArray; +import org.json.JSONObject; + +public final class EmuMetadataGenerator { + private static final String DEFAULT_PACKAGE_NAME = "android.hardware.automotive.vehicle"; + private static final String INPUT_DIR_OPTION = "--input_dir"; + private static final String INPUT_FILES_OPTION = "--input_files"; + private static final String PACKAGE_NAME_OPTION = "--package_name"; + private static final String OUTPUT_JSON_OPTION = "--output_json"; + private static final String OUTPUT_EMPTY_FILE_OPTION = "--output_empty_file"; + private static final String CHECK_AGAINST_OPTION = "--check_against"; + private static final String USAGE = "EnumMetadataGenerator " + INPUT_DIR_OPTION + + " [path_to_aidl_gen_dir] " + INPUT_FILES_OPTION + " [input_files] " + + PACKAGE_NAME_OPTION + " [package_name] " + OUTPUT_JSON_OPTION + " [output_json] " + + OUTPUT_EMPTY_FILE_OPTION + " [output_header_file] " + CHECK_AGAINST_OPTION + + " [json_file_to_check_against]\n" + + "Parses the VHAL property AIDL interface generated Java files to a json file to be" + + " used by emulator\n" + + "Options: \n" + INPUT_DIR_OPTION + + ": the path to a directory containing AIDL interface Java files, " + + "either this or input_files must be specified\n" + INPUT_FILES_OPTION + + ": one or more Java files, this is used to decide the input " + + "directory\n" + PACKAGE_NAME_OPTION + + ": the optional package name for the interface, by default is " + DEFAULT_PACKAGE_NAME + + "\n" + OUTPUT_JSON_OPTION + ": The output JSON file\n" + OUTPUT_EMPTY_FILE_OPTION + + ": Only used for check_mode, this file will be created if " + + "check passed\n" + CHECK_AGAINST_OPTION + + ": An optional JSON file to check against. If specified, the " + + "generated output file will be checked against this file, if they are not the same, " + + "the script will fail, otherwise, the output_empty_file will be created\n" + + "For example: \n" + + "EnumMetadataGenerator --input_dir out/soong/.intermediates/hardware/" + + "interfaces/automotive/vehicle/aidl_property/android.hardware.automotive.vehicle." + + "property-V3-java-source/gen/ --package_name android.hardware.automotive.vehicle " + + "--output_json /tmp/android.hardware.automotive.vehicle-types-meta.json"; + private static final String VEHICLE_PROPERTY_FILE = "VehicleProperty.java"; + private static final String CHECK_FILE_PATH = + "${ANDROID_BUILD_TOP}/hardware/interfaces/automotive/vehicle/aidl/emu_metadata/" + + "android.hardware.automotive.vehicle-types-meta.json"; + + // Emulator can display at least this many characters before cutting characters. + private static final int MAX_PROPERTY_NAME_LENGTH = 30; + + /** + * Parses the enum field declaration as an int value. + */ + private static int parseIntEnumField(FieldDeclaration fieldDecl) { + VariableDeclarator valueDecl = fieldDecl.getVariables().get(0); + Expression expr = valueDecl.getInitializer().get(); + if (expr.isIntegerLiteralExpr()) { + return expr.asIntegerLiteralExpr().asInt(); + } + // For case like -123 + if (expr.isUnaryExpr() && expr.asUnaryExpr().getOperator() == UnaryExpr.Operator.MINUS) { + return -expr.asUnaryExpr().getExpression().asIntegerLiteralExpr().asInt(); + } + System.out.println("Unsupported expression: " + expr); + System.exit(1); + return 0; + } + + private static boolean isPublicAndStatic(FieldDeclaration fieldDecl) { + return fieldDecl.isPublic() && fieldDecl.isStatic(); + } + + private static String getFieldName(FieldDeclaration fieldDecl) { + VariableDeclarator valueDecl = fieldDecl.getVariables().get(0); + return valueDecl.getName().asString(); + } + + private static class Enum { + Enum(String name, String packageName) { + this.name = name; + this.packageName = packageName; + } + + public String name; + public String packageName; + public final List valueFields = new ArrayList<>(); + } + + private static class ValueField { + public String name; + public Integer value; + public final List dataEnums = new ArrayList<>(); + + ValueField(String name, Integer value) { + this.name = name; + this.value = value; + } + } + + private static Enum parseEnumInterface( + String inputDir, String dirName, String packageName, String enumName) throws Exception { + Enum enumIntf = new Enum(enumName, packageName); + CompilationUnit cu = StaticJavaParser.parse(new File( + inputDir + File.separator + dirName + File.separator + enumName + ".java")); + AnnotationDeclaration vehiclePropertyIdsClass = + cu.getAnnotationDeclarationByName(enumName).get(); + + List variables = vehiclePropertyIdsClass.findAll(FieldDeclaration.class); + for (int i = 0; i < variables.size(); i++) { + FieldDeclaration propertyDef = variables.get(i).asFieldDeclaration(); + if (!isPublicAndStatic(propertyDef)) { + continue; + } + ValueField field = + new ValueField(getFieldName(propertyDef), parseIntEnumField(propertyDef)); + enumIntf.valueFields.add(field); + } + return enumIntf; + } + + // A hacky way to make the key in-order in the JSON object. + private static final class OrderedJSONObject extends JSONObject { + OrderedJSONObject() { + try { + Field map = JSONObject.class.getDeclaredField("nameValuePairs"); + map.setAccessible(true); + map.set(this, new LinkedHashMap<>()); + map.setAccessible(false); + } catch (IllegalAccessException | NoSuchFieldException e) { + throw new RuntimeException(e); + } + } + } + + private static String readFileContent(String fileName) throws Exception { + StringBuffer contentBuffer = new StringBuffer(); + int bufferSize = 1024; + try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { + char buffer[] = new char[bufferSize]; + while (true) { + int read = reader.read(buffer, 0, bufferSize); + if (read == -1) { + break; + } + contentBuffer.append(buffer, 0, read); + } + } + return contentBuffer.toString(); + } + + private static final class Args { + public final String inputDir; + public final String pkgName; + public final String pkgDir; + public final String output; + public final String checkFile; + public final String outputEmptyFile; + + public Args(String[] args) throws IllegalArgumentException { + Map> valuesByKey = new LinkedHashMap<>(); + String key = null; + for (int i = 0; i < args.length; i++) { + String arg = args[i]; + if (arg.startsWith("--")) { + key = arg; + continue; + } + if (key == null) { + throw new IllegalArgumentException("Missing key for value: " + arg); + } + if (valuesByKey.get(key) == null) { + valuesByKey.put(key, new ArrayList<>()); + } + valuesByKey.get(key).add(arg); + } + String pkgName; + List values = valuesByKey.get(PACKAGE_NAME_OPTION); + if (values == null) { + pkgName = DEFAULT_PACKAGE_NAME; + } else { + pkgName = values.get(0); + } + String pkgDir = pkgName.replace(".", File.separator); + this.pkgName = pkgName; + this.pkgDir = pkgDir; + String inputDir; + values = valuesByKey.get(INPUT_DIR_OPTION); + if (values == null) { + List inputFiles = valuesByKey.get(INPUT_FILES_OPTION); + if (inputFiles == null) { + throw new IllegalArgumentException("Either " + INPUT_DIR_OPTION + " or " + + INPUT_FILES_OPTION + " must be specified"); + } + inputDir = new File(inputFiles.get(0)).getParent().replace(pkgDir, ""); + } else { + inputDir = values.get(0); + } + this.inputDir = inputDir; + values = valuesByKey.get(OUTPUT_JSON_OPTION); + if (values == null) { + throw new IllegalArgumentException(OUTPUT_JSON_OPTION + " must be specified"); + } + this.output = values.get(0); + values = valuesByKey.get(CHECK_AGAINST_OPTION); + if (values != null) { + this.checkFile = values.get(0); + } else { + this.checkFile = null; + } + values = valuesByKey.get(OUTPUT_EMPTY_FILE_OPTION); + if (values != null) { + this.outputEmptyFile = values.get(0); + } else { + this.outputEmptyFile = null; + } + } + } + + /** + * Main function. + */ + public static void main(final String[] args) throws Exception { + Args parsedArgs; + try { + parsedArgs = new Args(args); + } catch (IllegalArgumentException e) { + System.out.println("Invalid arguments: " + e.getMessage()); + System.out.println(USAGE); + System.exit(1); + // Never reach here. + return; + } + + TypeSolver typeSolver = new CombinedTypeSolver( + new ReflectionTypeSolver(), new JavaParserTypeSolver(parsedArgs.inputDir)); + StaticJavaParser.getConfiguration().setSymbolResolver(new JavaSymbolSolver(typeSolver)); + + Enum vehicleProperty = new Enum("VehicleProperty", parsedArgs.pkgName); + CompilationUnit cu = StaticJavaParser.parse(new File(parsedArgs.inputDir + File.separator + + parsedArgs.pkgDir + File.separator + VEHICLE_PROPERTY_FILE)); + AnnotationDeclaration vehiclePropertyIdsClass = + cu.getAnnotationDeclarationByName("VehicleProperty").get(); + + Set dataEnumTypes = new HashSet<>(); + List variables = vehiclePropertyIdsClass.findAll(FieldDeclaration.class); + for (int i = 0; i < variables.size(); i++) { + FieldDeclaration propertyDef = variables.get(i).asFieldDeclaration(); + if (!isPublicAndStatic(propertyDef)) { + continue; + } + String propertyName = getFieldName(propertyDef); + if (propertyName.equals("INVALID")) { + continue; + } + + Optional maybeComment = propertyDef.getComment(); + if (!maybeComment.isPresent()) { + System.out.println("missing comment for property: " + propertyName); + System.exit(1); + } + Javadoc doc = maybeComment.get().asJavadocComment().parse(); + + int propertyId = parseIntEnumField(propertyDef); + // We use the first paragraph as the property's name + String propertyDescription = doc.getDescription().toText().split("\n\n")[0]; + String name = propertyDescription; + if (propertyDescription.indexOf("\n") != -1 + || propertyDescription.length() > MAX_PROPERTY_NAME_LENGTH) { + // The description is too long, we just use the property name. + name = propertyName; + } + ValueField field = new ValueField(name, propertyId); + + List blockTags = doc.getBlockTags(); + List dataEnums = new ArrayList<>(); + for (int j = 0; j < blockTags.size(); j++) { + String commentTagName = blockTags.get(j).getTagName(); + String commentTagContent = blockTags.get(j).getContent().toText(); + if (!commentTagName.equals("data_enum")) { + continue; + } + field.dataEnums.add(commentTagContent); + dataEnumTypes.add(commentTagContent); + } + + vehicleProperty.valueFields.add(field); + } + + List enumTypes = new ArrayList<>(); + enumTypes.add(vehicleProperty); + + for (String dataEnumType : dataEnumTypes) { + Enum dataEnum = parseEnumInterface( + parsedArgs.inputDir, parsedArgs.pkgDir, parsedArgs.pkgName, dataEnumType); + enumTypes.add(dataEnum); + } + + // Output enumTypes as JSON to output. + JSONArray jsonEnums = new JSONArray(); + for (int i = 0; i < enumTypes.size(); i++) { + Enum enumType = enumTypes.get(i); + + JSONObject jsonEnum = new OrderedJSONObject(); + jsonEnum.put("name", enumType.name); + jsonEnum.put("package", enumType.packageName); + JSONArray values = new JSONArray(); + jsonEnum.put("values", values); + + for (int j = 0; j < enumType.valueFields.size(); j++) { + ValueField valueField = enumType.valueFields.get(j); + JSONObject jsonValueField = new OrderedJSONObject(); + jsonValueField.put("name", valueField.name); + jsonValueField.put("value", valueField.value); + if (!valueField.dataEnums.isEmpty()) { + JSONArray jsonDataEnums = new JSONArray(); + for (String dataEnum : valueField.dataEnums) { + jsonDataEnums.put(dataEnum); + } + jsonValueField.put("data_enums", jsonDataEnums); + // To be backward compatible with older format where data_enum is a single + // entry. + jsonValueField.put("data_enum", valueField.dataEnums.get(0)); + } + values.put(jsonValueField); + } + + jsonEnums.put(jsonEnum); + } + + try (FileOutputStream outputStream = new FileOutputStream(parsedArgs.output)) { + outputStream.write(jsonEnums.toString(4).getBytes()); + } + System.out.println("Input at folder: " + parsedArgs.inputDir + + " successfully parsed. Output at: " + parsedArgs.output); + + if (parsedArgs.checkFile != null) { + String checkFileContent = readFileContent(parsedArgs.checkFile); + String generatedFileContent = readFileContent(parsedArgs.output); + String generatedFilePath = new File(parsedArgs.output).getAbsolutePath(); + if (!checkFileContent.equals(generatedFileContent)) { + System.out.println("The file: " + CHECK_FILE_PATH + " needs to be updated, run: " + + "\n\ncp " + generatedFilePath + " " + CHECK_FILE_PATH + "\n"); + System.exit(1); + } + + if (parsedArgs.outputEmptyFile != null) { + try (FileOutputStream outputStream = + new FileOutputStream(parsedArgs.outputEmptyFile)) { + // Do nothing, just create the file. + } + } + } + } +} From ba1854fb0edb8e0e1fd29332199159c9b9b69e0e Mon Sep 17 00:00:00 2001 From: Tang Lee Date: Sun, 28 Jan 2024 00:34:33 +0800 Subject: [PATCH 146/198] ExternalCameraHAL: fix CTS failures with callback for errors For every request, either requestStreamBuffers fails or handling of the requested buffer fails, always trigger the processCaptureResult callback by notifying the request is ready. This avoids the errors like the service side receives fewer results than the requests and waits until timeout. Bug: 299182874 Test: cts cts-tradefed run cts \ --include-filter "CtsCameraTestCases android.hardware.camera2.cts.RobustnessTest" \ --include-filter "CtsCameraTestCases android.hardware.camera2.cts.PerformanceTest" \ --include-filter "CtsCameraTestCases android.hardware.camera2.cts.StillCaptureTest" \ --include-filter "CtsCameraTestCases android.hardware.camera2.cts.SurfaceViewPreviewTest" \ --include-filter "CtsCameraTestCases android.hardware.cts.CameraGLTest" \ --include-filter "CtsCameraTestCases android.hardware.cts.LegacyCameraPerformanceTest" \ Change-Id: I86ba422524e79af6b318b50bd6eebe2cb27fa50a --- .../default/ExternalCameraDeviceSession.cpp | 43 ++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/camera/device/default/ExternalCameraDeviceSession.cpp b/camera/device/default/ExternalCameraDeviceSession.cpp index 075a9f6d49..91196d4228 100644 --- a/camera/device/default/ExternalCameraDeviceSession.cpp +++ b/camera/device/default/ExternalCameraDeviceSession.cpp @@ -1965,6 +1965,12 @@ int ExternalCameraDeviceSession::BufferRequestThread::waitForBufferRequestDone( ALOGE("%s: wait for buffer request finish timeout!", __FUNCTION__); return -1; } + + if (mPendingReturnBufferReqs.empty()) { + mRequestingBuffer = false; + ALOGE("%s: cameraservice did not return any buffers!", __FUNCTION__); + return -1; + } } mRequestingBuffer = false; *outBufReqs = std::move(mPendingReturnBufferReqs); @@ -2014,6 +2020,8 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { if (!ret.isOk()) { ALOGE("%s: Transaction error: %d:%d", __FUNCTION__, ret.getExceptionCode(), ret.getServiceSpecificError()); + mBufferReqs.clear(); + mRequestDoneCond.notify_one(); return false; } @@ -2022,17 +2030,24 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { if (bufRets.size() != mHalBufferReqs.size()) { ALOGE("%s: expect %zu buffer requests returned, only got %zu", __FUNCTION__, mHalBufferReqs.size(), bufRets.size()); + mBufferReqs.clear(); + lk.unlock(); + mRequestDoneCond.notify_one(); return false; } auto parent = mParent.lock(); if (parent == nullptr) { ALOGE("%s: session has been disconnected!", __FUNCTION__); + mBufferReqs.clear(); + lk.unlock(); + mRequestDoneCond.notify_one(); return false; } std::vector importedFences; importedFences.resize(bufRets.size()); + bool hasError = false; for (size_t i = 0; i < bufRets.size(); i++) { int streamId = bufRets[i].streamId; switch (bufRets[i].val.getTag()) { @@ -2043,7 +2058,8 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { bufRets[i].val.get(); if (hBufs.size() != 1) { ALOGE("%s: expect 1 buffer returned, got %zu!", __FUNCTION__, hBufs.size()); - return false; + hasError = true; + break; } const StreamBuffer& hBuf = hBufs[0]; @@ -2060,26 +2076,38 @@ bool ExternalCameraDeviceSession::BufferRequestThread::threadLoop() { if (s != Status::OK) { ALOGE("%s: stream %d import buffer failed!", __FUNCTION__, streamId); cleanupInflightFences(importedFences, i - 1); - return false; + hasError = true; + break; } h = makeFromAidl(hBuf.acquireFence); if (!sHandleImporter.importFence(h, mBufferReqs[i].acquireFence)) { ALOGE("%s: stream %d import fence failed!", __FUNCTION__, streamId); cleanupInflightFences(importedFences, i - 1); native_handle_delete(h); - return false; + hasError = true; + break; } native_handle_delete(h); importedFences[i] = mBufferReqs[i].acquireFence; } break; default: ALOGE("%s: Unknown StreamBuffersVal!", __FUNCTION__); - return false; + hasError = true; + break; + } + if (hasError) { + mBufferReqs.clear(); + lk.unlock(); + mRequestDoneCond.notify_one(); + return true; } } } else { ALOGE("%s: requestStreamBuffers call failed!", __FUNCTION__); - return false; + mBufferReqs.clear(); + lk.unlock(); + mRequestDoneCond.notify_one(); + return true; } mPendingReturnBufferReqs = std::move(mBufferReqs); @@ -2784,6 +2812,11 @@ bool ExternalCameraDeviceSession::OutputThread::threadLoop() { if (res != 0) { // For some webcam, the first few V4L2 frames might be malformed... ALOGE("%s: Convert V4L2 frame to YU12 failed! res %d", __FUNCTION__, res); + + ATRACE_BEGIN("Wait for BufferRequest done"); + res = waitForBufferRequestDone(&req->buffers); + ATRACE_END(); + lk.unlock(); Status st = parent->processCaptureRequestError(req); if (st != Status::OK) { From 57e748c9793b66ddedcfc41b638191661c8b5d3d Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Thu, 1 Feb 2024 21:41:48 +0000 Subject: [PATCH 147/198] Add VTS tests for all new Supplicant APIs that contain vendor data. Bug: 322815584 Test: atest VtsHalWifiSupplicantStaNetworkTargetTest \ VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: I63026b9f970c02b20e6b368c742624fad5d51041 --- .../supplicant_p2p_iface_aidl_test.cpp | 40 +++++++++++++++++-- .../supplicant_sta_network_aidl_test.cpp | 11 +++++ .../vts/functional/supplicant_test_utils.h | 22 ++++++++-- 3 files changed, 66 insertions(+), 7 deletions(-) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 2e22807363..69a8919ac1 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -36,8 +36,10 @@ using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; using aidl::android::hardware::wifi::supplicant::P2pConnectInfo; +using aidl::android::hardware::wifi::supplicant::P2pCreateGroupOwnerInfo; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; using aidl::android::hardware::wifi::supplicant::P2pDiscoveryInfo; +using aidl::android::hardware::wifi::supplicant::P2pExtListenInfo; using aidl::android::hardware::wifi::supplicant::P2pFrameTypeMask; using aidl::android::hardware::wifi::supplicant::P2pGoNegotiationReqEventParams; using aidl::android::hardware::wifi::supplicant::P2pGroupCapabilityMask; @@ -72,7 +74,7 @@ const uint32_t kTestNetworkId = 7; const uint32_t kTestGroupFreq = 0; const bool kTestGroupPersistent = false; const bool kTestGroupIsJoin = false; -const auto& kTestVendorData = generateOuiKeyedDataList(5); +const auto& kTestVendorDataOptional = generateOuiKeyedDataListOptional(5); } // namespace @@ -534,6 +536,22 @@ TEST_P(SupplicantP2pIfaceAidlTest, AddGroupWithConfig_FailureInvalidFrequency) { .isOk()); } +/* + * CreateGroupOwner + */ +TEST_P(SupplicantP2pIfaceAidlTest, CreateGroupOwner) { + if (interface_version_ < 3) { + GTEST_SKIP() << "createGroupOwner is available as of Supplicant V3"; + } + + P2pCreateGroupOwnerInfo info; + info.persistent = false; + info.persistentNetworkId = kTestNetworkId; + info.vendorData = kTestVendorDataOptional; + + EXPECT_TRUE(p2p_iface_->createGroupOwner(info).isOk()); +} + /* * Find */ @@ -565,7 +583,7 @@ TEST_P(SupplicantP2pIfaceAidlTest, FindWithParams) { P2pDiscoveryInfo discoveryParams; discoveryParams.timeoutInSec = kTestFindTimeout; - discoveryParams.vendorData = kTestVendorData; + discoveryParams.vendorData = kTestVendorDataOptional; discoveryParams.scanType = P2pScanType::FULL; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); @@ -624,7 +642,7 @@ TEST_P(SupplicantP2pIfaceAidlTest, ConnectWithParams) { connectInfo.joinExistingGroup = true; connectInfo.persistent = false; connectInfo.goIntent = kTestConnectGoIntent; - connectInfo.vendorData = kTestVendorData; + connectInfo.vendorData = kTestVendorDataOptional; std::string pin; EXPECT_TRUE(p2p_iface_->connectWithParams(connectInfo, &pin).isOk()); @@ -689,6 +707,22 @@ TEST_P(SupplicantP2pIfaceAidlTest, ConfigureExtListen) { .isOk()); } +/* + * ConfigureExtListenWithParams + */ +TEST_P(SupplicantP2pIfaceAidlTest, ConfigureExtListenWithParams) { + if (interface_version_ < 3) { + GTEST_SKIP() << "configureExtListenWithParams is available as of Supplicant V3"; + } + + P2pExtListenInfo info; + info.periodMs = 400; + info.intervalMs = 400; + info.vendorData = kTestVendorDataOptional; + + EXPECT_TRUE(p2p_iface_->configureExtListenWithParams(info).isOk()); +} + /* * FlushServices */ diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp index e5e9735a18..a541f8f180 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp @@ -72,6 +72,7 @@ const std::string kTestEapMatch = "match"; const KeyMgmtMask kTestKeyMgmt = static_cast(static_cast(KeyMgmtMask::WPA_PSK) | static_cast(KeyMgmtMask::WPA_EAP)); +const auto& kTestVendorData = generateOuiKeyedDataList(5); } // namespace @@ -834,6 +835,16 @@ TEST_P(SupplicantStaNetworkAidlTest, DisableEht) { EXPECT_TRUE(sta_network_->disableEht().isOk()); } +/* + * SetVendorData + */ +TEST_P(SupplicantStaNetworkAidlTest, SetVendorData) { + if (interface_version_ < 3) { + GTEST_SKIP() << "setVendorData is available as of Supplicant V3"; + } + EXPECT_TRUE(sta_network_->setVendorData(kTestVendorData).isOk()); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SupplicantStaNetworkAidlTest); INSTANTIATE_TEST_SUITE_P(Supplicant, SupplicantStaNetworkAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames( diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h index b38e669875..51793fd259 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h +++ b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h @@ -102,7 +102,7 @@ std::array vecToArrayMacAddr(std::vector vectorAddr) { return arrayAddr; } -std::optional generateOuiKeyedData(int oui) { +OuiKeyedData generateOuiKeyedData(int oui) { PersistableBundle bundle; bundle.putString("stringKey", "stringValue"); bundle.putInt("intKey", 12345); @@ -110,13 +110,27 @@ std::optional generateOuiKeyedData(int oui) { OuiKeyedData data; data.oui = oui; data.vendorData = bundle; - return std::optional{data}; + return data; } -std::optional>> generateOuiKeyedDataList(int size) { - std::vector> dataList; +std::vector generateOuiKeyedDataList(int size) { + std::vector dataList; for (int i = 0; i < size; i++) { dataList.push_back(generateOuiKeyedData(i + 1)); } + return dataList; +} + +// Wraps generateOuiKeyedData result in std::optional +std::optional generateOuiKeyedDataOptional(int oui) { + return std::optional{generateOuiKeyedData(oui)}; +} + +// Generate OuiKeyedData list fully wrapped in std::optional +std::optional>> generateOuiKeyedDataListOptional(int size) { + std::vector> dataList; + for (int i = 0; i < size; i++) { + dataList.push_back(generateOuiKeyedDataOptional(i + 1)); + } return std::optional>>{dataList}; } From 4e95fdd9a226e3335d4019c0caa61b4f4ced57e3 Mon Sep 17 00:00:00 2001 From: Tang Lee Date: Fri, 2 Feb 2024 15:53:03 +0800 Subject: [PATCH 148/198] Revert Return ILLEGAL_ARGUMENT for setting null callback for 2.4 HAL This reverts part of the CL(ag/24741349) on 2.4 HAL file to pass 2.4 VTS. Since ag/24741349 was just for passing latest VTS on default HAL, it's ok to keep 2.4 HAL aligned with 2.4's VTS case. Bug: 320925606 Test: none Change-Id: I3c5e34930925c466ef6be4209e49122af1c791f6 --- .../2.4/default/ExternalCameraProviderImpl_2_4.cpp | 7 +++---- .../provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp b/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp index 2d919cccff..bb7679519a 100644 --- a/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp +++ b/camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp @@ -95,14 +95,13 @@ ExternalCameraProviderImpl_2_4::~ExternalCameraProviderImpl_2_4() { Return ExternalCameraProviderImpl_2_4::setCallback( const sp& callback) { - if (callback == nullptr) { - return Status::ILLEGAL_ARGUMENT; - } - { Mutex::Autolock _l(mLock); mCallbacks = callback; } + if (callback == nullptr) { + return Status::OK; + } // Send a callback for all devices to initialize { for (const auto& pair : mCameraStatusMap) { diff --git a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp index 07ed689c98..f039644575 100644 --- a/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp +++ b/camera/provider/2.4/default/LegacyCameraProviderImpl_2_4.cpp @@ -448,11 +448,11 @@ bool LegacyCameraProviderImpl_2_4::setUpVendorTags() { // Methods from ::android::hardware::camera::provider::V2_4::ICameraProvider follow. Return LegacyCameraProviderImpl_2_4::setCallback( const sp& callback) { - if (callback == nullptr) { - return Status::ILLEGAL_ARGUMENT; - } Mutex::Autolock _l(mCbLock); mCallbacks = callback; + if (callback == nullptr) { + return Status::OK; + } // Add and report all presenting external cameras. for (auto const& statusPair : mCameraStatusMap) { int id = std::stoi(statusPair.first); From ed2d124ec1a18ef7b2aed7c71265a2df408222a5 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 149/198] Add step and cancel tests for default bcradio HAL Added unit tests for step and cancel methods in the default AIDL broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: I83b7e9321ebd8bad1eb035d4f23bedce47712511 --- .../test/DefaultBroadcastRadioHalTest.cpp | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index 8e85a1b40b..5fce61aa0d 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -117,6 +117,21 @@ class DefaultBroadcastRadioHalTest : public testing::Test { } } + bool getAmFmBandRange(utils::FrequencyBand band, AmFmBandRange* res) { + AmFmRegionConfig config; + auto halResult = mBroadcastRadioHal->getAmFmRegionConfig(/* full= */ false, &config); + if (!halResult.isOk()) { + return false; + } + for (const auto& range : config.ranges) { + if (utils::getBand(range.lowerBound) == band) { + *res = range; + return true; + } + } + return false; + } + std::shared_ptr mBroadcastRadioHal; std::shared_ptr mTunerCallback; }; @@ -246,4 +261,91 @@ TEST_F(DefaultBroadcastRadioHalTest, TuneWithoutTunerCallback) { ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_STATE)); } +TEST_F(DefaultBroadcastRadioHalTest, StepUp) { + AmFmBandRange fmRange; + ASSERT_TRUE(getAmFmBandRange(utils::FrequencyBand::FM, &fmRange)); + ProgramSelector nextChannelSel = + utils::makeSelectorAmfm(kFmSel1.primaryId.value + fmRange.spacing); + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + + auto halResult = mBroadcastRadioHal->step(/* in_directionUp= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(nextChannelSel); +} + +TEST_F(DefaultBroadcastRadioHalTest, StepUpFromUpperBound) { + AmFmBandRange fmRange; + ASSERT_TRUE(getAmFmBandRange(utils::FrequencyBand::FM, &fmRange)); + ProgramSelector upperBoundSel = utils::makeSelectorAmfm(fmRange.upperBound); + ProgramSelector lowerBoundSel = utils::makeSelectorAmfm(fmRange.lowerBound); + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(upperBoundSel).isOk()); + verifyUpdatedProgramInfo(upperBoundSel); + + auto halResult = mBroadcastRadioHal->step(/* in_directionUp= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(lowerBoundSel); +} + +TEST_F(DefaultBroadcastRadioHalTest, StepDown) { + AmFmBandRange fmRange; + ASSERT_TRUE(getAmFmBandRange(utils::FrequencyBand::FM, &fmRange)); + ProgramSelector nextChannelSel = + utils::makeSelectorAmfm(kFmSel1.primaryId.value - fmRange.spacing); + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + + auto halResult = mBroadcastRadioHal->step(/* directionUp= */ false); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(nextChannelSel); +} + +TEST_F(DefaultBroadcastRadioHalTest, StepDownFromLowerBound) { + AmFmBandRange fmRange; + ASSERT_TRUE(getAmFmBandRange(utils::FrequencyBand::FM, &fmRange)); + ProgramSelector upperBoundSel = utils::makeSelectorAmfm(fmRange.upperBound); + ProgramSelector lowerBoundSel = utils::makeSelectorAmfm(fmRange.lowerBound); + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(lowerBoundSel).isOk()); + verifyUpdatedProgramInfo(lowerBoundSel); + + auto halResult = mBroadcastRadioHal->step(/* directionUp= */ false); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(upperBoundSel); +} + +TEST_F(DefaultBroadcastRadioHalTest, StepWithoutTunerCallback) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + mBroadcastRadioHal->unsetTunerCallback(); + + auto halResult = mBroadcastRadioHal->step(/* directionUp= */ false); + + ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_STATE)); +} + +TEST_F(DefaultBroadcastRadioHalTest, Cancel) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + + auto halResult = mBroadcastRadioHal->cancel(); + + ASSERT_TRUE(halResult.isOk()); + mTunerCallback->reset(); +} + } // namespace aidl::android::hardware::broadcastradio From 8ec8a37f23dc44896b22d4999ac1d8a71132dc97 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 2 Feb 2024 15:03:43 -0800 Subject: [PATCH 150/198] Add bcradio HAL tests to presubmit Bug: 320556913 Test: m -j Change-Id: I873e48fedecde88e4eaa7adde1a2a33ac0c8465b --- broadcastradio/TEST_MAPPING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/broadcastradio/TEST_MAPPING b/broadcastradio/TEST_MAPPING index 82953312ec..2604fb3b54 100644 --- a/broadcastradio/TEST_MAPPING +++ b/broadcastradio/TEST_MAPPING @@ -1,5 +1,5 @@ { - "postsubmit": [ + "presubmit": [ { "name": "broadcastradio_utils_aidl_test" }, From 63c8fea77878b06f9f625f538d2bd6ff92630752 Mon Sep 17 00:00:00 2001 From: Leon Scroggins III Date: Fri, 2 Feb 2024 13:03:43 -0500 Subject: [PATCH 151/198] VTS: Add flag dependency so librenderengine can be used I6c436b6b80b27930d82aabf22107216172773b56 adds a dependency for librenderengine on flags. Add that dependency so we can use librenderengine here, too. Bug: 305445199 Test: atest VtsHalGraphicsComposerV2_2TargetTest Test: atest VtsHalGraphicsComposer3_TargetTest Change-Id: If339ac94a6eff4af34e60cf1c1135289b8915441 --- graphics/composer/2.2/utils/vts/Android.bp | 2 ++ graphics/composer/2.2/vts/functional/Android.bp | 2 ++ graphics/composer/aidl/vts/Android.bp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/graphics/composer/2.2/utils/vts/Android.bp b/graphics/composer/2.2/utils/vts/Android.bp index 2bd2419192..7157862884 100644 --- a/graphics/composer/2.2/utils/vts/Android.bp +++ b/graphics/composer/2.2/utils/vts/Android.bp @@ -38,6 +38,7 @@ cc_library_static { ], shared_libs: [ "libui", + "server_configurable_flags", ], static_libs: [ "android.hardware.graphics.composer@2.1-vts", @@ -48,6 +49,7 @@ cc_library_static { "libnativewindow", "librenderengine", "libshaders", + "libsurfaceflinger_common", "libtonemap", ], export_static_lib_headers: [ diff --git a/graphics/composer/2.2/vts/functional/Android.bp b/graphics/composer/2.2/vts/functional/Android.bp index dec60df467..bda41981ad 100644 --- a/graphics/composer/2.2/vts/functional/Android.bp +++ b/graphics/composer/2.2/vts/functional/Android.bp @@ -54,6 +54,7 @@ cc_test { "libsync", "libui", "android.hardware.common-V2-ndk", + "server_configurable_flags", ], static_libs: [ "android.hardware.graphics.common@1.1", @@ -66,6 +67,7 @@ cc_test { "librenderengine", "libshaders", "libtonemap", + "libsurfaceflinger_common", ], header_libs: [ "android.hardware.graphics.composer@2.1-command-buffer", diff --git a/graphics/composer/aidl/vts/Android.bp b/graphics/composer/aidl/vts/Android.bp index 658e0d5108..3464fe998b 100644 --- a/graphics/composer/aidl/vts/Android.bp +++ b/graphics/composer/aidl/vts/Android.bp @@ -56,6 +56,7 @@ cc_test { "libhidlbase", "libprocessgroup", "libvndksupport", + "server_configurable_flags", ], header_libs: [ "android.hardware.graphics.composer3-command-buffer", @@ -74,6 +75,7 @@ cc_test { "libshaders", "libsync", "libtonemap", + "libsurfaceflinger_common", ], cflags: [ "-Wconversion", From 07875857646118959e4f13cb40a7ea87917c3cda Mon Sep 17 00:00:00 2001 From: Yu-Han Yang Date: Mon, 5 Feb 2024 19:04:24 +0000 Subject: [PATCH 152/198] Update GnssStatus svid range Bug: 323694631 Test: doc update only Change-Id: I87443f1b5b3c9a5da65f8c02e396b3b9c0b6f515 --- gnss/aidl/android/hardware/gnss/IGnssCallback.aidl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnss/aidl/android/hardware/gnss/IGnssCallback.aidl b/gnss/aidl/android/hardware/gnss/IGnssCallback.aidl index 0200625105..522d44e5a5 100644 --- a/gnss/aidl/android/hardware/gnss/IGnssCallback.aidl +++ b/gnss/aidl/android/hardware/gnss/IGnssCallback.aidl @@ -136,14 +136,14 @@ interface IGnssCallback { * * - GNSS: 1-32 * - SBAS: 120-151, 183-192 - * - GLONASS: 1-24, the orbital slot number (OSN), if known. Or, if not: + * - GLONASS: 1-25, the orbital slot number (OSN), if known. Or, if not: * 93-106, the frequency channel number (FCN) (-7 to +6) offset by * + 100 * i.e. report an FCN of -7 as 93, FCN of 0 as 100, and FCN of +6 * as 106. - * - QZSS: 193-200 + * - QZSS: 183-206 * - Galileo: 1-36 - * - Beidou: 1-37 + * - Beidou: 1-63 * - IRNSS: 1-14 */ int svid; From bc6ead0a4ac42fbf79d177f58a41526d71362cce Mon Sep 17 00:00:00 2001 From: Lei Ju Date: Mon, 5 Feb 2024 18:15:08 -0800 Subject: [PATCH 153/198] Update the tests to register callback first Test: VTS test for ContextHub/ContextHubAidl#TestHostConnection/CONTEXT_HUB_ID_0 Bug: 323962639 Change-Id: Ib58601200529a006b94e2326141abf15eda26462 --- contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp b/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp index fd55b80fde..fa427a56a9 100644 --- a/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp +++ b/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp @@ -421,7 +421,7 @@ std::vector> generateContextHubMapping() { return tuples; } -TEST_P(ContextHubAidl, TestHostConnection) { +TEST_P(ContextHubTransactionTest, TestHostConnection) { constexpr char16_t kHostEndpointId = 1; HostEndpointInfo hostEndpointInfo; hostEndpointInfo.type = HostEndpointInfo::Type::NATIVE; @@ -431,13 +431,13 @@ TEST_P(ContextHubAidl, TestHostConnection) { ASSERT_TRUE(contextHub->onHostEndpointDisconnected(kHostEndpointId).isOk()); } -TEST_P(ContextHubAidl, TestInvalidHostConnection) { +TEST_P(ContextHubTransactionTest, TestInvalidHostConnection) { constexpr char16_t kHostEndpointId = 1; ASSERT_TRUE(contextHub->onHostEndpointDisconnected(kHostEndpointId).isOk()); } -TEST_P(ContextHubAidl, TestNanSessionStateChange) { +TEST_P(ContextHubTransactionTest, TestNanSessionStateChange) { NanSessionStateUpdate update; update.state = true; Status status = contextHub->onNanSessionStateChanged(update); From b5dd5a73623273e536ff58bba485c6c219ce195c Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 14:32:05 -0800 Subject: [PATCH 154/198] Add idenfitier iterator test for bcradio HAL utils Added unit tests for identifier iterator in AIDL broadcast radio HAL utils library. Bug: 310708886 Test: atest broadcastradio_utils_aidl_test Change-Id: I09ea6b73e50edcc4a503758ea1af75b260f426f1 --- .../test/BroadcastRadioUtilsTest.cpp | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp index c6d293faef..a5c9073133 100644 --- a/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp +++ b/broadcastradio/common/utilsaidl/test/BroadcastRadioUtilsTest.cpp @@ -32,6 +32,7 @@ constexpr uint64_t kDabFrequencyKhz = 225648u; constexpr uint64_t kHdStationId = 0xA0000001u; constexpr uint64_t kHdSubChannel = 1u; constexpr uint64_t kHdFrequency = 97700u; +constexpr int64_t kRdsValue = 0xBEEF; const Properties kAmFmTunerProp = { .maker = "makerTest", @@ -346,6 +347,87 @@ TEST_P(IsValidSelectorTest, IsValid) { ASSERT_EQ(utils::isValid(testcase.sel), testcase.valid); } +TEST(BroadcastRadioUtilsTest, IdentifierIteratorBegin) { + ProgramSelector sel = { + .primaryId = utils::makeIdentifier(IdentifierType::RDS_PI, kRdsValue), + .secondaryIds = { + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz), + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, + kFmFrequencyKHz + 200)}}; + + utils::IdentifierIterator it = begin(sel); + + utils::IdentifierIterator selEnd = end(sel); + ASSERT_NE(selEnd, it); + EXPECT_EQ(sel.primaryId, *it); +} + +TEST(BroadcastRadioUtilsTest, IdentifierIteratorIncrement) { + ProgramSelector sel = { + .primaryId = utils::makeIdentifier(IdentifierType::RDS_PI, kRdsValue), + .secondaryIds = { + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz), + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, + kFmFrequencyKHz + 200)}}; + utils::IdentifierIterator it = begin(sel); + utils::IdentifierIterator selEnd = end(sel); + + ASSERT_NE(selEnd, ++it); + EXPECT_EQ(sel.secondaryIds[0], *it); + ASSERT_NE(selEnd, ++it); + EXPECT_EQ(sel.secondaryIds[1], *it); + ASSERT_EQ(selEnd, ++it); +} + +TEST(BroadcastRadioUtilsTest, IdentifierIteratorIncrementWithValue) { + ProgramSelector sel = { + .primaryId = utils::makeIdentifier(IdentifierType::RDS_PI, kRdsValue), + .secondaryIds = { + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, kFmFrequencyKHz), + utils::makeIdentifier(IdentifierType::AMFM_FREQUENCY_KHZ, + kFmFrequencyKHz + 200)}}; + utils::IdentifierIterator it1 = begin(sel); + utils::IdentifierIterator it2 = it1; + it2++; + it2++; + + ASSERT_EQ(it1 + 2, it2); +} + +TEST(BroadcastRadioUtilsTest, IdentifierIteratorBeginEndWithoutSecondaryIds) { + ProgramSelector sel = {.primaryId = utils::makeIdentifier(IdentifierType::RDS_PI, kRdsValue)}; + + utils::IdentifierIterator it = begin(sel); + utils::IdentifierIterator selEnd = end(sel); + + ASSERT_EQ(selEnd, ++it); +} + +TEST(BroadcastRadioUtilsTest, IdentifierIteratorBeginEndWithDifferentObjects) { + ProgramSelector sel1 = utils::makeSelectorAmfm(kFmFrequencyKHz); + ProgramSelector sel2 = utils::makeSelectorAmfm(kFmFrequencyKHz); + + utils::IdentifierIterator it1 = begin(sel1); + utils::IdentifierIterator it2 = begin(sel2); + utils::IdentifierIterator end1 = end(sel1); + utils::IdentifierIterator end2 = end(sel2); + + ASSERT_NE(it1, it2); + ASSERT_NE(end1, end2); +} + +TEST(BroadcastRadioUtilsTest, IdentifierIteratorBeginEndWithTheSameObject) { + ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); + + utils::IdentifierIterator it1 = begin(sel); + utils::IdentifierIterator it2 = begin(sel); + utils::IdentifierIterator end1 = end(sel); + utils::IdentifierIterator end2 = end(sel); + + ASSERT_EQ(it1, it2); + ASSERT_EQ(end1, end2); +} + TEST(BroadcastRadioUtilsTest, IsSupportedWithSupportedSelector) { ProgramSelector sel = utils::makeSelectorAmfm(kFmFrequencyKHz); From dce4f358f76e4166f8f6fa4a2a93c19fac36c514 Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Wed, 7 Feb 2024 14:53:55 -0800 Subject: [PATCH 155/198] Only check result if getUsageSetting Succeeds Skip checking the result of getUsageSetting if the call to the method returns an error. Bug: 319369513 Test: atest VtsHalRadioTargetTest Change-Id: Ice887a54d029037fa164bb548662dc5b385b3f8d --- radio/aidl/vts/radio_network_test.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/radio/aidl/vts/radio_network_test.cpp b/radio/aidl/vts/radio_network_test.cpp index d95de0d6d3..5cb0158a93 100644 --- a/radio/aidl/vts/radio_network_test.cpp +++ b/radio/aidl/vts/radio_network_test.cpp @@ -237,8 +237,10 @@ TEST_P(RadioNetworkTest, getUsageSetting) { {RadioError::RADIO_NOT_AVAILABLE, RadioError::INVALID_STATE, RadioError::SIM_ABSENT, RadioError::INTERNAL_ERR, RadioError::NONE}); - ASSERT_TRUE(radioRsp_network->usageSetting == UsageSetting::VOICE_CENTRIC || - radioRsp_network->usageSetting == UsageSetting::DATA_CENTRIC); + if (radioRsp_network->rspInfo.error == RadioError::NONE) { + ASSERT_TRUE(radioRsp_network->usageSetting == UsageSetting::VOICE_CENTRIC || + radioRsp_network->usageSetting == UsageSetting::DATA_CENTRIC); + } } void RadioNetworkTest::testSetUsageSetting_InvalidValues(std::vector errors) { From 382b44d40ed1c95abf338e1bdeeefc30881c0571 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 156/198] Added seek unit tests for default bcradio HAL Added unit tests for the seek method in the default AIDL broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: Ia82b420f9c1d86125eaf9672715d5391aa14f3e8 --- .../test/DefaultBroadcastRadioHalTest.cpp | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index 5fce61aa0d..ad4c6ffd5a 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -337,6 +337,91 @@ TEST_F(DefaultBroadcastRadioHalTest, StepWithoutTunerCallback) { ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_STATE)); } +TEST_F(DefaultBroadcastRadioHalTest, SeekUpWithoutSkipSubchannel) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmHdFreq1Sel1).isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel1); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ true, /* skipSubChannel= */ false); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel2); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekUpWithSkipSubchannel) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmHdFreq1Sel1).isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel1); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ true, /* skipSubChannel= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmSel2); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekUpFromLastProgramInProgramList) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmHdFreq2Sel1).isOk()); + verifyUpdatedProgramInfo(kFmHdFreq2Sel1); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ true, /* skipSubChannel= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmSel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithoutSkipSubchannel) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmHdFreq1Sel2).isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel2); + + auto halResult = + mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ false); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithSkipSubchannel) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmHdFreq1Sel2).isOk()); + verifyUpdatedProgramInfo(kFmHdFreq1Sel2); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmSel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithFirstProgramInProgramList) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ true); + + ASSERT_TRUE(halResult.isOk()); + verifyUpdatedProgramInfo(kFmHdFreq2Sel1); +} + +TEST_F(DefaultBroadcastRadioHalTest, SeekWithoutTunerCallback) { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + mBroadcastRadioHal->unsetTunerCallback(); + + auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ true); + + ASSERT_EQ(halResult.getServiceSpecificError(), utils::resultToInt(Result::INVALID_STATE)); +} + TEST_F(DefaultBroadcastRadioHalTest, Cancel) { ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); mTunerCallback->reset(); From 77659428e3ce869bd5c03f64c10b9dd765b09b4a Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Fri, 9 Feb 2024 17:20:54 +0000 Subject: [PATCH 157/198] vibrator HAL bench: Fix broken benchmarks Fixes an issue with the benchmarks, where they would skip unsupported situations by early returning without reaching the measure loop and without notifying the framework. The framework would then retry the exact same scenario indefinitely. To fix, makes sure every early return also calls SkipWithMessage. Fixes: 302845046 Test: adb shell /tmp/foobar/VibratorHalIntegrationBenchmark --v=2 Change-Id: Ib52b8c4d94755a0961bcfb40d508482e5c49cb52 --- vibrator/bench/benchmark.cpp | 39 +++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/vibrator/bench/benchmark.cpp b/vibrator/bench/benchmark.cpp index e19dc6f215..b96e06da5b 100644 --- a/vibrator/bench/benchmark.cpp +++ b/vibrator/bench/benchmark.cpp @@ -118,6 +118,7 @@ class VibratorEffectsBench : public VibratorBench { }); if (!supported) { + state->SkipWithMessage("performApi returned UNSUPPORTED_OPERATION"); return; } @@ -140,16 +141,17 @@ class VibratorEffectsBench : public VibratorBench { } }; -#define BENCHMARK_WRAPPER(fixt, test, code) \ - BENCHMARK_DEFINE_F(fixt, test) \ - /* NOLINTNEXTLINE */ \ - (State & state) { \ - if (!mVibrator) { \ - return; \ - } \ - \ - code \ - } \ +#define BENCHMARK_WRAPPER(fixt, test, code) \ + BENCHMARK_DEFINE_F(fixt, test) \ + /* NOLINTNEXTLINE */ \ + (State & state) { \ + if (!mVibrator) { \ + state.SkipWithMessage("HAL unavailable"); \ + return; \ + } \ + \ + code \ + } \ BENCHMARK_REGISTER_F(fixt, test)->Apply(fixt::DefaultConfig)->Apply(fixt::DefaultArgs) using VibratorBench_V1_0 = VibratorBench; @@ -186,6 +188,7 @@ BENCHMARK_WRAPPER(VibratorBench_V1_0, setAmplitude, { uint8_t amplitude = UINT8_MAX; if (!mVibrator->supportsAmplitudeControl()) { + state.SkipWithMessage("Amplitude control unavailable"); return; } @@ -227,6 +230,7 @@ BENCHMARK_WRAPPER(VibratorBench_V1_3, setExternalControl, { bool enable = true; if (!mVibrator->supportsExternalControl()) { + state.SkipWithMessage("external control unavailable"); return; } @@ -240,6 +244,7 @@ BENCHMARK_WRAPPER(VibratorBench_V1_3, setExternalControl, { BENCHMARK_WRAPPER(VibratorBench_V1_3, supportsExternalAmplitudeControl, { if (!mVibrator->supportsExternalControl()) { + state.SkipWithMessage("external control unavailable"); return; } @@ -256,12 +261,14 @@ BENCHMARK_WRAPPER(VibratorBench_V1_3, setExternalAmplitude, { uint8_t amplitude = UINT8_MAX; if (!mVibrator->supportsExternalControl()) { + state.SkipWithMessage("external control unavailable"); return; } mVibrator->setExternalControl(true); if (!mVibrator->supportsAmplitudeControl()) { + state.SkipWithMessage("amplitude control unavailable"); return; } @@ -328,6 +335,7 @@ BENCHMARK_WRAPPER(VibratorBench_Aidl, setAmplitude, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_AMPLITUDE_CONTROL) == 0) { + state.SkipWithMessage("amplitude control unavailable"); return; } @@ -345,6 +353,7 @@ BENCHMARK_WRAPPER(VibratorBench_Aidl, setExternalControl, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_EXTERNAL_CONTROL) == 0) { + state.SkipWithMessage("external control unavailable"); return; } @@ -361,6 +370,7 @@ BENCHMARK_WRAPPER(VibratorBench_Aidl, setExternalAmplitude, { mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_EXTERNAL_CONTROL) == 0 || (capabilities & Aidl::IVibrator::CAP_EXTERNAL_AMPLITUDE_CONTROL) == 0) { + state.SkipWithMessage("external amplitude control unavailable"); return; } @@ -423,6 +433,7 @@ BENCHMARK_WRAPPER(VibratorEffectsBench_Aidl, alwaysOnEnable, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_ALWAYS_ON_CONTROL) == 0) { + state.SkipWithMessage("always on control unavailable"); return; } @@ -433,6 +444,7 @@ BENCHMARK_WRAPPER(VibratorEffectsBench_Aidl, alwaysOnEnable, { std::vector supported; mVibrator->getSupportedAlwaysOnEffects(&supported); if (std::find(supported.begin(), supported.end(), effect) == supported.end()) { + state.SkipWithMessage("always on effects unavailable"); return; } @@ -448,6 +460,7 @@ BENCHMARK_WRAPPER(VibratorEffectsBench_Aidl, alwaysOnDisable, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_ALWAYS_ON_CONTROL) == 0) { + state.SkipWithMessage("always on control unavailable"); return; } @@ -458,6 +471,7 @@ BENCHMARK_WRAPPER(VibratorEffectsBench_Aidl, alwaysOnDisable, { std::vector supported; mVibrator->getSupportedAlwaysOnEffects(&supported); if (std::find(supported.begin(), supported.end(), effect) == supported.end()) { + state.SkipWithMessage("always on effects unavailable"); return; } @@ -481,6 +495,7 @@ BENCHMARK_WRAPPER(VibratorEffectsBench_Aidl, perform, { std::vector supported; mVibrator->getSupportedEffects(&supported); if (std::find(supported.begin(), supported.end(), effect) == supported.end()) { + state.SkipWithMessage("effects unavailable"); return; } @@ -527,6 +542,7 @@ BENCHMARK_WRAPPER(VibratorPrimitivesBench_Aidl, getPrimitiveDuration, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_COMPOSE_EFFECTS) == 0) { + state.SkipWithMessage("compose effects unavailable"); return; } @@ -536,6 +552,7 @@ BENCHMARK_WRAPPER(VibratorPrimitivesBench_Aidl, getPrimitiveDuration, { std::vector supported; mVibrator->getSupportedPrimitives(&supported); if (std::find(supported.begin(), supported.end(), primitive) == supported.end()) { + state.SkipWithMessage("supported primitives unavailable"); return; } @@ -548,6 +565,7 @@ BENCHMARK_WRAPPER(VibratorPrimitivesBench_Aidl, compose, { int32_t capabilities = 0; mVibrator->getCapabilities(&capabilities); if ((capabilities & Aidl::IVibrator::CAP_COMPOSE_EFFECTS) == 0) { + state.SkipWithMessage("compose effects unavailable"); return; } @@ -559,6 +577,7 @@ BENCHMARK_WRAPPER(VibratorPrimitivesBench_Aidl, compose, { std::vector supported; mVibrator->getSupportedPrimitives(&supported); if (std::find(supported.begin(), supported.end(), effect.primitive) == supported.end()) { + state.SkipWithMessage("supported primitives unavailable"); return; } From 38d054e4ae17e22ca692ede83bee48af879526fd Mon Sep 17 00:00:00 2001 From: Lais Andrade Date: Fri, 9 Feb 2024 12:42:09 +0000 Subject: [PATCH 158/198] Fix vibrator compose VTS tests Add TearDown method to reset the vibrator state between tests to avoid illegal state errors caused by unrelated tests. Add calls to vibrator->off between vibrator->compose invocations within the same test, so calls are tested individually. Test runs with this change on failing targets: Bug: 323087313 Test: atest VtsHalVibratorTargetTest Change-Id: I1e9aa243da07040b33df2474977fc8becac440a5 --- .../aidl/vts/VtsHalVibratorTargetTest.cpp | 300 +++++++++--------- 1 file changed, 156 insertions(+), 144 deletions(-) diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp index c88cb594f9..2c6add1253 100644 --- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp @@ -109,6 +109,11 @@ class VibratorAidl : public testing::TestWithParam> ASSERT_TRUE(vibrator->getCapabilities(&capabilities).isOk()); } + virtual void TearDown() override { + // Reset vibrator state between tests. + EXPECT_TRUE(vibrator->off().isOk()); + } + sp vibrator; int32_t capabilities; }; @@ -429,189 +434,196 @@ TEST_P(VibratorAidl, GetPrimitiveDuration) { } TEST_P(VibratorAidl, ComposeValidPrimitives) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - std::vector supported; - int32_t maxDelay, maxSize; + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; + } - ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); - EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); - EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); + std::vector supported; + int32_t maxDelay, maxSize; - std::vector composite; + ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); + EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); + EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); - for (auto primitive : supported) { - CompositeEffect effect; + std::vector composite; - effect.delayMs = std::rand() % (maxDelay + 1); - effect.primitive = primitive; - effect.scale = static_cast(std::rand()) / static_cast(RAND_MAX); - composite.emplace_back(effect); + for (auto primitive : supported) { + CompositeEffect effect; - if (composite.size() == maxSize) { - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - composite.clear(); - vibrator->off(); - } + effect.delayMs = std::rand() % (maxDelay + 1); + effect.primitive = primitive; + effect.scale = static_cast(std::rand()) / static_cast(RAND_MAX); + composite.emplace_back(effect); + + if (composite.size() == maxSize) { + break; } + } - if (composite.size() != 0) { - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - vibrator->off(); - } + if (composite.size() != 0) { + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); } } TEST_P(VibratorAidl, ComposeUnsupportedPrimitives) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - auto unsupported = kInvalidPrimitives; - std::vector supported; + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; + } - ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); + auto unsupported = kInvalidPrimitives; + std::vector supported; - for (auto primitive : kCompositePrimitives) { - bool isPrimitiveSupported = + ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); + + for (auto primitive : kCompositePrimitives) { + bool isPrimitiveSupported = std::find(supported.begin(), supported.end(), primitive) != supported.end(); - if (!isPrimitiveSupported) { - unsupported.push_back(primitive); - } + if (!isPrimitiveSupported) { + unsupported.push_back(primitive); } + } - for (auto primitive : unsupported) { - std::vector composite(1); + for (auto primitive : unsupported) { + std::vector composite(1); - for (auto &effect : composite) { - effect.delayMs = 0; - effect.primitive = primitive; - effect.scale = 1.0f; - } - Status status = vibrator->compose(composite, nullptr); - EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; - vibrator->off(); + for (auto& effect : composite) { + effect.delayMs = 0; + effect.primitive = primitive; + effect.scale = 1.0f; } + Status status = vibrator->compose(composite, nullptr); + EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } } TEST_P(VibratorAidl, ComposeScaleBoundary) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - std::vector composite(1); - CompositeEffect &effect = composite[0]; - - effect.delayMs = 0; - effect.primitive = CompositePrimitive::CLICK; - - effect.scale = std::nextafter(0.0f, -1.0f); - EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, - vibrator->compose(composite, nullptr).exceptionCode()); - - effect.scale = 0.0f; - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - - effect.scale = 1.0f; - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - - effect.scale = std::nextafter(1.0f, 2.0f); - EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, - vibrator->compose(composite, nullptr).exceptionCode()); - - vibrator->off(); + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } + + std::vector composite(1); + CompositeEffect& effect = composite[0]; + + effect.delayMs = 0; + effect.primitive = CompositePrimitive::CLICK; + + effect.scale = std::nextafter(0.0f, -1.0f); + EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); + + effect.scale = 0.0f; + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + effect.scale = 1.0f; + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + effect.scale = std::nextafter(1.0f, 2.0f); + EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeDelayBoundary) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - int32_t maxDelay; - - EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); - - std::vector composite(1); - CompositeEffect effect; - - effect.delayMs = 1; - effect.primitive = CompositePrimitive::CLICK; - effect.scale = 1.0f; - - std::fill(composite.begin(), composite.end(), effect); - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - - effect.delayMs = maxDelay + 1; - - std::fill(composite.begin(), composite.end(), effect); - EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, - vibrator->compose(composite, nullptr).exceptionCode()); - vibrator->off(); + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } + + int32_t maxDelay; + + EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); + + std::vector composite(1); + CompositeEffect effect; + + effect.delayMs = 1; + effect.primitive = CompositePrimitive::CLICK; + effect.scale = 1.0f; + + std::fill(composite.begin(), composite.end(), effect); + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + effect.delayMs = maxDelay + 1; + + std::fill(composite.begin(), composite.end(), effect); + EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeSizeBoundary) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - int32_t maxSize; - - EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); - - std::vector composite(maxSize); - CompositeEffect effect; - - effect.delayMs = 1; - effect.primitive = CompositePrimitive::CLICK; - effect.scale = 1.0f; - - std::fill(composite.begin(), composite.end(), effect); - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); - - composite.emplace_back(effect); - EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, - vibrator->compose(composite, nullptr).exceptionCode()); - vibrator->off(); + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; } + + int32_t maxSize; + + EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionSizeMax(&maxSize).exceptionCode()); + + std::vector composite(maxSize); + CompositeEffect effect; + + effect.delayMs = 1; + effect.primitive = CompositePrimitive::CLICK; + effect.scale = 1.0f; + + std::fill(composite.begin(), composite.end(), effect); + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + composite.emplace_back(effect); + EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } TEST_P(VibratorAidl, ComposeCallback) { - if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - std::vector supported; + if (!(capabilities & IVibrator::CAP_COMPOSE_EFFECTS)) { + GTEST_SKIP() << "CAP_COMPOSE_EFFECTS not supported"; + } - ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); + std::vector supported; - for (auto primitive : supported) { - if (primitive == CompositePrimitive::NOOP) { - continue; - } + ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); - std::promise completionPromise; - std::future completionFuture{completionPromise.get_future()}; - sp callback = - new CompletionCallback([&completionPromise] { completionPromise.set_value(); }); - CompositeEffect effect; - std::vector composite; - int32_t durationMs; - std::chrono::milliseconds duration; - std::chrono::time_point start, end; - std::chrono::milliseconds elapsed; - - effect.delayMs = 0; - effect.primitive = primitive; - effect.scale = 1.0f; - composite.emplace_back(effect); - - EXPECT_EQ(Status::EX_NONE, - vibrator->getPrimitiveDuration(primitive, &durationMs).exceptionCode()) - << toString(primitive); - duration = std::chrono::milliseconds(durationMs); - - start = high_resolution_clock::now(); - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, callback).exceptionCode()) - << toString(primitive); - - // TODO(b/261130361): Investigate why latency from driver and hardware will cause test - // to fail when wait duration is ~40ms or less. - EXPECT_EQ(completionFuture.wait_for(duration + std::chrono::milliseconds(50)), - std::future_status::ready) - << toString(primitive); - end = high_resolution_clock::now(); - - elapsed = std::chrono::duration_cast(end - start); - EXPECT_GE(elapsed.count(), duration.count()) << toString(primitive); + for (auto primitive : supported) { + if (primitive == CompositePrimitive::NOOP) { + continue; } + + std::promise completionPromise; + std::future completionFuture{completionPromise.get_future()}; + sp callback = + new CompletionCallback([&completionPromise] { completionPromise.set_value(); }); + CompositeEffect effect; + std::vector composite; + int32_t durationMs; + std::chrono::milliseconds duration; + std::chrono::time_point start, end; + std::chrono::milliseconds elapsed; + + effect.delayMs = 0; + effect.primitive = primitive; + effect.scale = 1.0f; + composite.emplace_back(effect); + + EXPECT_EQ(Status::EX_NONE, + vibrator->getPrimitiveDuration(primitive, &durationMs).exceptionCode()) + << toString(primitive); + duration = std::chrono::milliseconds(durationMs); + + start = high_resolution_clock::now(); + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, callback).exceptionCode()) + << toString(primitive); + + // TODO(b/261130361): Investigate why latency from driver and hardware will cause test + // to fail when wait duration is ~40ms or less. + EXPECT_EQ(completionFuture.wait_for(duration + std::chrono::milliseconds(50)), + std::future_status::ready) + << toString(primitive); + end = high_resolution_clock::now(); + + elapsed = std::chrono::duration_cast(end - start); + EXPECT_GE(elapsed.count(), duration.count()) << toString(primitive); + + EXPECT_TRUE(vibrator->off().isOk()); } } From 661481edf1f2fb4d84b29b1ab3781a211683c4b5 Mon Sep 17 00:00:00 2001 From: Lais Andrade Date: Mon, 12 Feb 2024 10:33:09 +0000 Subject: [PATCH 159/198] Remove uses of std::rand() from vibrator VTS tests Make vibrator VTS tests deterministic by removing all uses of std::rand() from HAL input values used in test. Rely on max supported values instead. Fix: 324840028 Test: atest VtsHalVibratorTargetTest Change-Id: Id40fb5a86238226feec9affff631bab37383f26b --- .../aidl/vts/VtsHalVibratorTargetTest.cpp | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp index 2c6add1253..6c6846f636 100644 --- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp @@ -447,13 +447,14 @@ TEST_P(VibratorAidl, ComposeValidPrimitives) { std::vector composite; - for (auto primitive : supported) { + for (int i = 0; i < supported.size(); i++) { + auto primitive = supported[i]; + float t = static_cast(i + 1) / supported.size(); CompositeEffect effect; - effect.delayMs = std::rand() % (maxDelay + 1); + effect.delayMs = maxDelay * t; effect.primitive = primitive; - effect.scale = static_cast(std::rand()) / static_cast(RAND_MAX); - composite.emplace_back(effect); + effect.scale = t; if (composite.size() == maxSize) { break; @@ -534,19 +535,24 @@ TEST_P(VibratorAidl, ComposeDelayBoundary) { EXPECT_EQ(Status::EX_NONE, vibrator->getCompositionDelayMax(&maxDelay).exceptionCode()); std::vector composite(1); - CompositeEffect effect; + CompositeEffect& effect = composite[0]; - effect.delayMs = 1; effect.primitive = CompositePrimitive::CLICK; effect.scale = 1.0f; - std::fill(composite.begin(), composite.end(), effect); + effect.delayMs = 0; + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + effect.delayMs = 1; + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); + EXPECT_TRUE(vibrator->off().isOk()); + + effect.delayMs = maxDelay; EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, nullptr).exceptionCode()); EXPECT_TRUE(vibrator->off().isOk()); effect.delayMs = maxDelay + 1; - - std::fill(composite.begin(), composite.end(), effect); EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT, vibrator->compose(composite, nullptr).exceptionCode()); } From a4a73461c2e5244b701cd0ba1ce959d2ed0dc95d Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Fri, 9 Feb 2024 23:44:17 +0000 Subject: [PATCH 160/198] Downgrade fatal log on host to error Fuzzer is breaking due to fatal log for host. Downgrade it to error. Test: m android.hardware.neuralnetworks-service.example_fuzzer && out/host/linux-x86/fuzz/x86_64/android.hardware.neuralnetworks-service.example_fuzzer/android.hardware.neuralnetworks-service.example_fuzzer Bug: 312902296 Change-Id: I7013ed14f6644d0459929380202de45f92575cf9 --- neuralnetworks/aidl/utils/src/Conversions.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/neuralnetworks/aidl/utils/src/Conversions.cpp b/neuralnetworks/aidl/utils/src/Conversions.cpp index 47c72b47af..9f920bb122 100644 --- a/neuralnetworks/aidl/utils/src/Conversions.cpp +++ b/neuralnetworks/aidl/utils/src/Conversions.cpp @@ -421,7 +421,7 @@ GeneralResult unvalidatedConvert(const aidl_hal::Memory& memory) { return createSharedMemoryFromAHWB(ahwb, /*takeOwnership=*/true); #else // __ANDROID__ - LOG(FATAL) << "GeneralResult unvalidatedConvert(const aidl_hal::Memory& " + LOG(ERROR) << "GeneralResult unvalidatedConvert(const aidl_hal::Memory& " "memory): Not Available on Host Build"; return NN_ERROR() << "createFromHandle failed"; #endif // __ANDROID__ @@ -732,7 +732,7 @@ nn::GeneralResult unvalidatedConvert(const nn::Memory::HardwareBuffer& m }; return Memory::make(std::move(hardwareBuffer)); #else // __ANDROID__ - LOG(FATAL) << "nn::GeneralResult unvalidatedConvert(const nn::Memory::HardwareBuffer& " + LOG(ERROR) << "nn::GeneralResult unvalidatedConvert(const nn::Memory::HardwareBuffer& " "memory): Not Available on Host Build"; (void)memory; return (NN_ERROR() << "unvalidatedConvert failed").operator nn::GeneralResult(); From c3c7cf4a654414f8b29970b9cdbfbf85be046183 Mon Sep 17 00:00:00 2001 From: Sunil Ravi Date: Mon, 12 Feb 2024 18:57:22 +0000 Subject: [PATCH 161/198] Add VTS test for addGroupWithConfigurationParams Bug: 322815584 Test: atest VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: I288439d461fe0d710489d16daf5e888d0f00f71f --- .../supplicant_p2p_iface_aidl_test.cpp | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 69a8919ac1..82e31282eb 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -35,6 +35,7 @@ using aidl::android::hardware::wifi::supplicant::IfaceType; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; +using aidl::android::hardware::wifi::supplicant::P2pAddGroupConfigurationParams; using aidl::android::hardware::wifi::supplicant::P2pConnectInfo; using aidl::android::hardware::wifi::supplicant::P2pCreateGroupOwnerInfo; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; @@ -552,6 +553,27 @@ TEST_P(SupplicantP2pIfaceAidlTest, CreateGroupOwner) { EXPECT_TRUE(p2p_iface_->createGroupOwner(info).isOk()); } +/* + * AddGroupWithConfigurationParams + */ +TEST_P(SupplicantP2pIfaceAidlTest, AddGroupWithConfigurationParams) { + if (interface_version_ < 3) { + GTEST_SKIP() << "addGroupWithConfigurationParams is available as of Supplicant V3"; + } + + P2pAddGroupConfigurationParams params; + params.ssid = kTestSsid; + params.passphrase = kTestPassphrase; + params.isPersistent = kTestGroupPersistent; + params.frequencyMHzOrBand = kTestGroupFreq; + params.goInterfaceAddress = vecToArrayMacAddr(kTestZeroMacAddr); + params.joinExistingGroup = kTestGroupIsJoin; + params.keyMgmtMask = 0; + params.vendorData = kTestVendorDataOptional; + + EXPECT_TRUE(p2p_iface_->addGroupWithConfigurationParams(params).isOk()); +} + /* * Find */ From ed44150e862fd92823f72dc6045c8bd254899208 Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 162/198] Add program list test for default bcradio HAL Added unit tests for methods related to program list updates in the default AIDL broadcast radio HAL implementation and the corresponding mock tuner callback methods. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: I0bde2b9cc376315320521a1d13ec521781a77cca --- .../test/DefaultBroadcastRadioHalTest.cpp | 73 ++++++++++++++++--- .../test/MockBroadcastRadioCallback.cpp | 22 +++++- .../default/test/MockBroadcastRadioCallback.h | 3 + 3 files changed, 84 insertions(+), 14 deletions(-) diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index ad4c6ffd5a..cca4b8c586 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -132,6 +132,37 @@ class DefaultBroadcastRadioHalTest : public testing::Test { return false; } + std::optional getProgramList() { + ProgramFilter emptyFilter = {}; + return getProgramList(emptyFilter); + } + + std::optional getProgramList(const ProgramFilter& filter) { + mTunerCallback->reset(); + + auto startResult = mBroadcastRadioHal->startProgramListUpdates(filter); + + EXPECT_TRUE(startResult.isOk()); + + if (!startResult.isOk()) { + return std::nullopt; + } + EXPECT_TRUE(mTunerCallback->waitProgramReady()); + + auto stopResult = mBroadcastRadioHal->stopProgramListUpdates(); + + EXPECT_TRUE(stopResult.isOk()); + + return mTunerCallback->getProgramList(); + } + + void switchToFmBand() { + ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); + mTunerCallback->reset(); + ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); + verifyUpdatedProgramInfo(kFmSel1); + } + std::shared_ptr mBroadcastRadioHal; std::shared_ptr mTunerCallback; }; @@ -326,10 +357,7 @@ TEST_F(DefaultBroadcastRadioHalTest, StepDownFromLowerBound) { } TEST_F(DefaultBroadcastRadioHalTest, StepWithoutTunerCallback) { - ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); - mTunerCallback->reset(); - ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); - verifyUpdatedProgramInfo(kFmSel1); + switchToFmBand(); mBroadcastRadioHal->unsetTunerCallback(); auto halResult = mBroadcastRadioHal->step(/* directionUp= */ false); @@ -399,10 +427,7 @@ TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithSkipSubchannel) { } TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithFirstProgramInProgramList) { - ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); - mTunerCallback->reset(); - ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); - verifyUpdatedProgramInfo(kFmSel1); + switchToFmBand(); auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ true); @@ -411,10 +436,7 @@ TEST_F(DefaultBroadcastRadioHalTest, SeekDownWithFirstProgramInProgramList) { } TEST_F(DefaultBroadcastRadioHalTest, SeekWithoutTunerCallback) { - ASSERT_TRUE(mBroadcastRadioHal->setTunerCallback(mTunerCallback).isOk()); - mTunerCallback->reset(); - ASSERT_TRUE(mBroadcastRadioHal->tune(kFmSel1).isOk()); - verifyUpdatedProgramInfo(kFmSel1); + switchToFmBand(); mBroadcastRadioHal->unsetTunerCallback(); auto halResult = mBroadcastRadioHal->seek(/* directionUp= */ false, /* skipSubChannel= */ true); @@ -433,4 +455,31 @@ TEST_F(DefaultBroadcastRadioHalTest, Cancel) { mTunerCallback->reset(); } +TEST_F(DefaultBroadcastRadioHalTest, StartProgramListUpdatesWithEmptyFilter) { + switchToFmBand(); + + auto programList = getProgramList(); + + ASSERT_TRUE(programList.has_value()); + for (auto it = programList->begin(); it != programList->end(); it++) { + EXPECT_EQ(utils::getBand(utils::getAmFmFrequency(it->selector)), utils::FrequencyBand::FM); + } +} + +TEST_F(DefaultBroadcastRadioHalTest, StartProgramListUpdatesWithAmFmFilter) { + ProgramFilter amFmFilter = {.identifierTypes = {IdentifierType::AMFM_FREQUENCY_KHZ}, + .identifiers = {}, + .includeCategories = false, + .excludeModifications = false}; + switchToFmBand(); + + auto programList = getProgramList(amFmFilter); + + ASSERT_TRUE(programList.has_value()); + for (auto it = programList->begin(); it != programList->end(); it++) { + EXPECT_TRUE(utils::hasId(it->selector, IdentifierType::AMFM_FREQUENCY_KHZ)); + EXPECT_EQ(utils::getBand(utils::getAmFmFrequency(it->selector)), utils::FrequencyBand::FM); + } +} + } // namespace aidl::android::hardware::broadcastradio diff --git a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp index 48f65fc9d8..963f8bf322 100644 --- a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp +++ b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.cpp @@ -49,8 +49,16 @@ ScopedAStatus MockBroadcastRadioCallback::onCurrentProgramInfoChanged(const Prog return ndk::ScopedAStatus::ok(); } -ScopedAStatus MockBroadcastRadioCallback::onProgramListUpdated( - [[maybe_unused]] const ProgramListChunk& chunk) { +ScopedAStatus MockBroadcastRadioCallback::onProgramListUpdated(const ProgramListChunk& chunk) { + { + std::lock_guard lk(mLock); + updateProgramList(chunk, &mProgramList); + } + + if (chunk.complete) { + mOnProgramListReadyFlag.notify(); + } + return ndk::ScopedAStatus::ok(); } @@ -76,8 +84,13 @@ bool MockBroadcastRadioCallback::waitOnCurrentProgramInfoChangedCallback() { return mOnCurrentProgramInfoChangedFlag.wait(); } +bool MockBroadcastRadioCallback::waitProgramReady() { + return mOnProgramListReadyFlag.wait(); +} + void MockBroadcastRadioCallback::reset() { mOnCurrentProgramInfoChangedFlag.reset(); + mOnProgramListReadyFlag.reset(); } bool MockBroadcastRadioCallback::isTunerFailed() { @@ -90,4 +103,9 @@ ProgramInfo MockBroadcastRadioCallback::getCurrentProgramInfo() { return mCurrentProgramInfo; } +utils::ProgramInfoSet MockBroadcastRadioCallback::getProgramList() { + std::lock_guard lk(mLock); + return mProgramList; +} + } // namespace aidl::android::hardware::broadcastradio diff --git a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h index 2ae03e3f16..4415842a9e 100644 --- a/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h +++ b/broadcastradio/aidl/default/test/MockBroadcastRadioCallback.h @@ -49,10 +49,12 @@ class MockBroadcastRadioCallback final : public BnTunerCallback { ScopedAStatus onConfigFlagUpdated(ConfigFlag in_flag, bool in_value) override; bool waitOnCurrentProgramInfoChangedCallback(); + bool waitProgramReady(); bool isTunerFailed(); void reset(); ProgramInfo getCurrentProgramInfo(); + utils::ProgramInfoSet getProgramList(); private: class CallbackFlag final { @@ -98,6 +100,7 @@ class MockBroadcastRadioCallback final : public BnTunerCallback { ProgramInfo mCurrentProgramInfo GUARDED_BY(mLock); utils::ProgramInfoSet mProgramList GUARDED_BY(mLock); CallbackFlag mOnCurrentProgramInfoChangedFlag = CallbackFlag(IBroadcastRadio::TUNER_TIMEOUT_MS); + CallbackFlag mOnProgramListReadyFlag = CallbackFlag(IBroadcastRadio::LIST_COMPLETE_TIMEOUT_MS); }; } // namespace aidl::android::hardware::broadcastradio From 942eb1cdadd57d5cd9ee75cd54c56866f8689d8f Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Tue, 13 Feb 2024 11:58:57 -0800 Subject: [PATCH 163/198] Migrate bcradio HAL test to new test owner model Bug: 324978397 Test: build okay Change-Id: I9c62d40c590f7c81381cfa9668ae34525308dc1f --- broadcastradio/aidl/default/test/Android.bp | 1 + broadcastradio/common/utilsaidl/Android.bp | 1 + 2 files changed, 2 insertions(+) diff --git a/broadcastradio/aidl/default/test/Android.bp b/broadcastradio/aidl/default/test/Android.bp index 9e1b89dbab..a33fb70388 100644 --- a/broadcastradio/aidl/default/test/Android.bp +++ b/broadcastradio/aidl/default/test/Android.bp @@ -15,6 +15,7 @@ */ package { + default_team: "trendy_team_aaos_framework", default_applicable_licenses: ["Android-Apache-2.0"], } diff --git a/broadcastradio/common/utilsaidl/Android.bp b/broadcastradio/common/utilsaidl/Android.bp index 4814778cd6..e3bdfdda22 100644 --- a/broadcastradio/common/utilsaidl/Android.bp +++ b/broadcastradio/common/utilsaidl/Android.bp @@ -20,6 +20,7 @@ package { // all of the 'license_kinds' from "hardware_interfaces_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 + default_team: "trendy_team_aaos_framework", default_applicable_licenses: ["hardware_interfaces_license"], } From e9712ac7f1b8e6263d589ad52bf68c3e041c1a88 Mon Sep 17 00:00:00 2001 From: Ronish Kalia Date: Wed, 14 Feb 2024 14:23:20 +0000 Subject: [PATCH 164/198] [DON'T BLOCK] Test ownership migration rules This CL is created as a best effort to migrate test targets to the new android ownership model. If you find incorrect or unnecessary attribution in this CL, please create a separate CL to fix that. For more details please refer to the link below, Bug: 304529413 Test: N/A Change-Id: Ia656d4d37c9219c4ef25fb6739c7410a0ded216b --- wifi/common/aidl/Android.bp | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/common/aidl/Android.bp b/wifi/common/aidl/Android.bp index 11acb4ff58..a9418691cd 100644 --- a/wifi/common/aidl/Android.bp +++ b/wifi/common/aidl/Android.bp @@ -13,6 +13,7 @@ // limitations under the License. package { + default_team: "trendy_team_fwk_wifi_hal", // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "hardware_interfaces_license" From 1d762b4e8661aae603077d17bdfa958c84c91e8c Mon Sep 17 00:00:00 2001 From: John Reck Date: Wed, 7 Feb 2024 14:43:22 -0500 Subject: [PATCH 165/198] Fix VENDOR_MASK constant It's not supposed to be sign-extended as that blocks off the entire 28-64 bit range instead of the 28-31 bit range as indicated in the comment As this value is correct in HIDL and in the docs, do a history re-write of the AIDL value to match the intended (and previous) values. Test: make Bug: 323484008 Change-Id: I0b373576a366c853c87109a9b24ec9f8d9cbdb4d --- .../aidl/aidl_api/android.hardware.graphics.common/1/.hash | 1 + .../1/android/hardware/graphics/common/BufferUsage.aidl | 2 +- .../aidl/aidl_api/android.hardware.graphics.common/2/.hash | 1 + .../2/android/hardware/graphics/common/BufferUsage.aidl | 2 +- .../aidl/aidl_api/android.hardware.graphics.common/3/.hash | 1 + .../3/android/hardware/graphics/common/BufferUsage.aidl | 2 +- .../aidl/aidl_api/android.hardware.graphics.common/4/.hash | 1 + .../4/android/hardware/graphics/common/BufferUsage.aidl | 2 +- .../current/android/hardware/graphics/common/BufferUsage.aidl | 2 +- .../aidl/android/hardware/graphics/common/BufferUsage.aidl | 2 +- 10 files changed, 10 insertions(+), 6 deletions(-) diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/.hash b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/.hash index 66b5d134c5..babbf247ec 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/.hash +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/.hash @@ -1 +1,2 @@ f5bdf5724a941dc7e5e7d0ebe9dfe028f7bcc25f +71da13748094aa53237dd6eeac04f0f9add80aa1 diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/android/hardware/graphics/common/BufferUsage.aidl index 58eefc4e2c..cb5bc9effa 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/1/android/hardware/graphics/common/BufferUsage.aidl @@ -42,6 +42,6 @@ enum BufferUsage { GPU_MIPMAP_COMPLETE = 67108864, HW_IMAGE_ENCODER = 134217728, GPU_DATA_BUFFER = 16777216, - VENDOR_MASK = -268435456, + VENDOR_MASK = 4026531840, VENDOR_MASK_HI = -281474976710656, } diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/.hash b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/.hash index 167ed0e300..54f8f32717 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/.hash +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/.hash @@ -1 +1,2 @@ bd2f5e2ab1d5112dfe982f64012e425f544c9d60 +4279f88ef38c8fdeea6797410b464ae29df34e72 diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/android/hardware/graphics/common/BufferUsage.aidl index b4ef4515c7..5e23bcc905 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/2/android/hardware/graphics/common/BufferUsage.aidl @@ -58,6 +58,6 @@ enum BufferUsage { GPU_MIPMAP_COMPLETE = 67108864, HW_IMAGE_ENCODER = 134217728, GPU_DATA_BUFFER = 16777216, - VENDOR_MASK = -268435456, + VENDOR_MASK = 4026531840, VENDOR_MASK_HI = -281474976710656, } diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/.hash b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/.hash index dfda68f42d..53eb6bd996 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/.hash +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/.hash @@ -1 +1,2 @@ e7e8b0bd7cd27ab4f1998700ef19ebc82e022d87 +37aa15ac89ae27f3f89099d79609f5aaa1717de5 diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/android/hardware/graphics/common/BufferUsage.aidl index d3ab44f2ce..f91625f07d 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/3/android/hardware/graphics/common/BufferUsage.aidl @@ -60,6 +60,6 @@ enum BufferUsage { GPU_MIPMAP_COMPLETE = 67108864, HW_IMAGE_ENCODER = 134217728, FRONT_BUFFER = 4294967296, - VENDOR_MASK = -268435456, + VENDOR_MASK = 4026531840, VENDOR_MASK_HI = -281474976710656, } diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/.hash b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/.hash index ef17b34926..fe20ff9d70 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/.hash +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/.hash @@ -1 +1,2 @@ 9bcf4b83485ce912dc39108201504f77b8c96cef +adb71c34ba271f87c6431845b310777c1e611ebf diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/android/hardware/graphics/common/BufferUsage.aidl index d42a6d57b8..52b2a56cb7 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/4/android/hardware/graphics/common/BufferUsage.aidl @@ -60,6 +60,6 @@ enum BufferUsage { GPU_MIPMAP_COMPLETE = (1 << 26) /* 67108864 */, HW_IMAGE_ENCODER = (1 << 27) /* 134217728 */, FRONT_BUFFER = (1L << 32) /* 4294967296 */, - VENDOR_MASK = (0xf << 28) /* -268435456 */, + VENDOR_MASK = (0xfL << 28) /* 4026531840 */, VENDOR_MASK_HI = ((1L * 0xffff) << 48) /* -281474976710656 */, } diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl index d42a6d57b8..52b2a56cb7 100644 --- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl @@ -60,6 +60,6 @@ enum BufferUsage { GPU_MIPMAP_COMPLETE = (1 << 26) /* 67108864 */, HW_IMAGE_ENCODER = (1 << 27) /* 134217728 */, FRONT_BUFFER = (1L << 32) /* 4294967296 */, - VENDOR_MASK = (0xf << 28) /* -268435456 */, + VENDOR_MASK = (0xfL << 28) /* 4026531840 */, VENDOR_MASK_HI = ((1L * 0xffff) << 48) /* -281474976710656 */, } diff --git a/graphics/common/aidl/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/android/hardware/graphics/common/BufferUsage.aidl index 0d1a094b36..7d39d95753 100644 --- a/graphics/common/aidl/android/hardware/graphics/common/BufferUsage.aidl +++ b/graphics/common/aidl/android/hardware/graphics/common/BufferUsage.aidl @@ -150,7 +150,7 @@ enum BufferUsage { FRONT_BUFFER = 1L << 32, /** bits 28-31 are reserved for vendor extensions */ - VENDOR_MASK = 0xf << 28, + VENDOR_MASK = 0xfL << 28, /** bits 33-47 must be zero and are reserved for future versions */ /** bits 48-63 are reserved for vendor extensions */ From f6a462d9fa5d191f1d456986eeaf503e491c140a Mon Sep 17 00:00:00 2001 From: Weilin Xu Date: Fri, 15 Dec 2023 16:05:31 -0800 Subject: [PATCH 166/198] Added config flag test for default bcradio HAL Added unit tests for methods related to config flag in the default AIDL broadcast radio HAL implementation. Bug: 316630344 Test: atest DefaultBroadcastRadioHalTestCase Change-Id: Id42915613f931ebcd40ca05d9534dc087e479461 --- .../test/DefaultBroadcastRadioHalTest.cpp | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp index cca4b8c586..78fcf27094 100644 --- a/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp +++ b/broadcastradio/aidl/default/test/DefaultBroadcastRadioHalTest.cpp @@ -455,6 +455,25 @@ TEST_F(DefaultBroadcastRadioHalTest, Cancel) { mTunerCallback->reset(); } +TEST_F(DefaultBroadcastRadioHalTest, SetConfigFlag) { + ConfigFlag flag = ConfigFlag::FORCE_MONO; + + auto setResult = mBroadcastRadioHal->setConfigFlag(flag, /* value= */ true); + + ASSERT_TRUE(setResult.isOk()); +} + +TEST_F(DefaultBroadcastRadioHalTest, GetConfigFlag) { + bool gotValue = false; + ConfigFlag flag = ConfigFlag::FORCE_MONO; + mBroadcastRadioHal->setConfigFlag(flag, /* value= */ true); + + auto getResult = mBroadcastRadioHal->isConfigFlagSet(flag, &gotValue); + + ASSERT_TRUE(getResult.isOk()); + ASSERT_TRUE(gotValue); +} + TEST_F(DefaultBroadcastRadioHalTest, StartProgramListUpdatesWithEmptyFilter) { switchToFmBand(); @@ -482,4 +501,17 @@ TEST_F(DefaultBroadcastRadioHalTest, StartProgramListUpdatesWithAmFmFilter) { } } +TEST_F(DefaultBroadcastRadioHalTest, StartProgramListUpdatesWhenHdIsDisabled) { + switchToFmBand(); + mBroadcastRadioHal->setConfigFlag(ConfigFlag::FORCE_ANALOG_FM, /* value= */ true); + + auto programList = getProgramList(); + + ASSERT_TRUE(programList.has_value()); + for (auto it = programList->begin(); it != programList->end(); it++) { + EXPECT_FALSE(utils::hasId(it->selector, IdentifierType::HD_STATION_ID_EXT)); + EXPECT_EQ(utils::getBand(utils::getAmFmFrequency(it->selector)), utils::FrequencyBand::FM); + } +} + } // namespace aidl::android::hardware::broadcastradio From f1a5918bfcd6a42deca23eae38641aa1f1704405 Mon Sep 17 00:00:00 2001 From: Yahav Nussbaum Date: Thu, 15 Feb 2024 16:20:48 +0000 Subject: [PATCH 167/198] Baseline NewApi issues Bug: 268261262 Test: m android.hardware.bluetooth.finder-V1-java-lint Change-Id: I387f30922debe42cd5980f5e1bbe6fd3cf01b7d9 --- bluetooth/finder/aidl/Android.bp | 3 ++ bluetooth/finder/aidl/lint-baseline.xml | 37 +++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 bluetooth/finder/aidl/lint-baseline.xml diff --git a/bluetooth/finder/aidl/Android.bp b/bluetooth/finder/aidl/Android.bp index 24f5ca5fbc..25c12877e4 100644 --- a/bluetooth/finder/aidl/Android.bp +++ b/bluetooth/finder/aidl/Android.bp @@ -33,6 +33,9 @@ aidl_interface { apex_available: [ "com.android.tethering", ], + lint: { + baseline_filename: "lint-baseline.xml", + }, }, }, } diff --git a/bluetooth/finder/aidl/lint-baseline.xml b/bluetooth/finder/aidl/lint-baseline.xml new file mode 100644 index 0000000000..e0570f6bd9 --- /dev/null +++ b/bluetooth/finder/aidl/lint-baseline.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + From 7cc8453ed4268fd3ca50b5c16be66860297e5196 Mon Sep 17 00:00:00 2001 From: Changyeon Jo Date: Wed, 14 Feb 2024 17:39:41 -0800 Subject: [PATCH 168/198] Introduce CAMERA_SERVICE_CURRENT_STATE VHAL property CarEvsService shares state changes of its service types via this new VHAL property. Bug: 325317031 Test: atest VtsHalAutomotiveVehicle_TargetTest Change-Id: I50f8523aea6a2b5ccb55db9ca620e64e1cada8ee --- ...ardware.automotive.vehicle-types-meta.json | 30 ++++++++++++ .../cpp/AccessForVehicleProperty.h | 1 + .../cpp/ChangeModeForVehicleProperty.h | 1 + .../cpp/VersionForVehicleProperty.h | 1 + .../java/AccessForVehicleProperty.java | 1 + .../java/ChangeModeForVehicleProperty.java | 1 + .../java/EnumForVehicleProperty.java | 1 + .../JsonConfigLoader/src/JsonConfigLoader.cpp | 3 ++ .../config/DefaultProperties.json | 15 ++++++ .../utils/common/include/VehicleHalTypes.h | 1 + .../vehicle/CameraServiceState.aidl | 41 ++++++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 1 + .../vehicle/CameraServiceState.aidl | 48 +++++++++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 24 ++++++++++ .../VtsHalAutomotiveVehicle_TargetTest.cpp | 6 +++ 15 files changed, 175 insertions(+) create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/CameraServiceState.aidl create mode 100644 automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/CameraServiceState.aidl diff --git a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json index c00e64cc74..df0f51c7a1 100644 --- a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json +++ b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json @@ -1128,6 +1128,14 @@ ], "data_enum": "VehicleAutonomousState" }, + { + "name": "CAMERA_SERVICE_CURRENT_STATE", + "value": 289476429, + "data_enums": [ + "CameraServiceState" + ], + "data_enum": "CameraServiceState" + }, { "name": "AUTOMATIC_EMERGENCY_BRAKING_ENABLED", "value": 287313920 @@ -2818,6 +2826,28 @@ } ] }, + { + "name": "CameraServiceState", + "package": "android.hardware.automotive.vehicle", + "values": [ + { + "name": "UNAVAILABLE", + "value": 0 + }, + { + "name": "INACTIVE", + "value": 1 + }, + { + "name": "REQUESTED", + "value": 2 + }, + { + "name": "ACTIVE", + "value": 3 + } + ] + }, { "name": "GsrComplianceRequirementType", "package": "android.hardware.automotive.vehicle", diff --git a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h index 15056e2436..51a3025740 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/AccessForVehicleProperty.h @@ -262,6 +262,7 @@ std::unordered_map AccessForVehiclePrope {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::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess::READ_WRITE}, {VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess::READ}, {VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE}, diff --git a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h index d3f97e313e..60e9a72138 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/ChangeModeForVehicleProperty.h @@ -262,6 +262,7 @@ std::unordered_map ChangeModeForVehi {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::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE}, {VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode::ON_CHANGE}, {VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE}, diff --git a/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h b/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h index 70c914da7a..1c1035ddb3 100644 --- a/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h +++ b/automotive/vehicle/aidl/generated_lib/cpp/VersionForVehicleProperty.h @@ -261,6 +261,7 @@ std::unordered_map VersionForVehicleProperty = { {VehicleProperty::VEHICLE_IN_USE, 2}, {VehicleProperty::CLUSTER_HEARTBEAT, 3}, {VehicleProperty::VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, 3}, + {VehicleProperty::CAMERA_SERVICE_CURRENT_STATE, 3}, {VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, 2}, {VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, 2}, {VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, 2}, diff --git a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java index e55f4dc811..afb6cab547 100644 --- a/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/AccessForVehicleProperty.java @@ -255,6 +255,7 @@ public final class AccessForVehicleProperty { 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.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), diff --git a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java index e351a3fad8..12aff40b34 100644 --- a/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/ChangeModeForVehicleProperty.java @@ -255,6 +255,7 @@ public final class ChangeModeForVehicleProperty { 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.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), diff --git a/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java index 4b8060fbb0..0f86bfa14d 100644 --- a/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java +++ b/automotive/vehicle/aidl/generated_lib/java/EnumForVehicleProperty.java @@ -85,6 +85,7 @@ public final class EnumForVehicleProperty { 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)), diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 76db891a5b..2a7ac96848 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -37,6 +37,7 @@ namespace jsonconfigloader_impl { using ::aidl::android::hardware::automotive::vehicle::AccessForVehicleProperty; using ::aidl::android::hardware::automotive::vehicle::AutomaticEmergencyBrakingState; using ::aidl::android::hardware::automotive::vehicle::BlindSpotWarningState; +using ::aidl::android::hardware::automotive::vehicle::CameraServiceState; using ::aidl::android::hardware::automotive::vehicle::ChangeModeForVehicleProperty; using ::aidl::android::hardware::automotive::vehicle::CrossTrafficMonitoringWarningState; using ::aidl::android::hardware::automotive::vehicle::CruiseControlCommand; @@ -259,6 +260,8 @@ JsonValueParser::JsonValueParser() { std::make_unique>(); mConstantParsersByType["EmergencyLaneKeepAssistState"] = std::make_unique>(); + mConstantParsersByType["CameraServiceState"] = + std::make_unique>(); mConstantParsersByType["CruiseControlType"] = std::make_unique>(); mConstantParsersByType["CruiseControlState"] = diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 590eff9a23..b7911eb689 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -5067,6 +5067,21 @@ ] } ] + }, + { + "property": "VehicleProperty::CAMERA_SERVICE_CURRENT_STATE", + "defaultValue": { + "int32Values": [ + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE", + "CameraServiceState::UNAVAILABLE" + ] + } } ] } diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h index 0c8ebbda34..1cd0d16e08 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h @@ -19,6 +19,7 @@ #include #include +#include #include #include #include diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/CameraServiceState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/CameraServiceState.aidl new file mode 100644 index 0000000000..84f5ec70d5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/CameraServiceState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CameraServiceState { + UNAVAILABLE = 0, + INACTIVE = 1, + REQUESTED = 2, + ACTIVE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl index 2e25466886..be8d3ac6ab 100644 --- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -261,6 +261,7 @@ enum VehicleProperty { VEHICLE_IN_USE = (((0x0F4A + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313738 */, 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 */, 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 */, diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/CameraServiceState.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/CameraServiceState.aidl new file mode 100644 index 0000000000..0e0191367f --- /dev/null +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/CameraServiceState.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ + +package android.hardware.automotive.vehicle; + +/** + * Used by CAMERA_SERVICE_CURRENT_STATE to describe current state of CarEvsService types. + * + * This is consistent with CarEvsManager.SERVICE_STATE_* constants. + */ +@VintfStability +@Backing(type="int") +enum CameraServiceState { + /** + * State that a corresponding service type is not available. + */ + UNAVAILABLE = 0, + + /** + * State that a corresponding service type is inactive; it's available but not used + * by any clients yet. + */ + INACTIVE = 1, + + /** + * State that CarEvsService requested launching a registered activity; the service is waiting + * for a video request from it. + */ + REQUESTED = 2, + + /** + * State that a corresponding service type is actively being used. + */ + ACTIVE = 3, +} diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 97e7847392..812b9b9b06 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -5067,6 +5067,30 @@ enum VehicleProperty { VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL = 0x0F4C + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32, + /** + * Reports current state of CarEvsService types. + * + * Informs other components of current state of each CarEvsService service type with values + * defined in CameraServiceState. CarEvsService will update this property whenever a service + * type transitions into a new state. + * + * int32[0]: Current state of REARVIEW service type. + * int32[1]: Current state of SURROUNDVIEW service type. + * int32[2]: Current state of FRONTVIEW service type. + * int32[3]: Current state of LEFTVIEW service type. + * int32[4]: Current state of RIGHTVIEW service type. + * int32[5]: Current state of DRIVERVIEW service type. + * int32[6]: Current state of FRONT_PASSENGERVIEW service type. + * int32[7]: Current state of REAR_PASSENGERVIEW service type. + * + * @change_mode VehiclePropertyChangeMode.ON_CHANGE + * @access VehiclePropertyAccess.WRITE + * @data_enum CameraServiceState + * @version 3 + */ + CAMERA_SERVICE_CURRENT_STATE = 0x0F4D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + + VehiclePropertyType.INT32_VEC, + /*********************************************************************************************** * Start of ADAS Properties * diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 0fd1cc69b4..d9cd9d5a18 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -1149,6 +1149,12 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyVehicleDrivingAutomationCurrentL VehiclePropertyGroup::SYSTEM, VehicleArea::GLOBAL, VehiclePropertyType::INT32); } +TEST_P(VtsHalAutomotiveVehicleTargetTest, verifyCameraServiceCurrentStateConfig) { + verifyProperty(VehicleProperty::CAMERA_SERVICE_CURRENT_STATE, VehiclePropertyAccess::WRITE, + VehiclePropertyChangeMode::ON_CHANGE, VehiclePropertyGroup::SYSTEM, + VehicleArea::GLOBAL, VehiclePropertyType::INT32_VEC); +} + TEST_P(VtsHalAutomotiveVehicleTargetTest, verifySeatAirbagsDeployedConfig) { verifyProperty(VehicleProperty::SEAT_AIRBAGS_DEPLOYED, VehiclePropertyAccess::READ, VehiclePropertyChangeMode::ON_CHANGE, VehiclePropertyGroup::SYSTEM, From 763f63576e53c576af5ec7ad40918a2d1ca36188 Mon Sep 17 00:00:00 2001 From: Shunkai Yao Date: Thu, 15 Feb 2024 17:41:42 +0000 Subject: [PATCH 169/198] Visualizer: make the range align with VISUALIZER_CAPTURE_SIZE_* Bug: 317742497 Test: atest android.media.audio.cts.VisualizerTest Test: atest VtsHalAudioEffectTargetTest Change-Id: I5b89c9cead9906966b00fcb2fdb16905ed97b263 --- audio/aidl/default/visualizer/VisualizerSw.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/audio/aidl/default/visualizer/VisualizerSw.h b/audio/aidl/default/visualizer/VisualizerSw.h index 4b87b04298..819351a848 100644 --- a/audio/aidl/default/visualizer/VisualizerSw.h +++ b/audio/aidl/default/visualizer/VisualizerSw.h @@ -19,20 +19,22 @@ #include #include +#include #include "effect-impl/EffectImpl.h" namespace aidl::android::hardware::audio::effect { class VisualizerSwContext final : public EffectContext { public: - static const int kMinCaptureSize = 0x80; - static const int kMaxCaptureSize = 0x400; - static const int kMaxLatencyMs = 3000; - static const int kMaxCaptureBufSize = 0xffff; + // need align the min/max capture size to VISUALIZER_CAPTURE_SIZE_MIN and + // VISUALIZER_CAPTURE_SIZE_MAX because of limitation in audio_utils fixedfft. + static constexpr int32_t kMinCaptureSize = VISUALIZER_CAPTURE_SIZE_MIN; + static constexpr int32_t kMaxCaptureSize = VISUALIZER_CAPTURE_SIZE_MAX; + static constexpr int32_t kMaxLatencyMs = 3000; VisualizerSwContext(int statusDepth, const Parameter::Common& common) : EffectContext(statusDepth, common) { LOG(DEBUG) << __func__; - mCaptureSampleBuffer.resize(kMaxCaptureBufSize); + mCaptureSampleBuffer.resize(kMaxCaptureSize); fill(mCaptureSampleBuffer.begin(), mCaptureSampleBuffer.end(), 0x80); } From 7c52c76cb2372808039c6d74759639bb7c632aa2 Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Thu, 15 Feb 2024 21:43:50 +0000 Subject: [PATCH 170/198] Move vendor data helper functions to wifi_aidl_test_utils. Allows these methods to be used for VTS tests across all Wifi HAL services. Previously, they were only available to the Supplicant tests. Bug: 322815584 Test: atest VtsHalWifiSupplicantStaNetworkTargetTest \ VtsHalWifiSupplicantP2pIfaceTargetTest Change-Id: I2ef8fe528aa35bc2109a0f845432dec88962f21b --- .../vts/functional/wifi_aidl_test_utils.cpp | 34 +++++++++++++++++ .../vts/functional/wifi_aidl_test_utils.h | 6 +++ .../supplicant_p2p_iface_aidl_test.cpp | 1 + .../supplicant_sta_network_aidl_test.cpp | 1 + .../vts/functional/supplicant_test_utils.h | 37 ------------------- 5 files changed, 42 insertions(+), 37 deletions(-) diff --git a/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp b/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp index 986e3a857b..21d50ac325 100644 --- a/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp +++ b/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp @@ -62,6 +62,23 @@ bool configureChipToSupportConcurrencyTypeInternal(const std::shared_ptr generateOuiKeyedDataOptional(int oui) { + return std::optional{generateOuiKeyedData(oui)}; +} + } // namespace bool checkStatusCode(ndk::ScopedAStatus* status, WifiStatusCode expected_code) { @@ -238,3 +255,20 @@ int32_t getChipFeatureSet(const std::shared_ptr& wifi_chip) { bool isAidlServiceAvailable(const char* instance_name) { return AServiceManager_isDeclared(instance_name); } + +std::vector generateOuiKeyedDataList(int size) { + std::vector dataList; + for (int i = 0; i < size; i++) { + dataList.push_back(generateOuiKeyedData(i + 1)); + } + return dataList; +} + +// Generate OuiKeyedData list fully wrapped in std::optional +std::optional>> generateOuiKeyedDataListOptional(int size) { + std::vector> dataList; + for (int i = 0; i < size; i++) { + dataList.push_back(generateOuiKeyedDataOptional(i + 1)); + } + return std::optional>>{dataList}; +} diff --git a/wifi/aidl/vts/functional/wifi_aidl_test_utils.h b/wifi/aidl/vts/functional/wifi_aidl_test_utils.h index 921d689926..1369dd487a 100644 --- a/wifi/aidl/vts/functional/wifi_aidl_test_utils.h +++ b/wifi/aidl/vts/functional/wifi_aidl_test_utils.h @@ -21,6 +21,7 @@ #include #include #include +#include #include using aidl::android::hardware::wifi::IfaceConcurrencyType; @@ -30,6 +31,8 @@ using aidl::android::hardware::wifi::IWifiChip; using aidl::android::hardware::wifi::IWifiNanIface; using aidl::android::hardware::wifi::IWifiStaIface; using aidl::android::hardware::wifi::WifiStatusCode; +using aidl::android::hardware::wifi::common::OuiKeyedData; +using aidl::android::os::PersistableBundle; // Helper functions to obtain references to the various AIDL interface objects. std::shared_ptr getWifi(const char* instance_name); @@ -50,3 +53,6 @@ void stopWifiService(const char* instance_name); int32_t getChipFeatureSet(const std::shared_ptr& wifi_chip); bool checkStatusCode(ndk::ScopedAStatus* status, WifiStatusCode expected_code); bool isAidlServiceAvailable(const char* instance_name); +// Generate test vendor data. +std::vector generateOuiKeyedDataList(int size); +std::optional>> generateOuiKeyedDataListOptional(int size); diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp index 69a8919ac1..2c46ec5708 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp @@ -27,6 +27,7 @@ #include #include "supplicant_test_utils.h" +#include "wifi_aidl_test_utils.h" using aidl::android::hardware::wifi::supplicant::BnSupplicantP2pIfaceCallback; using aidl::android::hardware::wifi::supplicant::DebugLevel; diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp index a541f8f180..9bdd2f5722 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_network_aidl_test.cpp @@ -27,6 +27,7 @@ #include #include "supplicant_test_utils.h" +#include "wifi_aidl_test_utils.h" using aidl::android::hardware::wifi::supplicant::AuthAlgMask; using aidl::android::hardware::wifi::supplicant::BnSupplicantStaNetworkCallback; diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h index 51793fd259..e39e2f44c2 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h +++ b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h @@ -16,18 +16,14 @@ #pragma once -#include - #include "supplicant_aidl_test_utils.h" #include "supplicant_legacy_test_utils.h" -using aidl::android::hardware::wifi::common::OuiKeyedData; using aidl::android::hardware::wifi::supplicant::IfaceInfo; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; -using aidl::android::os::PersistableBundle; std::string getStaIfaceName() { std::array buffer; @@ -101,36 +97,3 @@ std::array vecToArrayMacAddr(std::vector vectorAddr) { std::copy(vectorAddr.begin(), vectorAddr.begin() + 6, arrayAddr.begin()); return arrayAddr; } - -OuiKeyedData generateOuiKeyedData(int oui) { - PersistableBundle bundle; - bundle.putString("stringKey", "stringValue"); - bundle.putInt("intKey", 12345); - - OuiKeyedData data; - data.oui = oui; - data.vendorData = bundle; - return data; -} - -std::vector generateOuiKeyedDataList(int size) { - std::vector dataList; - for (int i = 0; i < size; i++) { - dataList.push_back(generateOuiKeyedData(i + 1)); - } - return dataList; -} - -// Wraps generateOuiKeyedData result in std::optional -std::optional generateOuiKeyedDataOptional(int oui) { - return std::optional{generateOuiKeyedData(oui)}; -} - -// Generate OuiKeyedData list fully wrapped in std::optional -std::optional>> generateOuiKeyedDataListOptional(int size) { - std::vector> dataList; - for (int i = 0; i < size; i++) { - dataList.push_back(generateOuiKeyedDataOptional(i + 1)); - } - return std::optional>>{dataList}; -} From 15bc4492bfca5c7963251b8e1f9c34593b14f91e Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Thu, 15 Feb 2024 22:12:32 +0000 Subject: [PATCH 171/198] Add VTS tests for Vendor HAL and Hostapd structures which were extended to include vendor data. Bug: 322815584 Test: atest VtsHalWifiRttControllerTargetTest \ VtsHalWifiNanIfaceTargetTest \ VtsHalHostapdTargetTest Change-Id: I7be5207aa5f6e49863ba516bed1cbba3fdfaa271 --- .../functional/wifi_nan_iface_aidl_test.cpp | 11 +++++++++++ .../wifi_rtt_controller_aidl_test.cpp | 11 +++++++++++ wifi/hostapd/aidl/vts/functional/Android.bp | 2 +- .../functional/VtsHalHostapdTargetTest.cpp | 19 +++++++++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) diff --git a/wifi/aidl/vts/functional/wifi_nan_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_nan_iface_aidl_test.cpp index 738e72cf00..bc169a45b7 100644 --- a/wifi/aidl/vts/functional/wifi_nan_iface_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_nan_iface_aidl_test.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,10 @@ using aidl::android::hardware::wifi::NanTxType; #define TIMEOUT_PERIOD 10 +namespace { +const auto& kTestVendorDataOptional = generateOuiKeyedDataListOptional(5); +} + class WifiNanIfaceAidlTest : public testing::TestWithParam { public: void SetUp() override { @@ -72,6 +77,7 @@ class WifiNanIfaceAidlTest : public testing::TestWithParam { std::shared_ptr callback = ndk::SharedRefBase::make(*this); EXPECT_TRUE(wifi_nan_iface_->registerEventCallback(callback).isOk()); + EXPECT_TRUE(wifi_nan_iface_->getInterfaceVersion(&interface_version_).isOk()); } void TearDown() override { stopWifiService(getInstanceName()); } @@ -401,6 +407,7 @@ class WifiNanIfaceAidlTest : public testing::TestWithParam { protected: std::shared_ptr wifi_nan_iface_; + int interface_version_; uint64_t callback_event_bitmap_; uint16_t id_; uint8_t session_id_; @@ -640,6 +647,10 @@ TEST_P(WifiNanIfaceAidlTest, StartPublishRequest) { nanPublishRequest.autoAcceptDataPathRequests = false; nanPublishRequest.publishType = NanPublishType::UNSOLICITED; nanPublishRequest.txType = NanTxType::BROADCAST; + if (interface_version_ >= 2) { + LOG(INFO) << "Including vendor data in Publish request"; + nanPublishRequest.vendorData = kTestVendorDataOptional; + } status = wifi_nan_iface_->startPublishRequest(inputCmdId + 1, nanPublishRequest); if (!checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED)) { diff --git a/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp index 4aedc0ef6f..9c6a29ef90 100644 --- a/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -42,6 +43,10 @@ using aidl::android::hardware::wifi::WifiChannelInfo; using aidl::android::hardware::wifi::WifiChannelWidthInMhz; using aidl::android::hardware::wifi::WifiStatusCode; +namespace { +const auto& kTestVendorDataOptional = generateOuiKeyedDataListOptional(5); +} + class WifiRttControllerAidlTest : public testing::TestWithParam { public: void SetUp() override { @@ -50,6 +55,7 @@ class WifiRttControllerAidlTest : public testing::TestWithParam { stopWifiService(getInstanceName()); wifi_rtt_controller_ = getWifiRttController(); ASSERT_NE(nullptr, wifi_rtt_controller_.get()); + ASSERT_TRUE(wifi_rtt_controller_->getInterfaceVersion(&interface_version_).isOk()); // Check RTT support before we run the test. RttCapabilities caps = {}; @@ -82,6 +88,7 @@ class WifiRttControllerAidlTest : public testing::TestWithParam { } std::shared_ptr wifi_rtt_controller_; + int interface_version_; private: const char* getInstanceName() { return GetParam().c_str(); } @@ -226,6 +233,10 @@ TEST_P(WifiRttControllerAidlTest, RangeRequest) { config.numRetriesPerRttFrame = 3; config.numRetriesPerFtmr = 3; config.burstDuration = 9; + if (interface_version_ >= 2) { + LOG(INFO) << "Including vendor data in Rtt Config"; + config.vendorData = kTestVendorDataOptional; + } int cmdId = 55; std::vector configs = {config}; diff --git a/wifi/hostapd/aidl/vts/functional/Android.bp b/wifi/hostapd/aidl/vts/functional/Android.bp index 9fbbf4bc29..f614679c44 100644 --- a/wifi/hostapd/aidl/vts/functional/Android.bp +++ b/wifi/hostapd/aidl/vts/functional/Android.bp @@ -21,7 +21,7 @@ cc_test { "libvndksupport", ], static_libs: [ - "android.hardware.wifi.hostapd-V1-ndk", + "android.hardware.wifi.hostapd-V2-ndk", "VtsHalWifiV1_0TargetTestUtil", "VtsHalWifiV1_5TargetTestUtil", "VtsHalWifiV1_6TargetTestUtil", diff --git a/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp b/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp index 137537d18b..590c58bad5 100644 --- a/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp +++ b/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp @@ -58,6 +58,7 @@ const int kIfaceChannel = 6; const int kIfaceInvalidChannel = 567; const std::vector kTestZeroMacAddr(6, 0x0); const Ieee80211ReasonCode kTestDisconnectReasonCode = Ieee80211ReasonCode::WLAN_REASON_UNSPECIFIED; +const auto& kTestVendorDataOptional = generateOuiKeyedDataListOptional(5); inline BandMask operator|(BandMask a, BandMask b) { return static_cast(static_cast(a) | @@ -74,6 +75,7 @@ class HostapdAidl : public testing::TestWithParam { hostapd = getHostapd(GetParam()); ASSERT_NE(hostapd, nullptr); EXPECT_TRUE(hostapd->setDebugParams(DebugLevel::EXCESSIVE).isOk()); + EXPECT_TRUE(hostapd->getInterfaceVersion(&interface_version_).isOk()); isAcsSupport = testing::checkSubstringInCommandOutput( "/system/bin/cmd wifi get-softap-supported-features", @@ -98,6 +100,7 @@ class HostapdAidl : public testing::TestWithParam { bool isAcsSupport; bool isWpa3SaeSupport; bool isBridgedSupport; + int interface_version_; IfaceParams getIfaceParamsWithoutAcs(std::string iface_name) { IfaceParams iface_params; @@ -342,6 +345,22 @@ TEST_P(HostapdAidl, AddOpenAccessPointWithoutAcs) { EXPECT_TRUE(status.isOk()); } +/** + * Adds an access point with Open network config & ACS disabled. + * IfaceParams will also include vendor data. + * Access point creation should pass. + */ +TEST_P(HostapdAidl, AddOpenAccessPointWithVendorData) { + if (interface_version_ < 2) { + GTEST_SKIP() << "Vendor data is available in IfaceParams as of Hostapd V2"; + } + std::string ifname = setupApIfaceAndGetName(false); + IfaceParams params = getIfaceParamsWithoutAcs(ifname); + params.vendorData = kTestVendorDataOptional; + auto status = hostapd->addAccessPoint(params, getOpenNwParams()); + EXPECT_TRUE(status.isOk()); +} + /** * Adds an access point with SAE Transition network config & ACS disabled. * Access point creation should pass. From 3c752e34fc4e58218ea458675c3e99fd77cf6b75 Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Fri, 16 Feb 2024 01:50:27 +0000 Subject: [PATCH 172/198] Add VTS test for the enable and disable MSCS methods. Bug: 318008418 Test: atest VtsHalWifiSupplicantStaIfaceTargetTest Change-Id: Iddd25f89e65a8419e29454a77ab83d152296d34e --- .../supplicant_sta_iface_aidl_test.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp index 5d00485d57..a2338d8bf3 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp @@ -43,6 +43,7 @@ using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaNetwork; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; +using aidl::android::hardware::wifi::supplicant::MscsParams; using aidl::android::hardware::wifi::supplicant::WpaDriverCapabilitiesMask; using aidl::android::hardware::wifi::supplicant::WpsConfigMethods; using android::ProcessState; @@ -252,6 +253,7 @@ class SupplicantStaIfaceAidlTest : public testing::TestWithParam { true, // show timestamps true) .isOk()); + ASSERT_TRUE(supplicant_->getInterfaceVersion(&interface_version_).isOk()); EXPECT_TRUE(supplicant_->getStaInterface(getStaIfaceName(), &sta_iface_) .isOk()); ASSERT_NE(sta_iface_, nullptr); @@ -293,6 +295,7 @@ class SupplicantStaIfaceAidlTest : public testing::TestWithParam { protected: std::shared_ptr supplicant_; std::shared_ptr sta_iface_; + int interface_version_; private: // synchronization objects @@ -788,6 +791,22 @@ TEST_P(SupplicantStaIfaceAidlTest, StartDppConfiguratorInitiator) { EXPECT_TRUE(sta_iface_->removeDppUri(peer_id).isOk()); } +/* + * Configure and Disable MSCS + */ +TEST_P(SupplicantStaIfaceAidlTest, ConfigureAndDisableMscs) { + if (interface_version_ < 3) { + GTEST_SKIP() << "MSCS configure/disable is available as of Supplicant V3"; + } + MscsParams params; + params.upBitmap = 0; + params.upLimit = 7; + params.streamTimeoutUs = 1000; // 1 ms + params.frameClassifierMask = 0; + EXPECT_TRUE(sta_iface_->configureMscs(params).isOk()); + EXPECT_TRUE(sta_iface_->disableMscs().isOk()); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SupplicantStaIfaceAidlTest); INSTANTIATE_TEST_SUITE_P(Supplicant, SupplicantStaIfaceAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames( From fc93b73f78a31b8f1822061ba164cb7c84ff5321 Mon Sep 17 00:00:00 2001 From: ramindani Date: Thu, 15 Feb 2024 21:36:19 +0000 Subject: [PATCH 173/198] [Composer-VTS] Adds vts for notifyExpectedPresent Includes VTS for notifyExpectedPresent call, frameRate change in the present call and notifyExpectedPresent after timeout. Test: atest VtsHalGraphicsComposer3_TargetTest BUG: 291792736 Change-Id: I1ef7011d7dcbdd6bb378b80ca0b0d7cd52832897 --- .../VtsHalGraphicsComposer3_TargetTest.cpp | 220 +++++++++++++++--- 1 file changed, 190 insertions(+), 30 deletions(-) diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 5e45fd902b..f72cf55300 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1291,6 +1291,9 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigurations) { frameIntervalPowerHints.cend()); EXPECT_LE(minFrameInterval->frameIntervalNs, VtsComposerClient::kMaxFrameIntervalNs); + const auto maxFrameInterval = *max_element(frameIntervalPowerHints.cbegin(), + frameIntervalPowerHints.cend()); + EXPECT_GE(maxFrameInterval->frameIntervalNs, vrrConfig.minFrameIntervalNs); EXPECT_TRUE(std::all_of(frameIntervalPowerHints.cbegin(), frameIntervalPowerHints.cend(), @@ -1385,17 +1388,6 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigsIsSubsetOfGetDisplayConfigur } } -// TODO(b/291792736) Add detailed VTS test cases for NotifyExpectedPresent -TEST_P(GraphicsComposerAidlV3Test, NotifyExpectedPresent) { - for (const auto& display : mDisplays) { - EXPECT_TRUE(mComposerClient - ->notifyExpectedPresent(display.getDisplayId(), - ClockMonotonicTimestamp{0}, - std::chrono::nanoseconds{8ms}.count()) - .isOk()); - } -} - // Tests for Command. class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { protected: @@ -1539,18 +1531,20 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { } sp<::android::Fence> presentAndGetFence( - std::optional expectedPresentTime) { - auto& writer = getWriter(getPrimaryDisplayId()); - writer.validateDisplay(getPrimaryDisplayId(), expectedPresentTime, - VtsComposerClient::kNoFrameIntervalNs); + std::optional expectedPresentTime, + std::optional displayIdOpt = {}, + int32_t frameIntervalNs = VtsComposerClient::kNoFrameIntervalNs) { + const auto displayId = displayIdOpt.value_or(getPrimaryDisplayId()); + auto& writer = getWriter(displayId); + writer.validateDisplay(displayId, expectedPresentTime, frameIntervalNs); execute(); EXPECT_TRUE(mReader.takeErrors().empty()); - writer.presentDisplay(getPrimaryDisplayId()); + writer.presentDisplay(displayId); execute(); EXPECT_TRUE(mReader.takeErrors().empty()); - auto presentFence = mReader.takePresentFence(getPrimaryDisplayId()); + auto presentFence = mReader.takePresentFence(displayId); // take ownership const int fenceOwner = presentFence.get(); *presentFence.getR() = -1; @@ -1569,18 +1563,17 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { return vsyncPeriod; } - int64_t createOnScreenLayer(Composition composition = Composition::DEVICE) { - auto& writer = getWriter(getPrimaryDisplayId()); + int64_t createOnScreenLayer(const VtsDisplay& display, + Composition composition = Composition::DEVICE) { + auto& writer = getWriter(display.getDisplayId()); const auto& [status, layer] = - mComposerClient->createLayer(getPrimaryDisplayId(), kBufferSlotCount, &writer); + mComposerClient->createLayer(display.getDisplayId(), kBufferSlotCount, &writer); EXPECT_TRUE(status.isOk()); - Rect displayFrame{0, 0, getPrimaryDisplay().getDisplayWidth(), - getPrimaryDisplay().getDisplayHeight()}; - FRect cropRect{0, 0, (float)getPrimaryDisplay().getDisplayWidth(), - (float)getPrimaryDisplay().getDisplayHeight()}; - configureLayer(getPrimaryDisplay(), layer, composition, displayFrame, cropRect); + Rect displayFrame{0, 0, display.getDisplayWidth(), display.getDisplayHeight()}; + FRect cropRect{0, 0, (float)display.getDisplayWidth(), (float)display.getDisplayHeight()}; + configureLayer(display, layer, composition, displayFrame, cropRect); - writer.setLayerDataspace(getPrimaryDisplayId(), layer, common::Dataspace::UNKNOWN); + writer.setLayerDataspace(display.getDisplayId(), layer, common::Dataspace::UNKNOWN); return layer; } @@ -1692,7 +1685,7 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { ASSERT_NE(nullptr, buffer1); ASSERT_NE(nullptr, buffer2); - const auto layer = createOnScreenLayer(); + const auto layer = createOnScreenLayer(getPrimaryDisplay()); auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerBuffer(getPrimaryDisplayId(), layer, /*slot*/ 0, buffer1->handle, /*acquireFence*/ -1); @@ -1725,6 +1718,38 @@ class GraphicsComposerAidlCommandTest : public GraphicsComposerAidlTest { ASSERT_TRUE(mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); } + void forEachNotifyExpectedPresentConfig( + std::function func) { + for (VtsDisplay& display : mDisplays) { + const auto displayId = display.getDisplayId(); + EXPECT_TRUE(mComposerClient->setPowerMode(displayId, PowerMode::ON).isOk()); + const auto& [status, displayConfigurations] = + mComposerClient->getDisplayConfigurations(displayId); + EXPECT_TRUE(status.isOk()); + EXPECT_FALSE(displayConfigurations.empty()); + for (const auto& config : displayConfigurations) { + if (config.vrrConfig && config.vrrConfig->notifyExpectedPresentConfig) { + const auto [vsyncPeriodStatus, oldVsyncPeriod] = + mComposerClient->getDisplayVsyncPeriod(displayId); + ASSERT_TRUE(vsyncPeriodStatus.isOk()); + const auto& [timelineStatus, timeline] = + mComposerClient->setActiveConfigWithConstraints( + &display, config.configId, + VsyncPeriodChangeConstraints{.seamlessRequired = false}); + ASSERT_TRUE(timelineStatus.isOk()); + if (timeline.refreshRequired) { + sendRefreshFrame(display, &timeline); + } + waitForVsyncPeriodChange(displayId, timeline, systemTime(), oldVsyncPeriod, + config.vsyncPeriod); + func(display, config); + } + } + EXPECT_TRUE( + mComposerClient->setPowerMode(getPrimaryDisplayId(), PowerMode::OFF).isOk()); + } + } + void configureLayer(const VtsDisplay& display, int64_t layer, Composition composition, const Rect& displayFrame, const FRect& cropRect) { auto& writer = getWriter(display.getDisplayId()); @@ -2592,7 +2617,7 @@ TEST_P(GraphicsComposerAidlCommandTest, SetIdleTimerEnabled_Timeout_2) { const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); ASSERT_NE(nullptr, buffer->handle); - const auto layer = createOnScreenLayer(); + const auto layer = createOnScreenLayer(getPrimaryDisplay()); auto& writer = getWriter(getPrimaryDisplayId()); writer.setLayerBuffer(getPrimaryDisplayId(), layer, /*slot*/ 0, buffer->handle, /*acquireFence*/ -1); @@ -2778,8 +2803,8 @@ TEST_P(GraphicsComposerAidlCommandV2Test, } // Send the REFRESH_RATE_INDICATOR update - ASSERT_NO_FATAL_FAILURE( - sendBufferUpdate(createOnScreenLayer(Composition::REFRESH_RATE_INDICATOR))); + ASSERT_NO_FATAL_FAILURE(sendBufferUpdate( + createOnScreenLayer(getPrimaryDisplay(), Composition::REFRESH_RATE_INDICATOR))); std::this_thread::sleep_for(1s); EXPECT_FALSE(checkIfCallbackRefreshRateChangedDebugEnabledReceived(displayFilter)) << "A callback should not be received for REFRESH_RATE_INDICATOR"; @@ -3075,6 +3100,141 @@ TEST_P(GraphicsComposerAidlCommandV3Test, NoCreateDestroyBatchedCommandIncorrect ASSERT_TRUE(errors.size() == 1 && errors[0].errorCode == IComposerClient::EX_BAD_LAYER); } +TEST_P(GraphicsComposerAidlCommandV3Test, notifyExpectedPresentTimeout) { + if (hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { + GTEST_SUCCEED() << "Device has unreliable present fences capability, skipping"; + return; + } + forEachNotifyExpectedPresentConfig([&](VtsDisplay& display, + const DisplayConfiguration& config) { + const auto displayId = display.getDisplayId(); + auto minFrameIntervalNs = config.vrrConfig->minFrameIntervalNs; + const auto timeoutNs = config.vrrConfig->notifyExpectedPresentConfig->timeoutNs; + + const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); + ASSERT_NE(nullptr, buffer); + const auto layer = createOnScreenLayer(display); + auto& writer = getWriter(displayId); + writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, + /*acquireFence*/ -1); + sp<::android::Fence> presentFence = presentAndGetFence(ComposerClientWriter::kNoTimestamp, + displayId, minFrameIntervalNs); + presentFence->waitForever(LOG_TAG); + auto lastPresentTimeNs = presentFence->getSignalTime(); + + // Frame presents 30ms after timeout + const auto timeout = static_cast(timeoutNs); + const auto vsyncPeriod = config.vsyncPeriod; + int32_t frameAfterTimeoutNs = + vsyncPeriod * static_cast((timeout + 30ms).count() / vsyncPeriod); + auto expectedPresentTimestamp = + ClockMonotonicTimestamp{lastPresentTimeNs + frameAfterTimeoutNs}; + std::this_thread::sleep_for(timeout); + mComposerClient->notifyExpectedPresent(displayId, expectedPresentTimestamp, + minFrameIntervalNs); + presentFence = presentAndGetFence(expectedPresentTimestamp, displayId, minFrameIntervalNs); + presentFence->waitForever(LOG_TAG); + lastPresentTimeNs = presentFence->getSignalTime(); + ASSERT_GE(lastPresentTimeNs, expectedPresentTimestamp.timestampNanos - vsyncPeriod / 2); + mComposerClient->destroyLayer(displayId, layer, &writer); + }); +} + +TEST_P(GraphicsComposerAidlCommandV3Test, notifyExpectedPresentFrameIntervalChange) { + if (hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { + GTEST_SUCCEED() << "Device has unreliable present fences capability, skipping"; + return; + } + forEachNotifyExpectedPresentConfig([&](VtsDisplay& display, + const DisplayConfiguration& config) { + const auto displayId = display.getDisplayId(); + const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); + ASSERT_NE(nullptr, buffer); + const auto layer = createOnScreenLayer(display); + auto& writer = getWriter(displayId); + writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, + /*acquireFence*/ -1); + auto minFrameIntervalNs = config.vrrConfig->minFrameIntervalNs; + sp<::android::Fence> presentFence = presentAndGetFence(ComposerClientWriter::kNoTimestamp, + displayId, minFrameIntervalNs); + presentFence->waitForever(LOG_TAG); + auto lastPresentTimeNs = presentFence->getSignalTime(); + + auto vsyncPeriod = config.vsyncPeriod; + int32_t highestDivisor = VtsComposerClient::kMaxFrameIntervalNs / vsyncPeriod; + int32_t lowestDivisor = minFrameIntervalNs / vsyncPeriod; + const auto headsUpNs = config.vrrConfig->notifyExpectedPresentConfig->headsUpNs; + float totalDivisorsPassed = 0.f; + for (int divisor = lowestDivisor; divisor <= highestDivisor; divisor++) { + const auto frameIntervalNs = vsyncPeriod * divisor; + const auto frameAfterHeadsUp = frameIntervalNs * (headsUpNs / frameIntervalNs); + auto presentTime = lastPresentTimeNs + frameIntervalNs + frameAfterHeadsUp; + const auto expectedPresentTimestamp = ClockMonotonicTimestamp{presentTime}; + ASSERT_TRUE(mComposerClient + ->notifyExpectedPresent(displayId, expectedPresentTimestamp, + frameIntervalNs) + .isOk()); + presentFence = presentAndGetFence(expectedPresentTimestamp, displayId, frameIntervalNs); + presentFence->waitForever(LOG_TAG); + lastPresentTimeNs = presentFence->getSignalTime(); + if (lastPresentTimeNs >= expectedPresentTimestamp.timestampNanos - vsyncPeriod / 2) { + ++totalDivisorsPassed; + } + } + EXPECT_TRUE(totalDivisorsPassed > + (static_cast(highestDivisor - lowestDivisor)) * 0.75f); + mComposerClient->destroyLayer(displayId, layer, &writer); + }); +} + +TEST_P(GraphicsComposerAidlCommandV3Test, frameIntervalChangeAtPresentFrame) { + if (hasCapability(Capability::PRESENT_FENCE_IS_NOT_RELIABLE)) { + GTEST_SUCCEED() << "Device has unreliable present fences capability, skipping"; + return; + } + forEachNotifyExpectedPresentConfig([&](VtsDisplay& display, + const DisplayConfiguration& config) { + const auto displayId = display.getDisplayId(); + const auto buffer = allocate(::android::PIXEL_FORMAT_RGBA_8888); + ASSERT_NE(nullptr, buffer); + const auto layer = createOnScreenLayer(display); + auto& writer = getWriter(displayId); + writer.setLayerBuffer(displayId, layer, /*slot*/ 0, buffer->handle, + /*acquireFence*/ -1); + auto minFrameIntervalNs = config.vrrConfig->minFrameIntervalNs; + + auto vsyncPeriod = config.vsyncPeriod; + int32_t highestDivisor = VtsComposerClient::kMaxFrameIntervalNs / vsyncPeriod; + int32_t lowestDivisor = minFrameIntervalNs / vsyncPeriod; + const auto headsUpNs = config.vrrConfig->notifyExpectedPresentConfig->headsUpNs; + float totalDivisorsPassed = 0.f; + int divisor = lowestDivisor; + auto frameIntervalNs = vsyncPeriod * divisor; + sp<::android::Fence> presentFence = + presentAndGetFence(ComposerClientWriter::kNoTimestamp, displayId, frameIntervalNs); + presentFence->waitForever(LOG_TAG); + auto lastPresentTimeNs = presentFence->getSignalTime(); + do { + frameIntervalNs = vsyncPeriod * divisor; + ++divisor; + const auto nextFrameIntervalNs = vsyncPeriod * divisor; + const auto frameAfterHeadsUp = frameIntervalNs * (headsUpNs / frameIntervalNs); + auto presentTime = lastPresentTimeNs + frameIntervalNs + frameAfterHeadsUp; + const auto expectedPresentTimestamp = ClockMonotonicTimestamp{presentTime}; + presentFence = + presentAndGetFence(expectedPresentTimestamp, displayId, nextFrameIntervalNs); + presentFence->waitForever(LOG_TAG); + lastPresentTimeNs = presentFence->getSignalTime(); + if (lastPresentTimeNs >= expectedPresentTimestamp.timestampNanos - vsyncPeriod / 2) { + ++totalDivisorsPassed; + } + } while (divisor < highestDivisor); + EXPECT_TRUE(totalDivisorsPassed > + (static_cast(highestDivisor - lowestDivisor)) * 0.75f); + mComposerClient->destroyLayer(displayId, layer, &writer); + }); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(GraphicsComposerAidlCommandTest); INSTANTIATE_TEST_SUITE_P( PerInstance, GraphicsComposerAidlCommandTest, From 127dc87b2f794663679dd1e831e2328d908dcd4b Mon Sep 17 00:00:00 2001 From: shrikar Date: Mon, 12 Feb 2024 19:12:33 +0000 Subject: [PATCH 174/198] Populate both VehiclePropConfig and VehicleAreaConfig.access Bug: 323122049 Test: atest JsonConfigLoaderTest VtsHalAutomotiveVehicle_TargetTest Change-Id: I398b136e705df805c25d541f7721f36c47813273 --- .../automotive/vehicle/VehicleAreaConfig.aidl | 20 ++-- .../automotive/vehicle/VehiclePropConfig.aidl | 17 +++- .../include/JsonConfigLoader.h | 6 +- .../JsonConfigLoader/src/JsonConfigLoader.cpp | 15 ++- .../test/JsonConfigLoaderUnitTest.cpp | 22 ++--- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 97 ++++++++++++------- 6 files changed, 108 insertions(+), 69 deletions(-) diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl index aab3c46d76..96c4a74528 100644 --- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl +++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl @@ -53,21 +53,25 @@ parcelable VehicleAreaConfig { /** * Defines if the area ID for this property is READ, WRITE or READ_WRITE. This only applies if * the property is defined in the framework as a READ_WRITE property. Access (if set) should be - * equal to, or a superset of, the VehiclePropConfig.access of the property. + * equal to, or a superset of, the VehiclePropConfig.access of the property. If access is not + * set for this VehicleAreaConfig (i.e. access == VehiclePropertyAccess.NONE), then it will + * automatically be assumed that the areaId access is the same as the VehiclePropConfig.access + * of the property. * * 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. * - * Exclusively one of VehiclePropConfig and the VehicleAreaConfigs should be specified for a - * single property. If VehiclePropConfig.access is populated, none of the - * VehicleAreaConfig.access values should be populated. If VehicleAreaConfig.access values are - * populated, VehiclePropConfig.access must not be populated. + * VehiclePropConfig.access should be equal the maximal subset of the accesses set in + * VehiclePropConfig.areaConfigs, excluding those with access == VehiclePropertyAccess.NONE. For + * example, if a VehiclePropConfig has some area configs with an access of + * VehiclePropertyAccess.READ and others with an access of VehiclePropertyAccess.READ_WRITE, the + * VehiclePropConfig object's access should be VehiclePropertyAccess.READ. * - * VehicleAreaConfigs should not be partially populated with access. If the OEM wants to specify - * access for one area Id, all other configs should be populated with their access levels as - * well. + * 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. */ VehiclePropertyAccess access = VehiclePropertyAccess.NONE; diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl index 1135b267bb..c629b821a7 100644 --- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl +++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl @@ -29,9 +29,20 @@ parcelable VehiclePropConfig { /** * Defines if the property is read or write or both. * - * If populating VehicleAreaConfig.access fields for this property, this field should not be - * populated. If the OEM decides to populate this field, none of the VehicleAreaConfig.access - * fields should be populated. + * If any VehicleAreaConfig.access is not set (i.e. VehicleAreaConfig.access == + * VehiclePropertyAccess.NONE) for this property, it will automatically be assumed that the + * areaId access is the same as the VehiclePropConfig.access. + * + * VehiclePropConfig.access should be equal the maximal subset of the accesses set in its + * areaConfigs, excluding those with access == VehiclePropertyAccess.NONE. For example, if a + * VehiclePropConfig has some area configs with an access of VehiclePropertyAccess.READ and + * others with an access of VehiclePropertyAccess.READ_WRITE, the VehiclePropConfig object's + * access should be VehiclePropertyAccess.READ. + * + * In the scenario where the OEM actually wants to set VehicleAreaConfig.access = + * VehiclePropertyAccess.NONE for a particular area config, the maximal subset rule should apply + * with this area config included, making the VehiclePropConfig.access = + * VehiclePropertyAccess.NONE. */ VehiclePropertyAccess access = VehiclePropertyAccess.NONE; diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h index 82e5860780..00c497f4d4 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/include/JsonConfigLoader.h @@ -142,10 +142,8 @@ class JsonConfigParser { std::vector* errors); // Prase a JSON field as an array of area configs. - void parseAreas( - const Json::Value& parentJsonNode, const std::string& fieldName, - ConfigDeclaration* outPtr, std::vector* errors, - aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess defaultAccess); + void parseAreas(const Json::Value& parentJsonNode, const std::string& fieldName, + ConfigDeclaration* outPtr, std::vector* errors); }; } // namespace jsonconfigloader_impl diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 76db891a5b..7156b7e42f 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -538,8 +538,7 @@ bool JsonConfigParser::parsePropValues(const Json::Value& parentJsonNode, } void JsonConfigParser::parseAreas(const Json::Value& parentJsonNode, const std::string& fieldName, - ConfigDeclaration* config, std::vector* errors, - VehiclePropertyAccess defaultAccess) { + ConfigDeclaration* config, std::vector* errors) { if (!parentJsonNode.isObject()) { errors->push_back("Node: " + parentJsonNode.toStyledString() + " is not an object"); return; @@ -563,8 +562,8 @@ void JsonConfigParser::parseAreas(const Json::Value& parentJsonNode, const std:: } VehicleAreaConfig areaConfig = {}; areaConfig.areaId = areaId; - parseAccessChangeMode(jsonAreaConfig, "access", propStr, &defaultAccess, &areaConfig.access, - errors); + parseAccessChangeMode(jsonAreaConfig, "access", propStr, &(config->config.access), + &areaConfig.access, errors); tryParseJsonValueToVariable(jsonAreaConfig, "minInt32Value", /*optional=*/true, &areaConfig.minInt32Value, errors); tryParseJsonValueToVariable(jsonAreaConfig, "maxInt32Value", /*optional=*/true, @@ -622,8 +621,8 @@ std::optional JsonConfigParser::parseEachProperty( if (itChangeMode != ChangeModeForVehicleProperty.end()) { defaultChangeMode = &itChangeMode->second; } - VehiclePropertyAccess access = VehiclePropertyAccess::NONE; - parseAccessChangeMode(propJsonValue, "access", propStr, defaultAccessMode, &access, errors); + parseAccessChangeMode(propJsonValue, "access", propStr, defaultAccessMode, + &configDecl.config.access, errors); parseAccessChangeMode(propJsonValue, "changeMode", propStr, defaultChangeMode, &configDecl.config.changeMode, errors); @@ -642,14 +641,14 @@ std::optional JsonConfigParser::parseEachProperty( tryParseJsonValueToVariable(propJsonValue, "maxSampleRate", /*optional=*/true, &configDecl.config.maxSampleRate, errors); - parseAreas(propJsonValue, "areas", &configDecl, errors, access); + parseAreas(propJsonValue, "areas", &configDecl, errors); // If there is no area config, by default we allow variable update rate, so we have to add // a global area config. if (configDecl.config.areaConfigs.size() == 0) { VehicleAreaConfig areaConfig = { .areaId = 0, - .access = access, + .access = configDecl.config.access, .supportVariableUpdateRate = true, }; configDecl.config.areaConfigs.push_back(std::move(areaConfig)); diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp index a13d3dff4e..54afbd4f76 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/test/JsonConfigLoaderUnitTest.cpp @@ -286,7 +286,7 @@ TEST_F(JsonConfigLoaderUnitTest, testCheckDefaultAccessChangeMode) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC); } @@ -308,7 +308,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAccessOverride) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::STATIC); } @@ -330,7 +330,7 @@ TEST_F(JsonConfigLoaderUnitTest, testChangeModeOverride) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::READ); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::ON_CHANGE); } @@ -353,7 +353,7 @@ TEST_F(JsonConfigLoaderUnitTest, testCustomProp) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& propConfig = configs.begin()->second.config; - ASSERT_EQ(propConfig.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(propConfig.access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.areaConfigs[0].access, VehiclePropertyAccess::WRITE); ASSERT_EQ(propConfig.changeMode, VehiclePropertyChangeMode::ON_CHANGE); } @@ -554,7 +554,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_Simple) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; ASSERT_EQ(areaConfig.minInt32Value, 1); @@ -641,7 +641,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesNoSupportedEnumValuesDeclared) ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; @@ -670,7 +670,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesSupportedEnumValues) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; @@ -702,7 +702,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAreas_HandlesEmptySupportedEnumValues) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; @@ -731,7 +731,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAccess_areaOverrideGlobalDefault) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ_WRITE); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; @@ -759,7 +759,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAccess_globalOverrideDefault) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 1u); const VehicleAreaConfig& areaConfig = config.areaConfigs[0]; @@ -791,7 +791,7 @@ TEST_F(JsonConfigLoaderUnitTest, testAccess_areaOverrideGlobal) { ASSERT_EQ(configs.size(), 1u); const VehiclePropConfig& config = configs.begin()->second.config; - ASSERT_EQ(config.access, VehiclePropertyAccess::NONE); + ASSERT_EQ(config.access, VehiclePropertyAccess::READ); ASSERT_EQ(config.areaConfigs.size(), 2u); const VehicleAreaConfig& areaConfig1 = config.areaConfigs[0]; diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 0fd1cc69b4..2b054a1bac 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -58,6 +58,7 @@ using ::android::base::ScopedLockAssertion; using ::android::base::StringPrintf; using ::android::frameworks::automotive::vhal::ErrorCode; using ::android::frameworks::automotive::vhal::HalPropError; +using ::android::frameworks::automotive::vhal::IHalAreaConfig; using ::android::frameworks::automotive::vhal::IHalPropConfig; using ::android::frameworks::automotive::vhal::IHalPropValue; using ::android::frameworks::automotive::vhal::ISubscriptionCallback; @@ -136,6 +137,9 @@ class VtsHalAutomotiveVehicleTargetTest : public testing::TestWithParam>& areaConfigs) const; void verifyProperty(VehicleProperty propId, VehiclePropertyAccess access, VehiclePropertyChangeMode changeMode, VehiclePropertyGroup group, VehicleArea area, VehiclePropertyType propertyType); @@ -254,6 +258,23 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, testPropConfigs_onlyDefinedSystemPrope } } +TEST_P(VtsHalAutomotiveVehicleTargetTest, testPropConfigs_globalAccessIsMaximalAreaAccessSubset) { + if (!mVhalClient->isAidlVhal()) { + GTEST_SKIP() << "Skip for HIDL VHAL because HAL interface run-time version is only" + << "introduced for AIDL"; + } + + auto result = mVhalClient->getAllPropConfigs(); + ASSERT_TRUE(result.ok()) << "Failed to get all property configs, error: " + << result.error().message(); + + const auto& configs = result.value(); + for (size_t i = 0; i < configs.size(); i++) { + verifyGlobalAccessIsMaximalAreaAccessSubset(configs[i]->getAccess(), + configs[i]->getAreaConfigs()); + } +} + // Test get() return current value for properties. TEST_P(VtsHalAutomotiveVehicleTargetTest, get) { ALOGD("VtsHalAutomotiveVehicleTargetTest::get"); @@ -586,42 +607,10 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, testGetValuesTimestampAIDL) { } } -// Test that access mode is populated in exclusively one of the VehiclePropConfig or the -// VehicleAreaConfigs. Either VehiclePropConfig.access must be populated, or all the -// VehicleAreaConfig.access fields should be populated. -TEST_P(VtsHalAutomotiveVehicleTargetTest, testAccessModeExclusivityAIDL) { - if (!mVhalClient->isAidlVhal()) { - GTEST_SKIP() << "Skip checking access mode for HIDL because the access mode field is only " - "present for AIDL"; - } - - auto result = mVhalClient->getAllPropConfigs(); - ASSERT_TRUE(result.ok()); - for (const auto& cfgPtr : result.value()) { - const IHalPropConfig& cfg = *cfgPtr; - - bool propAccessIsSet = (cfg.getAccess() != toInt(VehiclePropertyAccess::NONE)); - bool unsetAreaAccessExists = false; - bool setAreaAccessExists = false; - - for (const auto& areaConfig : cfg.getAreaConfigs()) { - if (areaConfig->getAccess() == toInt(VehiclePropertyAccess::NONE)) { - unsetAreaAccessExists = true; - } else { - setAreaAccessExists = true; - } - } - - ASSERT_FALSE(propAccessIsSet && setAreaAccessExists) << StringPrintf( - "Both prop and area config access is set for propertyId %d", cfg.getPropId()); - ASSERT_FALSE(!propAccessIsSet && !setAreaAccessExists) << StringPrintf( - "Neither prop and area config access is set for propertyId %d", cfg.getPropId()); - ASSERT_FALSE(unsetAreaAccessExists && setAreaAccessExists) << StringPrintf( - "Area access is only set in some configs for propertyId %d", cfg.getPropId()); - } -} - void VtsHalAutomotiveVehicleTargetTest::verifyAccessMode(int actualAccess, int expectedAccess) { + if (actualAccess == toInt(VehiclePropertyAccess::NONE)) { + return; + } if (expectedAccess == toInt(VehiclePropertyAccess::READ_WRITE)) { ASSERT_TRUE(actualAccess == expectedAccess || actualAccess == toInt(VehiclePropertyAccess::READ)) @@ -633,6 +622,44 @@ void VtsHalAutomotiveVehicleTargetTest::verifyAccessMode(int actualAccess, int e "Expect to get VehiclePropertyAccess: %i, got %i", expectedAccess, actualAccess); } +void VtsHalAutomotiveVehicleTargetTest::verifyGlobalAccessIsMaximalAreaAccessSubset( + int propertyLevelAccess, + const std::vector>& areaConfigs) const { + bool readOnlyPresent = false; + bool writeOnlyPresent = false; + bool readWritePresent = false; + int maximalAreaAccessSubset = toInt(VehiclePropertyAccess::NONE); + for (size_t i = 0; i < areaConfigs.size(); i++) { + int access = areaConfigs[i]->getAccess(); + switch (access) { + case toInt(VehiclePropertyAccess::READ): + readOnlyPresent = true; + break; + case toInt(VehiclePropertyAccess::WRITE): + writeOnlyPresent = true; + break; + case toInt(VehiclePropertyAccess::READ_WRITE): + readWritePresent = true; + break; + default: + ASSERT_EQ(access, toInt(VehiclePropertyAccess::NONE)) << StringPrintf( + "Area access can be NONE only if global property access is also NONE"); + return; + } + } + + if (readOnlyPresent && !writeOnlyPresent) { + maximalAreaAccessSubset = toInt(VehiclePropertyAccess::READ); + } else if (writeOnlyPresent) { + maximalAreaAccessSubset = toInt(VehiclePropertyAccess::WRITE); + } else if (readWritePresent) { + maximalAreaAccessSubset = toInt(VehiclePropertyAccess::READ_WRITE); + } + ASSERT_EQ(propertyLevelAccess, maximalAreaAccessSubset) << StringPrintf( + "Expected global access to be equal to maximal area access subset %d, Instead got %d", + maximalAreaAccessSubset, propertyLevelAccess); +} + // Helper function to compare actual vs expected property config void VtsHalAutomotiveVehicleTargetTest::verifyProperty(VehicleProperty propId, VehiclePropertyAccess access, From 310de813fa9e09e61743b1d14d70ec6f8b397c6c Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Mon, 19 Feb 2024 14:34:16 +0800 Subject: [PATCH 175/198] VTS: powerstats: skip GPS power stats Lassen GNSS power stats will be present after running GPS session once. Otherwise, VTS will fail due to missing GPS power stats. Bug: 325545917 Test: run vts -m VtsHalPowerStatsTargetTest Change-Id: I9d31017a86417fc18f4eab98ee25abfadfa396f9 Signed-off-by: Darren Hsu --- .../aidl/vts/VtsHalPowerStatsTargetTest.cpp | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp b/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp index 4ee14e3bd9..edc25b8996 100644 --- a/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp +++ b/power/stats/aidl/vts/VtsHalPowerStatsTargetTest.cpp @@ -65,10 +65,10 @@ class PowerStatsAidl : public testing::TestWithParam { template void testMatching(std::vector const& c1, R T::*f1, std::vector const& c2, R S::*f2); - bool containsTimedEntity(const std::string& str); + bool isEntitySkipped(const std::string& str); - void excludeTimedEntities(std::vector* entities, - std::vector* results); + void excludeSkippedEntities(std::vector* entities, + std::vector* results); std::shared_ptr powerstats; }; @@ -116,15 +116,20 @@ void PowerStatsAidl::testMatching(std::vector const& c1, R T::*f1, std::vecto EXPECT_EQ(c1fields, c2fields); } -bool PowerStatsAidl::containsTimedEntity(const std::string& str) { +bool PowerStatsAidl::isEntitySkipped(const std::string& str) { + bool skip = false; // TODO(b/229698505): Extend PowerEntityInfo to identify timed power entity - return str.find("AoC") != std::string::npos; + skip |= str.find("AoC") != std::string::npos; + // Lassen GNSS power stats will be present after running GPS session once. + // Otherwise, VTS will fail due to missing GPS power stats. + skip |= str.find("GPS") != std::string::npos; + return skip; } -void PowerStatsAidl::excludeTimedEntities(std::vector* entities, - std::vector* results) { +void PowerStatsAidl::excludeSkippedEntities(std::vector* entities, + std::vector* results) { for (auto it = entities->begin(); it != entities->end(); it++) { - if (containsTimedEntity((*it).name)) { + if (isEntitySkipped((*it).name)) { auto entityId = (*it).id; entities->erase(it--); @@ -214,19 +219,19 @@ TEST_P(PowerStatsAidl, TestGetStateResidency) { } // State residency must return all results except timed power entities -TEST_P(PowerStatsAidl, TestGetStateResidencyAllResultsExceptTimedEntities) { +TEST_P(PowerStatsAidl, TestGetStateResidencyAllResultsExceptSkippedEntities) { std::vector entities; ASSERT_OK(powerstats->getPowerEntityInfo(&entities)); std::vector results; ASSERT_OK(powerstats->getStateResidency({}, &results)); - excludeTimedEntities(&entities, &results); + excludeSkippedEntities(&entities, &results); testMatching(entities, &PowerEntity::id, results, &StateResidencyResult::id); } // Each result must contain all state residencies except timed power entities -TEST_P(PowerStatsAidl, TestGetStateResidencyAllStateResidenciesExceptTimedEntities) { +TEST_P(PowerStatsAidl, TestGetStateResidencyAllStateResidenciesExceptSkippedEntities) { std::vector entities; ASSERT_OK(powerstats->getPowerEntityInfo(&entities)); @@ -234,7 +239,7 @@ TEST_P(PowerStatsAidl, TestGetStateResidencyAllStateResidenciesExceptTimedEntiti ASSERT_OK(powerstats->getStateResidency({}, &results)); for (auto entity : entities) { - if (!containsTimedEntity(entity.name)) { + if (!isEntitySkipped(entity.name)) { auto it = std::find_if(results.begin(), results.end(), [&entity](const auto& x) { return x.id == entity.id; }); ASSERT_NE(it, results.end()); @@ -255,7 +260,7 @@ TEST_P(PowerStatsAidl, TestGetStateResidencySelectedResultsExceptTimedEntities) std::vector selectedEntities = getRandomSubset(entities); std::vector selectedIds; for (auto it = selectedEntities.begin(); it != selectedEntities.end(); it++) { - if (!containsTimedEntity((*it).name)) { + if (!isEntitySkipped((*it).name)) { selectedIds.push_back((*it).id); } else { selectedEntities.erase(it--); From c8a50dec9ad5189d8ee12f5fa4d9e7098e554018 Mon Sep 17 00:00:00 2001 From: Tyler Trephan Date: Fri, 19 Jan 2024 22:50:03 +0000 Subject: [PATCH 176/198] Generated UnitsForVehicleProperty.java from VehicleProeprty.aidl Test: None Bug: 319307524 Change-Id: I27d680b8d8a673e70224703bc18c7dff5113f2d3 --- ...ardware.automotive.vehicle-types-meta.json | 2 +- .../java/UnitsForVehicleProperty.java | 65 ++++++++++++++++ .../automotive/vehicle/VehicleProperty.aidl | 78 +++++++++---------- .../tools/generate_annotation_enums.py | 26 ++++++- 4 files changed, 129 insertions(+), 42 deletions(-) create mode 100644 automotive/vehicle/aidl/generated_lib/java/UnitsForVehicleProperty.java diff --git a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json index df0f51c7a1..c812326d2e 100644 --- a/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json +++ b/automotive/vehicle/aidl/emu_metadata/android.hardware.automotive.vehicle-types-meta.json @@ -1089,7 +1089,7 @@ "data_enum": "TrailerState" }, { - "name": "Vehicle’s curb weight", + "name": "VEHICLE_CURB_WEIGHT", "value": 289410886 }, { diff --git a/automotive/vehicle/aidl/generated_lib/java/UnitsForVehicleProperty.java b/automotive/vehicle/aidl/generated_lib/java/UnitsForVehicleProperty.java new file mode 100644 index 0000000000..b30c8e6103 --- /dev/null +++ b/automotive/vehicle/aidl/generated_lib/java/UnitsForVehicleProperty.java @@ -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 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) + ); + +} diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl index 812b9b9b06..6f5c0c1aaf 100644 --- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl +++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -79,7 +79,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:YEAR + * @unit VehicleUnit.YEAR * @version 2 */ INFO_MODEL_YEAR = 0x0103 + 0x10000000 + 0x01000000 @@ -89,7 +89,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLILITER + * @unit VehicleUnit.MILLILITER * @version 2 */ INFO_FUEL_CAPACITY = 0x0104 + 0x10000000 + 0x01000000 @@ -124,7 +124,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:WH + * @unit VehicleUnit.WATT_HOUR * @version 2 */ INFO_EV_BATTERY_CAPACITY = 0x0106 + 0x10000000 + 0x01000000 @@ -184,7 +184,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLIMETER + * @unit VehicleUnit.MILLIMETER * @version 2 */ INFO_EXTERIOR_DIMENSIONS = 0x010B + 0x10000000 + 0x01000000 @@ -210,7 +210,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:KILOMETER + * @unit VehicleUnit.KILOMETER * @version 2 */ PERF_ODOMETER = 0x0204 + 0x10000000 + 0x01000000 @@ -226,7 +226,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:METER_PER_SEC + * @unit VehicleUnit.METER_PER_SEC * @version 2 */ PERF_VEHICLE_SPEED = 0x0207 + 0x10000000 + 0x01000000 @@ -239,7 +239,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:METER_PER_SEC + * @unit VehicleUnit.METER_PER_SEC * @version 2 */ PERF_VEHICLE_SPEED_DISPLAY = 0x0208 + 0x10000000 + 0x01000000 @@ -251,7 +251,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:DEGREES + * @unit VehicleUnit.DEGREES * @version 2 */ PERF_STEERING_ANGLE = 0x0209 + 0x10000000 + 0x01000000 @@ -263,7 +263,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:DEGREES + * @unit VehicleUnit.DEGREES * @version 2 */ PERF_REAR_STEERING_ANGLE = 0x0210 + 0x10000000 + 0x01000000 @@ -273,7 +273,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 2 */ ENGINE_COOLANT_TEMP = 0x0301 + 0x10000000 + 0x01000000 @@ -293,7 +293,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 2 */ ENGINE_OIL_TEMP = 0x0304 + 0x10000000 + 0x01000000 @@ -303,7 +303,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:RPM + * @unit VehicleUnit.RPM * @version 2 */ ENGINE_RPM = 0x0305 + 0x10000000 + 0x01000000 @@ -356,7 +356,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLILITER + * @unit VehicleUnit.MILLILITER * @version 2 */ FUEL_LEVEL = 0x0307 + 0x10000000 + 0x01000000 @@ -383,7 +383,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:WH + * @unit VehicleUnit.WATT_HOUR * @version 2 */ EV_BATTERY_LEVEL = 0x0309 + 0x10000000 + 0x01000000 @@ -398,7 +398,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:WH + * @unit VehicleUnit.WATT_HOUR * @version 2 */ EV_CURRENT_BATTERY_CAPACITY = @@ -433,7 +433,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MW + * @unit VehicleUnit.MILLIWATTS * @version 2 */ EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 0x030C + 0x10000000 + 0x01000000 @@ -452,7 +452,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:METER + * @unit VehicleUnit.METER * @version 2 */ RANGE_REMAINING = 0x0308 + 0x10000000 + 0x01000000 @@ -466,7 +466,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 3 */ EV_BATTERY_AVERAGE_TEMPERATURE = @@ -494,7 +494,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:KILOPASCAL + * @unit VehicleUnit.KILOPASCAL * @version 2 */ TIRE_PRESSURE = 0x0309 + 0x10000000 + 0x07000000 @@ -510,7 +510,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:KILOPASCAL + * @unit VehicleUnit.KILOPASCAL * @version 2 */ CRITICALLY_LOW_TIRE_PRESSURE = 0x030A + 0x10000000 + 0x07000000 @@ -862,7 +862,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 2 */ HVAC_TEMPERATURE_CURRENT = 0x0502 + 0x10000000 + 0x05000000 @@ -894,7 +894,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 2 */ HVAC_TEMPERATURE_SET = 0x0503 + 0x10000000 + 0x05000000 @@ -1130,7 +1130,7 @@ enum VehicleProperty { * configArray[1] = FAHRENHEIT * * This parameter MAY be used for displaying any HVAC temperature in the system. - * Values must be one of VehicleUnit::CELSIUS or VehicleUnit::FAHRENHEIT + * Values must be one of VehicleUnit.CELSIUS or VehicleUnit.FAHRENHEIT * Note that internally, all temperatures are represented in floating point Celsius. * * If updating HVAC_TEMPERATURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS @@ -1287,7 +1287,7 @@ enum VehicleProperty { * * floatValues[0] = the requested value that an application wants to set a temperature to. * floatValues[1] = the unit for floatValues[0]. It should be one of - * {VehicleUnit:CELSIUS, VehicleUnit:FAHRENHEIT}. + * {VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}. * floatValues[2] = the value OEMs suggested in CELSIUS. This value is not included * in the request. * floatValues[3] = the value OEMs suggested in FAHRENHEIT. This value is not included @@ -1300,18 +1300,18 @@ enum VehicleProperty { * For example, when a user uses the voice assistant to set HVAC temperature to 66.2 in * Fahrenheit. * First, an application will set this property with the value - * [66.2, (float)VehicleUnit:FAHRENHEIT,0,0]. + * [66.2, (float)VehicleUnit.FAHRENHEIT,0,0]. * If OEMs suggest to set 19.0 in Celsius or 66.5 in Fahrenheit for user's request, then VHAL * must generate a callback with property value - * [66.2, (float)VehicleUnit:FAHRENHEIT, 19.0, 66.5]. After the voice assistant gets the + * [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5]. After the voice assistant gets the * callback, it will inform the user and set HVAC temperature to the suggested value. * * Another example, an application receives 21 Celsius as the current temperature value by * querying HVC_TEMPERATURE_SET. But the application wants to know what value is displayed on * the car's UI in Fahrenheit. - * For this, the application sets the property to [21, (float)VehicleUnit:CELSIUS, 0, 0]. If + * For this, the application sets the property to [21, (float)VehicleUnit.CELSIUS, 0, 0]. If * the suggested value by the OEM for 21 Celsius is 70 Fahrenheit, then VHAL must generate a - * callback with property value [21, (float)VehicleUnit:CELSIUS, 21.0, 70.0]. + * callback with property value [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0]. * In this case, the application can know that the value is 70.0 Fahrenheit in the car’s UI. * * @change_mode VehiclePropertyChangeMode.ON_CHANGE @@ -1504,7 +1504,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLI_SECS + * @unit VehicleUnit.MILLI_SECS * @version 2 */ EXTERNAL_CAR_TIME = 0x0608 + 0x10000000 // VehiclePropertyGroup:SYSTEM @@ -1534,7 +1534,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.WRITE - * @unit VehicleUnit:MILLI_SECS + * @unit VehicleUnit.MILLI_SECS * @version 2 */ ANDROID_EPOCH_TIME = 0x0606 + 0x10000000 + 0x01000000 @@ -1559,7 +1559,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:CELSIUS + * @unit VehicleUnit.CELSIUS * @version 2 */ ENV_OUTSIDE_TEMPERATURE = 0x0703 + 0x10000000 + 0x01000000 @@ -3212,7 +3212,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLI_SECS + * @unit VehicleUnit.MILLI_SECS * @version 2 */ WINDSHIELD_WIPERS_PERIOD = @@ -4789,7 +4789,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:AMPERE + * @unit VehicleUnit.AMPERE * @version 2 */ EV_CHARGE_CURRENT_DRAW_LIMIT = 0x0F3F + 0x10000000 + 0x01000000 @@ -4854,7 +4854,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:SECS + * @unit VehicleUnit.SECS * @version 2 */ EV_CHARGE_TIME_REMAINING = 0x0F43 + 0x10000000 + 0x01000000 @@ -4888,7 +4888,7 @@ enum VehicleProperty { + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 /** - * Vehicle’s curb weight + * Vehicle’s curb weight in kilograms. * * Returns the vehicle's curb weight in kilograms. Curb weight is * the total weight of the vehicle with standard equipment and all @@ -4905,10 +4905,8 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.STATIC * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:KILOGRAM * @version 2 */ - VEHICLE_CURB_WEIGHT = 0x0F46 + 0x10000000 + 0x01000000 + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32 @@ -5567,7 +5565,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:METER_PER_SEC + * @unit VehicleUnit.METER_PER_SEC * @version 2 */ CRUISE_CONTROL_TARGET_SPEED = @@ -5599,7 +5597,7 @@ enum VehicleProperty { * @change_mode VehiclePropertyChangeMode.ON_CHANGE * @access VehiclePropertyAccess.READ_WRITE * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLI_SECS + * @unit VehicleUnit.MILLI_SECS * @version 2 */ ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP = @@ -5630,7 +5628,7 @@ enum VehicleProperty { * * @change_mode VehiclePropertyChangeMode.CONTINUOUS * @access VehiclePropertyAccess.READ - * @unit VehicleUnit:MILLIMETER + * @unit VehicleUnit.MILLIMETER * @version 2 */ ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE = diff --git a/automotive/vehicle/tools/generate_annotation_enums.py b/automotive/vehicle/tools/generate_annotation_enums.py index 93d408e53c..f2797678ab 100755 --- a/automotive/vehicle/tools/generate_annotation_enums.py +++ b/automotive/vehicle/tools/generate_annotation_enums.py @@ -18,7 +18,8 @@ Need ANDROID_BUILD_TOP environmental variable to be set. This script will update ChangeModeForVehicleProperty.h and AccessForVehicleProperty.h under generated_lib/cpp and - ChangeModeForVehicleProperty.java, AccessForVehicleProperty.java, EnumForVehicleProperty.java under generated_lib/java. + ChangeModeForVehicleProperty.java, AccessForVehicleProperty.java, EnumForVehicleProperty.java + UnitsForVehicleProperty.java under generated_lib/java. Usage: $ python generate_annotation_enums.py @@ -42,6 +43,8 @@ ACCESS_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_ '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') SCRIPT_PATH = 'hardware/interfaces/automotive/vehicle/tools/generate_annotation_enums.py' @@ -175,6 +178,15 @@ public final class EnumForVehicleProperty { public static final Map>> values = Map.ofEntries( """ +UNITS_JAVA_HEADER = """package android.hardware.automotive.vehicle; + +import java.util.Map; + +public final class UnitsForVehicleProperty { + + public static final Map values = Map.ofEntries( +""" + class PropertyConfig: """Represents one VHAL property definition in VehicleProperty.aidl.""" @@ -316,6 +328,12 @@ class FileParser: continue; if not cpp: annotation = "List.of(" + ', '.join([class_name + ".class" for class_name in config.enum_types]) + ")" + elif field == 'unit_type': + if not config.unit_type: + continue + if not cpp: + annotation = config.unit_type + elif field == 'version': if cpp: annotation = config.version @@ -499,6 +517,12 @@ def main(): enum_types.setJavaFooter(JAVA_FOOTER) generated_files.append(enum_types) + unit_type = GeneratedFile('unit_type') + unit_type.setJavaFilePath(os.path.join(android_top, UNITS_JAVA_FILE_PATH)) + unit_type.setJavaHeader(UNITS_JAVA_HEADER) + unit_type.setJavaFooter(JAVA_FOOTER) + generated_files.append(unit_type) + version = GeneratedFile('version') version.setCppFilePath(os.path.join(android_top, VERSION_CPP_FILE_PATH)) version.setCppHeader(VERSION_CPP_HEADER) From a8efdb127e3c241cf4a6b3400a4750ca5242be06 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Tue, 20 Feb 2024 17:31:40 +0000 Subject: [PATCH 177/198] Vendor API level 202404 is now frozen Ignore-AOSP-First: VINTF 202404 Finalization Bug: 279809333 Test: build Change-Id: Ie6d38d27a287e258c30516e0030ad8c931d06432 --- audio/aidl/Android.bp | 37 +- .../android.hardware.audio.common/3/.hash | 1 + .../audio/common/AudioOffloadMetadata.aidl | 42 ++ .../audio/common/PlaybackTrackMetadata.aidl | 43 ++ .../audio/common/RecordTrackMetadata.aidl | 42 ++ .../hardware/audio/common/SinkMetadata.aidl | 38 + .../hardware/audio/common/SourceMetadata.aidl | 38 + .../2/.hash | 1 + .../audio/core/sounddose/ISoundDose.aidl | 52 ++ .../android.hardware.audio.core/2/.hash | 1 + .../hardware/audio/core/AudioPatch.aidl | 42 ++ .../hardware/audio/core/AudioRoute.aidl | 40 + .../hardware/audio/core/IBluetooth.aidl | 61 ++ .../hardware/audio/core/IBluetoothA2dp.aidl | 41 ++ .../hardware/audio/core/IBluetoothLe.aidl | 41 ++ .../android/hardware/audio/core/IConfig.aidl | 39 + .../android/hardware/audio/core/IModule.aidl | 119 +++ .../hardware/audio/core/IStreamCallback.aidl | 40 + .../hardware/audio/core/IStreamCommon.aidl | 44 ++ .../hardware/audio/core/IStreamIn.aidl | 58 ++ .../hardware/audio/core/IStreamOut.aidl | 54 ++ .../audio/core/IStreamOutEventCallback.aidl | 39 + .../hardware/audio/core/ITelephony.aidl | 56 ++ .../audio/core/MmapBufferDescriptor.aidl | 41 ++ .../hardware/audio/core/ModuleDebug.aidl | 39 + .../hardware/audio/core/StreamDescriptor.aidl | 93 +++ .../audio/core/SurroundSoundConfig.aidl | 43 ++ .../hardware/audio/core/VendorParameter.aidl | 39 + .../android.hardware.audio.effect/2/.hash | 1 + .../audio/effect/AcousticEchoCanceler.aidl | 45 ++ .../audio/effect/AutomaticGainControlV1.aidl | 46 ++ .../audio/effect/AutomaticGainControlV2.aidl | 51 ++ .../hardware/audio/effect/BassBoost.aidl | 44 ++ .../hardware/audio/effect/Capability.aidl | 39 + .../hardware/audio/effect/CommandId.aidl | 50 ++ .../audio/effect/DefaultExtension.aidl | 38 + .../hardware/audio/effect/Descriptor.aidl | 70 ++ .../hardware/audio/effect/Downmix.aidl | 49 ++ .../audio/effect/DynamicsProcessing.aidl | 115 +++ .../audio/effect/EnvironmentalReverb.aidl | 54 ++ .../hardware/audio/effect/Equalizer.aidl | 64 ++ .../android/hardware/audio/effect/Flags.aidl | 76 ++ .../audio/effect/HapticGenerator.aidl | 65 ++ .../hardware/audio/effect/IEffect.aidl | 57 ++ .../hardware/audio/effect/IFactory.aidl | 41 ++ .../audio/effect/LoudnessEnhancer.aidl | 44 ++ .../audio/effect/NoiseSuppression.aidl | 57 ++ .../hardware/audio/effect/Parameter.aidl | 99 +++ .../hardware/audio/effect/PresetReverb.aidl | 55 ++ .../hardware/audio/effect/Processing.aidl | 44 ++ .../android/hardware/audio/effect/Range.aidl | 139 ++++ .../hardware/audio/effect/Spatializer.aidl | 50 ++ .../android/hardware/audio/effect/State.aidl | 40 + .../audio/effect/VendorExtension.aidl | 38 + .../hardware/audio/effect/Virtualizer.aidl | 58 ++ .../hardware/audio/effect/Visualizer.aidl | 65 ++ .../android/hardware/audio/effect/Volume.aidl | 45 ++ audio/aidl/sounddose/Android.bp | 6 +- .../android.hardware.audio.sounddose/2/.hash | 1 + .../audio/sounddose/ISoundDoseFactory.aidl | 38 + automotive/audiocontrol/aidl/Android.bp | 9 +- .../4/.hash | 1 + .../audiocontrol/AudioFocusChange.aidl | 45 ++ .../audiocontrol/AudioGainConfigInfo.aidl | 40 + .../automotive/audiocontrol/DuckingInfo.aidl | 42 ++ .../audiocontrol/IAudioControl.aidl | 79 ++ .../audiocontrol/IAudioGainCallback.aidl | 38 + .../audiocontrol/IFocusListener.aidl | 41 ++ .../audiocontrol/IModuleChangeCallback.aidl | 38 + .../automotive/audiocontrol/MutingInfo.aidl | 40 + .../automotive/audiocontrol/Reasons.aidl | 47 ++ automotive/remoteaccess/Android.bp | 7 +- .../2/.hash | 1 + .../automotive/remoteaccess/ApState.aidl | 39 + .../remoteaccess/IRemoteAccess.aidl | 50 ++ .../remoteaccess/IRemoteTaskCallback.aidl | 38 + .../automotive/remoteaccess/ScheduleInfo.aidl | 45 ++ .../automotive/remoteaccess/TaskType.aidl | 39 + automotive/vehicle/aidl/Android.bp | 6 +- .../3/.hash | 1 + .../automotive/vehicle/GetValueRequest.aidl | 39 + .../automotive/vehicle/GetValueRequests.aidl | 39 + .../automotive/vehicle/GetValueResult.aidl | 40 + .../automotive/vehicle/GetValueResults.aidl | 39 + .../hardware/automotive/vehicle/IVehicle.aidl | 46 ++ .../automotive/vehicle/IVehicleCallback.aidl | 41 ++ .../automotive/vehicle/RawPropValues.aidl | 42 ++ .../automotive/vehicle/SetValueRequest.aidl | 39 + .../automotive/vehicle/SetValueRequests.aidl | 39 + .../automotive/vehicle/SetValueResult.aidl | 39 + .../automotive/vehicle/SetValueResults.aidl | 39 + .../automotive/vehicle/StatusCode.aidl | 48 ++ .../automotive/vehicle/SubscribeOptions.aidl | 42 ++ .../automotive/vehicle/VehicleAreaConfig.aidl | 47 ++ .../automotive/vehicle/VehiclePropConfig.aidl | 45 ++ .../vehicle/VehiclePropConfigs.aidl | 39 + .../automotive/vehicle/VehiclePropError.aidl | 40 + .../automotive/vehicle/VehiclePropErrors.aidl | 39 + .../automotive/vehicle/VehiclePropValue.aidl | 42 ++ .../automotive/vehicle/VehiclePropValues.aidl | 40 + .../vehicle/VehiclePropertyAccess.aidl | 41 ++ .../vehicle/VehiclePropertyChangeMode.aidl | 40 + .../vehicle/VehiclePropertyStatus.aidl | 40 + automotive/vehicle/aidl_property/Android.bp | 7 +- .../3/.hash | 1 + .../AutomaticEmergencyBrakingState.aidl | 41 ++ .../vehicle/BlindSpotWarningState.aidl | 40 + .../vehicle/CameraServiceState.aidl | 41 ++ .../automotive/vehicle/CreateUserRequest.aidl | 41 ++ .../vehicle/CreateUserResponse.aidl | 40 + .../automotive/vehicle/CreateUserStatus.aidl | 39 + .../CrossTrafficMonitoringWarningState.aidl | 45 ++ .../vehicle/CruiseControlCommand.aidl | 43 ++ .../vehicle/CruiseControlState.aidl | 43 ++ .../automotive/vehicle/CruiseControlType.aidl | 41 ++ .../automotive/vehicle/CustomInputType.aidl | 47 ++ .../vehicle/DiagnosticFloatSensorIndex.aidl | 108 +++ .../vehicle/DiagnosticIntegerSensorIndex.aidl | 69 ++ .../vehicle/DriverDistractionState.aidl | 40 + .../vehicle/DriverDistractionWarning.aidl | 40 + .../DriverDrowsinessAttentionState.aidl | 47 ++ .../DriverDrowsinessAttentionWarning.aidl | 40 + .../ElectronicStabilityControlState.aidl | 40 + .../ElectronicTollCollectionCardStatus.aidl | 41 ++ .../ElectronicTollCollectionCardType.aidl | 40 + .../vehicle/EmergencyLaneKeepAssistState.aidl | 44 ++ .../automotive/vehicle/ErrorState.aidl | 43 ++ .../automotive/vehicle/EvChargeState.aidl | 42 ++ .../automotive/vehicle/EvConnectorType.aidl | 50 ++ .../vehicle/EvRegenerativeBrakingState.aidl | 41 ++ .../automotive/vehicle/EvStoppingMode.aidl | 41 ++ .../vehicle/EvsServiceRequestIndex.aidl | 39 + .../automotive/vehicle/EvsServiceState.aidl | 39 + .../automotive/vehicle/EvsServiceType.aidl | 46 ++ .../vehicle/ForwardCollisionWarningState.aidl | 40 + .../hardware/automotive/vehicle/FuelType.aidl | 50 ++ .../vehicle/GsrComplianceRequirementType.aidl | 39 + .../vehicle/HandsOnDetectionDriverState.aidl | 40 + .../vehicle/HandsOnDetectionWarning.aidl | 40 + .../vehicle/ImpactSensorLocation.aidl | 44 ++ .../vehicle/InitialUserInfoRequest.aidl | 40 + .../vehicle/InitialUserInfoRequestType.aidl | 42 ++ .../vehicle/InitialUserInfoResponse.aidl | 42 ++ .../InitialUserInfoResponseAction.aidl | 40 + .../vehicle/LaneCenteringAssistCommand.aidl | 39 + .../vehicle/LaneCenteringAssistState.aidl | 43 ++ .../vehicle/LaneDepartureWarningState.aidl | 41 ++ .../vehicle/LaneKeepAssistState.aidl | 42 ++ .../vehicle/LocationCharacterization.aidl | 46 ++ ...owSpeedAutomaticEmergencyBrakingState.aidl | 41 ++ .../LowSpeedCollisionWarningState.aidl | 40 + .../vehicle/Obd2CommonIgnitionMonitors.aidl | 43 ++ .../Obd2CompressionIgnitionMonitors.aidl | 55 ++ .../vehicle/Obd2FuelSystemStatus.aidl | 42 ++ .../automotive/vehicle/Obd2FuelType.aidl | 61 ++ .../vehicle/Obd2IgnitionMonitorKind.aidl | 39 + .../vehicle/Obd2SecondaryAirStatus.aidl | 41 ++ .../vehicle/Obd2SparkIgnitionMonitors.aidl | 59 ++ .../automotive/vehicle/PortLocationType.aidl | 44 ++ .../vehicle/ProcessTerminationReason.aidl | 40 + .../automotive/vehicle/RemoveUserRequest.aidl | 40 + .../automotive/vehicle/RotaryInputType.aidl | 39 + .../vehicle/SwitchUserMessageType.aidl | 43 ++ .../automotive/vehicle/SwitchUserRequest.aidl | 41 ++ .../vehicle/SwitchUserResponse.aidl | 41 ++ .../automotive/vehicle/SwitchUserStatus.aidl | 39 + .../automotive/vehicle/TrailerState.aidl | 41 ++ .../UserIdentificationAssociation.aidl | 39 + ...UserIdentificationAssociationSetValue.aidl | 41 ++ .../UserIdentificationAssociationType.aidl | 43 ++ .../UserIdentificationAssociationValue.aidl | 41 ++ .../vehicle/UserIdentificationGetRequest.aidl | 41 ++ .../vehicle/UserIdentificationResponse.aidl | 41 ++ .../UserIdentificationSetAssociation.aidl | 39 + .../vehicle/UserIdentificationSetRequest.aidl | 41 ++ .../hardware/automotive/vehicle/UserInfo.aidl | 45 ++ .../automotive/vehicle/UsersInfo.aidl | 40 + .../vehicle/VehicleAirbagLocation.aidl | 43 ++ .../vehicle/VehicleApPowerBootupReason.aidl | 41 ++ .../VehicleApPowerStateConfigFlag.aidl | 40 + .../vehicle/VehicleApPowerStateReport.aidl | 47 ++ .../vehicle/VehicleApPowerStateReq.aidl | 41 ++ .../vehicle/VehicleApPowerStateReqIndex.aidl | 39 + .../VehicleApPowerStateShutdownParam.aidl | 44 ++ .../automotive/vehicle/VehicleArea.aidl | 45 ++ .../automotive/vehicle/VehicleAreaDoor.aidl | 45 ++ .../automotive/vehicle/VehicleAreaMirror.aidl | 40 + .../automotive/vehicle/VehicleAreaSeat.aidl | 47 ++ .../automotive/vehicle/VehicleAreaWheel.aidl | 42 ++ .../automotive/vehicle/VehicleAreaWindow.aidl | 47 ++ .../vehicle/VehicleAutonomousState.aidl | 43 ++ .../automotive/vehicle/VehicleDisplay.aidl | 42 ++ .../automotive/vehicle/VehicleGear.aidl | 51 ++ .../vehicle/VehicleHvacFanDirection.aidl | 43 ++ .../vehicle/VehicleHwKeyInputAction.aidl | 39 + .../VehicleHwMotionButtonStateFlag.aidl | 44 ++ .../vehicle/VehicleHwMotionInputAction.aidl | 50 ++ .../vehicle/VehicleHwMotionInputSource.aidl | 53 ++ .../vehicle/VehicleHwMotionToolType.aidl | 42 ++ .../vehicle/VehicleIgnitionState.aidl | 43 ++ .../automotive/vehicle/VehicleLightState.aidl | 40 + .../vehicle/VehicleLightSwitch.aidl | 41 ++ .../automotive/vehicle/VehicleOilLevel.aidl | 42 ++ .../automotive/vehicle/VehicleProperty.aidl | 304 ++++++++ .../vehicle/VehiclePropertyGroup.aidl | 41 ++ .../vehicle/VehiclePropertyType.aidl | 48 ++ .../vehicle/VehicleSeatOccupancyState.aidl | 40 + .../automotive/vehicle/VehicleTurnSignal.aidl | 40 + .../automotive/vehicle/VehicleUnit.aidl | 71 ++ .../vehicle/VehicleVendorPermission.aidl | 75 ++ ...msAvailabilityStateIntegerValuesIndex.aidl | 41 ++ .../VmsBaseMessageIntegerValuesIndex.aidl | 38 + .../automotive/vehicle/VmsMessageType.aidl | 54 ++ ...LayerAndPublisherIdIntegerValuesIndex.aidl | 42 ++ ...VmsMessageWithLayerIntegerValuesIndex.aidl | 41 ++ .../VmsOfferingMessageIntegerValuesIndex.aidl | 41 ++ ...ublisherInformationIntegerValuesIndex.aidl | 39 + ...StartSessionMessageIntegerValuesIndex.aidl | 40 + ...sSubscriptionsStateIntegerValuesIndex.aidl | 42 ++ .../vehicle/WindshieldWipersState.aidl | 41 ++ .../vehicle/WindshieldWipersSwitch.aidl | 52 ++ biometrics/common/aidl/Android.bp | 6 +- .../4/.hash | 1 + .../biometrics/common/AuthenticateReason.aidl | 63 ++ .../biometrics/common/CommonProps.aidl | 42 ++ .../biometrics/common/ComponentInfo.aidl | 43 ++ .../biometrics/common/DisplayState.aidl | 43 ++ .../hardware/biometrics/common/FoldState.aidl | 42 ++ .../common/ICancellationSignal.aidl | 39 + .../biometrics/common/OperationContext.aidl | 50 ++ .../biometrics/common/OperationReason.aidl | 41 ++ .../biometrics/common/OperationState.aidl | 49 ++ .../biometrics/common/SensorStrength.aidl | 41 ++ .../biometrics/common/WakeReason.aidl | 48 ++ biometrics/fingerprint/aidl/Android.bp | 9 +- .../4/.hash | 1 + .../biometrics/fingerprint/AcquiredInfo.aidl | 53 ++ .../biometrics/fingerprint/Error.aidl | 48 ++ .../fingerprint/FingerprintSensorType.aidl | 44 ++ .../biometrics/fingerprint/IFingerprint.aidl | 40 + .../biometrics/fingerprint/ISession.aidl | 69 ++ .../fingerprint/ISessionCallback.aidl | 54 ++ .../fingerprint/PointerContext.aidl | 47 ++ .../fingerprint/SensorLocation.aidl | 47 ++ .../biometrics/fingerprint/SensorProps.aidl | 46 ++ .../biometrics/fingerprint/SensorShape.aidl | 40 + .../fingerprint/TouchDetectionParameters.aidl | 40 + bluetooth/audio/aidl/Android.bp | 10 +- .../android.hardware.bluetooth.audio/4/.hash | 1 + .../bluetooth/audio/A2dpConfiguration.aidl | 41 ++ .../audio/A2dpConfigurationHint.aidl | 41 ++ .../audio/A2dpRemoteCapabilities.aidl | 40 + .../hardware/bluetooth/audio/A2dpStatus.aidl | 65 ++ .../audio/A2dpStreamConfiguration.aidl | 41 ++ .../bluetooth/audio/AacCapabilities.aidl | 43 ++ .../bluetooth/audio/AacConfiguration.aidl | 43 ++ .../bluetooth/audio/AacObjectType.aidl | 41 ++ .../audio/AptxAdaptiveCapabilities.aidl | 46 ++ .../audio/AptxAdaptiveChannelMode.aidl | 42 ++ .../audio/AptxAdaptiveConfiguration.aidl | 46 ++ .../audio/AptxAdaptiveInputMode.aidl | 39 + .../audio/AptxAdaptiveLeCapabilities.aidl | 42 ++ .../audio/AptxAdaptiveLeConfiguration.aidl | 43 ++ .../audio/AptxAdaptiveTimeToPlay.aidl | 43 ++ .../bluetooth/audio/AptxCapabilities.aidl | 40 + .../bluetooth/audio/AptxConfiguration.aidl | 40 + .../hardware/bluetooth/audio/AptxMode.aidl | 41 ++ .../bluetooth/audio/AptxSinkBuffering.aidl | 43 ++ .../bluetooth/audio/AudioCapabilities.aidl | 40 + .../bluetooth/audio/AudioConfiguration.aidl | 43 ++ .../bluetooth/audio/AudioContext.aidl | 50 ++ .../bluetooth/audio/AudioLocation.aidl | 40 + .../bluetooth/audio/BluetoothAudioStatus.aidl | 42 ++ .../bluetooth/audio/BroadcastCapability.aidl | 50 ++ .../hardware/bluetooth/audio/ChannelMode.aidl | 41 ++ .../bluetooth/audio/CodecCapabilities.aidl | 54 ++ .../bluetooth/audio/CodecConfiguration.aidl | 59 ++ .../hardware/bluetooth/audio/CodecId.aidl | 53 ++ .../hardware/bluetooth/audio/CodecInfo.aidl | 64 ++ .../bluetooth/audio/CodecParameters.aidl | 45 ++ .../audio/CodecSpecificCapabilitiesLtv.aidl | 83 +++ .../audio/CodecSpecificConfigurationLtv.aidl | 101 +++ .../hardware/bluetooth/audio/CodecType.aidl | 49 ++ .../bluetooth/audio/ConfigurationFlags.aidl | 45 ++ .../bluetooth/audio/HfpConfiguration.aidl | 41 ++ .../bluetooth/audio/IBluetoothAudioPort.aidl | 44 ++ .../audio/IBluetoothAudioProvider.aidl | 199 +++++ .../audio/IBluetoothAudioProviderFactory.aidl | 46 ++ .../hardware/bluetooth/audio/LatencyMode.aidl | 42 ++ .../bluetooth/audio/Lc3Capabilities.aidl | 43 ++ .../bluetooth/audio/Lc3Configuration.aidl | 43 ++ .../bluetooth/audio/LdacCapabilities.aidl | 41 ++ .../bluetooth/audio/LdacChannelMode.aidl | 41 ++ .../bluetooth/audio/LdacConfiguration.aidl | 41 ++ .../bluetooth/audio/LdacQualityIndex.aidl | 41 ++ .../audio/LeAudioAseConfiguration.aidl | 50 ++ .../audio/LeAudioBisConfiguration.aidl | 41 ++ .../audio/LeAudioBroadcastConfiguration.aidl | 48 ++ .../LeAudioCodecCapabilitiesSetting.aidl | 40 + .../audio/LeAudioCodecConfiguration.aidl | 44 ++ .../bluetooth/audio/LeAudioConfiguration.aidl | 59 ++ .../hardware/bluetooth/audio/MetadataLtv.aidl | 50 ++ .../bluetooth/audio/OpusCapabilities.aidl | 43 ++ .../bluetooth/audio/OpusConfiguration.aidl | 43 ++ .../bluetooth/audio/PcmCapabilities.aidl | 41 ++ .../bluetooth/audio/PcmConfiguration.aidl | 41 ++ .../android/hardware/bluetooth/audio/Phy.aidl | 41 ++ .../bluetooth/audio/PresentationPosition.aidl | 45 ++ .../bluetooth/audio/SbcAllocMethod.aidl | 39 + .../bluetooth/audio/SbcCapabilities.aidl | 45 ++ .../bluetooth/audio/SbcChannelMode.aidl | 42 ++ .../bluetooth/audio/SbcConfiguration.aidl | 45 ++ .../hardware/bluetooth/audio/SessionType.aidl | 52 ++ .../bluetooth/audio/UnicastCapability.aidl | 52 ++ bluetooth/finder/aidl/Android.bp | 8 + .../android.hardware.bluetooth.finder/1/.hash | 1 + .../hardware/bluetooth/finder/Eid.aidl | 38 + .../bluetooth/finder/IBluetoothFinder.aidl | 40 + bluetooth/lmp_event/aidl/Android.bp | 8 + .../1/.hash | 1 + .../bluetooth/lmp_event/AddressType.aidl | 39 + .../bluetooth/lmp_event/Direction.aidl | 39 + .../lmp_event/IBluetoothLmpEvent.aidl | 39 + .../lmp_event/IBluetoothLmpEventCallback.aidl | 39 + .../bluetooth/lmp_event/LmpEventId.aidl | 39 + .../bluetooth/lmp_event/Timestamp.aidl | 39 + bluetooth/ranging/aidl/Android.bp | 8 + .../1/.hash | 1 + .../bluetooth/ranging/AddressType.aidl | 39 + .../BluetoothChannelSoundingParameters.aidl | 49 ++ .../ranging/ChannelSoudingRawData.aidl | 48 ++ .../ChannelSoundingSingleSideData.aidl | 46 ++ .../bluetooth/ranging/ComplexNumber.aidl | 39 + .../hardware/bluetooth/ranging/Config.aidl | 41 ++ .../bluetooth/ranging/CsSecurityLevel.aidl | 42 ++ .../bluetooth/ranging/DeviceAddress.aidl | 39 + .../ranging/IBluetoothChannelSounding.aidl | 41 ++ .../IBluetoothChannelSoundingSession.aidl | 42 ++ ...uetoothChannelSoundingSessionCallback.aidl | 42 ++ .../bluetooth/ranging/LocationType.aidl | 40 + .../hardware/bluetooth/ranging/ModeType.aidl | 41 ++ .../hardware/bluetooth/ranging/Nadm.aidl | 45 ++ .../bluetooth/ranging/RangingResult.aidl | 48 ++ .../hardware/bluetooth/ranging/Reason.aidl | 42 ++ .../bluetooth/ranging/ResultType.aidl | 47 ++ .../hardware/bluetooth/ranging/Role.aidl | 39 + .../hardware/bluetooth/ranging/RttType.aidl | 44 ++ .../bluetooth/ranging/SessionType.aidl | 39 + .../hardware/bluetooth/ranging/SightType.aidl | 40 + .../bluetooth/ranging/StepTonePct.aidl | 53 ++ .../bluetooth/ranging/SubModeType.aidl | 41 ++ .../bluetooth/ranging/VendorSpecificData.aidl | 39 + broadcastradio/aidl/Android.bp | 7 +- .../android.hardware.broadcastradio/2/.hash | 1 + .../broadcastradio/AmFmBandRange.aidl | 41 ++ .../broadcastradio/AmFmRegionConfig.aidl | 44 ++ .../hardware/broadcastradio/Announcement.aidl | 40 + .../broadcastradio/AnnouncementType.aidl | 46 ++ .../hardware/broadcastradio/ConfigFlag.aidl | 51 ++ .../broadcastradio/DabTableEntry.aidl | 39 + .../hardware/broadcastradio/HdSubChannel.aidl | 45 ++ .../broadcastradio/IAnnouncementListener.aidl | 38 + .../broadcastradio/IBroadcastRadio.aidl | 58 ++ .../hardware/broadcastradio/ICloseHandle.aidl | 38 + .../broadcastradio/ITunerCallback.aidl | 43 ++ .../broadcastradio/IdentifierType.aidl | 59 ++ .../hardware/broadcastradio/Metadata.aidl | 61 ++ .../broadcastradio/ProgramFilter.aidl | 41 ++ .../broadcastradio/ProgramIdentifier.aidl | 39 + .../hardware/broadcastradio/ProgramInfo.aidl | 54 ++ .../broadcastradio/ProgramListChunk.aidl | 41 ++ .../broadcastradio/ProgramSelector.aidl | 39 + .../hardware/broadcastradio/Properties.aidl | 43 ++ .../hardware/broadcastradio/Result.aidl | 45 ++ .../broadcastradio/VendorKeyValue.aidl | 39 + camera/device/aidl/Android.bp | 12 +- .../android.hardware.camera.device/3/.hash | 1 + .../hardware/camera/device/BufferCache.aidl | 39 + .../hardware/camera/device/BufferRequest.aidl | 39 + .../camera/device/BufferRequestStatus.aidl | 42 ++ .../hardware/camera/device/BufferStatus.aidl | 39 + .../hardware/camera/device/CameraBlob.aidl | 39 + .../hardware/camera/device/CameraBlobId.aidl | 39 + .../camera/device/CameraMetadata.aidl | 38 + .../device/CameraOfflineSessionInfo.aidl | 39 + .../camera/device/CaptureRequest.aidl | 45 ++ .../hardware/camera/device/CaptureResult.aidl | 44 ++ .../camera/device/ConfigureStreamsRet.aidl | 38 + .../hardware/camera/device/ErrorCode.aidl | 41 ++ .../hardware/camera/device/ErrorMsg.aidl | 40 + .../hardware/camera/device/HalStream.aidl | 46 ++ .../hardware/camera/device/ICameraDevice.aidl | 49 ++ .../camera/device/ICameraDeviceCallback.aidl | 41 ++ .../camera/device/ICameraDeviceSession.aidl | 49 ++ .../device/ICameraInjectionSession.aidl | 39 + .../camera/device/ICameraOfflineSession.aidl | 40 + .../hardware/camera/device/NotifyMsg.aidl | 39 + .../camera/device/OfflineRequest.aidl | 39 + .../hardware/camera/device/OfflineStream.aidl | 40 + .../camera/device/PhysicalCameraMetadata.aidl | 40 + .../camera/device/PhysicalCameraSetting.aidl | 40 + .../camera/device/RequestTemplate.aidl | 44 ++ .../hardware/camera/device/ShutterMsg.aidl | 40 + .../hardware/camera/device/Stream.aidl | 52 ++ .../hardware/camera/device/StreamBuffer.aidl | 43 ++ .../device/StreamBufferRequestError.aidl | 41 ++ .../camera/device/StreamBufferRet.aidl | 39 + .../camera/device/StreamBuffersVal.aidl | 39 + .../camera/device/StreamConfiguration.aidl | 43 ++ .../device/StreamConfigurationMode.aidl | 47 ++ .../camera/device/StreamRotation.aidl | 41 ++ .../hardware/camera/device/StreamType.aidl | 39 + camera/metadata/aidl/Android.bp | 6 +- .../android.hardware.camera.metadata/3/.hash | 1 + .../camera/metadata/AutomotiveLensFacing.aidl | 56 ++ .../camera/metadata/AutomotiveLocation.aidl | 52 ++ .../camera/metadata/BlackLevelLock.aidl | 43 ++ .../metadata/CameraMetadataSection.aidl | 76 ++ .../metadata/CameraMetadataSectionStart.aidl | 76 ++ .../camera/metadata/CameraMetadataTag.aidl | 356 +++++++++ .../ColorCorrectionAberrationMode.aidl | 44 ++ .../camera/metadata/ColorCorrectionMode.aidl | 44 ++ .../metadata/ControlAeAntibandingMode.aidl | 45 ++ .../camera/metadata/ControlAeLock.aidl | 43 ++ .../metadata/ControlAeLockAvailable.aidl | 43 ++ .../camera/metadata/ControlAeMode.aidl | 48 ++ .../metadata/ControlAePrecaptureTrigger.aidl | 44 ++ .../camera/metadata/ControlAeState.aidl | 47 ++ .../camera/metadata/ControlAfMode.aidl | 47 ++ .../camera/metadata/ControlAfSceneChange.aidl | 43 ++ .../camera/metadata/ControlAfState.aidl | 48 ++ .../camera/metadata/ControlAfTrigger.aidl | 44 ++ .../camera/metadata/ControlAutoframing.aidl | 44 ++ .../metadata/ControlAutoframingAvailable.aidl | 43 ++ .../metadata/ControlAutoframingState.aidl | 44 ++ .../camera/metadata/ControlAwbLock.aidl | 43 ++ .../metadata/ControlAwbLockAvailable.aidl | 43 ++ .../camera/metadata/ControlAwbMode.aidl | 50 ++ .../camera/metadata/ControlAwbState.aidl | 45 ++ .../camera/metadata/ControlCaptureIntent.aidl | 49 ++ .../camera/metadata/ControlEffectMode.aidl | 50 ++ .../camera/metadata/ControlEnableZsl.aidl | 43 ++ .../metadata/ControlExtendedSceneMode.aidl | 45 ++ .../metadata/ControlLowLightBoostState.aidl | 43 ++ .../hardware/camera/metadata/ControlMode.aidl | 46 ++ .../camera/metadata/ControlSceneMode.aidl | 63 ++ .../metadata/ControlSettingsOverride.aidl | 44 ++ .../ControlVideoStabilizationMode.aidl | 44 ++ .../camera/metadata/DemosaicMode.aidl | 43 ++ ...pthAvailableDepthStreamConfigurations.aidl | 43 ++ ...StreamConfigurationsMaximumResolution.aidl | 43 ++ ...lableDynamicDepthStreamConfigurations.aidl | 43 ++ ...StreamConfigurationsMaximumResolution.aidl | 43 ++ .../metadata/DepthDepthIsExclusive.aidl | 43 ++ .../metadata/DistortionCorrectionMode.aidl | 44 ++ .../hardware/camera/metadata/EdgeMode.aidl | 45 ++ .../camera/metadata/FlashInfoAvailable.aidl | 43 ++ .../hardware/camera/metadata/FlashMode.aidl | 44 ++ .../hardware/camera/metadata/FlashState.aidl | 46 ++ ...HeicAvailableHeicStreamConfigurations.aidl | 43 ++ ...StreamConfigurationsMaximumResolution.aidl | 43 ++ .../camera/metadata/HeicInfoSupported.aidl | 43 ++ .../camera/metadata/HotPixelMode.aidl | 44 ++ .../InfoSupportedBufferManagementVersion.aidl | 43 ++ .../metadata/InfoSupportedHardwareLevel.aidl | 46 ++ ...egrAvailableJpegRStreamConfigurations.aidl | 43 ++ ...StreamConfigurationsMaximumResolution.aidl | 43 ++ .../camera/metadata/LedAvailableLeds.aidl | 42 ++ .../hardware/camera/metadata/LedTransmit.aidl | 43 ++ .../hardware/camera/metadata/LensFacing.aidl | 44 ++ .../LensInfoFocusDistanceCalibration.aidl | 44 ++ .../LensOpticalStabilizationMode.aidl | 43 ++ .../camera/metadata/LensPoseReference.aidl | 45 ++ .../hardware/camera/metadata/LensState.aidl | 43 ++ .../LogicalMultiCameraSensorSyncType.aidl | 43 ++ .../camera/metadata/NoiseReductionMode.aidl | 46 ++ .../camera/metadata/QuirksPartialResult.aidl | 43 ++ .../RequestAvailableCapabilities.aidl | 62 ++ ...RequestAvailableColorSpaceProfilesMap.aidl | 45 ++ ...questAvailableDynamicRangeProfilesMap.aidl | 54 ++ .../camera/metadata/RequestMetadataMode.aidl | 43 ++ .../hardware/camera/metadata/RequestType.aidl | 43 ++ .../metadata/ScalerAvailableFormats.aidl | 51 ++ ...ilableRecommendedStreamConfigurations.aidl | 50 ++ .../ScalerAvailableStreamConfigurations.aidl | 43 ++ ...StreamConfigurationsMaximumResolution.aidl | 43 ++ .../ScalerAvailableStreamUseCases.aidl | 49 ++ .../camera/metadata/ScalerCroppingType.aidl | 43 ++ .../ScalerMultiResolutionStreamSupported.aidl | 43 ++ ...raMultiResolutionStreamConfigurations.aidl | 43 ++ .../camera/metadata/ScalerRotateAndCrop.aidl | 46 ++ .../SensorInfoColorFilterArrangement.aidl | 48 ++ .../SensorInfoLensShadingApplied.aidl | 43 ++ .../metadata/SensorInfoTimestampSource.aidl | 43 ++ .../camera/metadata/SensorPixelMode.aidl | 43 ++ .../metadata/SensorRawBinningFactorUsed.aidl | 43 ++ .../metadata/SensorReadoutTimestamp.aidl | 43 ++ .../metadata/SensorReferenceIlluminant1.aidl | 60 ++ .../metadata/SensorTestPatternMode.aidl | 48 ++ .../hardware/camera/metadata/ShadingMode.aidl | 44 ++ .../metadata/StatisticsFaceDetectMode.aidl | 44 ++ .../metadata/StatisticsHistogramMode.aidl | 43 ++ .../metadata/StatisticsHotPixelMapMode.aidl | 43 ++ .../StatisticsLensShadingMapMode.aidl | 43 ++ .../metadata/StatisticsOisDataMode.aidl | 43 ++ .../metadata/StatisticsSceneFlicker.aidl | 44 ++ .../metadata/StatisticsSharpnessMapMode.aidl | 43 ++ .../camera/metadata/SyncFrameNumber.aidl | 43 ++ .../camera/metadata/SyncMaxLatency.aidl | 43 ++ .../hardware/camera/metadata/TonemapMode.aidl | 46 ++ .../camera/metadata/TonemapPresetCurve.aidl | 43 ++ camera/provider/aidl/Android.bp | 9 +- .../android.hardware.camera.provider/3/.hash | 1 + .../CameraIdAndStreamCombination.aidl | 39 + .../ConcurrentCameraIdCombination.aidl | 38 + .../camera/provider/ICameraProvider.aidl | 48 ++ .../provider/ICameraProviderCallback.aidl | 40 + compatibility_matrices/Android.bp | 11 + compatibility_matrices/Android.mk | 3 +- .../compatibility_matrix.202504.xml | 693 ++++++++++++++++++ contexthub/aidl/Android.bp | 6 +- .../android.hardware.contexthub/3/.hash | 1 + .../hardware/contexthub/AsyncEventType.aidl | 38 + .../hardware/contexthub/ContextHubInfo.aidl | 49 ++ .../contexthub/ContextHubMessage.aidl | 44 ++ .../hardware/contexthub/ErrorCode.aidl | 42 ++ .../hardware/contexthub/HostEndpointInfo.aidl | 47 ++ .../hardware/contexthub/IContextHub.aidl | 53 ++ .../contexthub/IContextHubCallback.aidl | 46 ++ .../contexthub/MessageDeliveryStatus.aidl | 39 + .../contexthub/NanSessionRequest.aidl | 38 + .../contexthub/NanSessionStateUpdate.aidl | 38 + .../hardware/contexthub/NanoappBinary.aidl | 46 ++ .../hardware/contexthub/NanoappInfo.aidl | 42 ++ .../contexthub/NanoappRpcService.aidl | 39 + .../android/hardware/contexthub/Setting.aidl | 44 ++ gnss/aidl/Android.bp | 6 +- .../aidl_api/android.hardware.gnss/4/.hash | 1 + .../hardware/gnss/BlocklistedSource.aidl | 40 + .../hardware/gnss/CorrelationVector.aidl | 42 ++ .../hardware/gnss/ElapsedRealtime.aidl | 43 ++ .../4/android/hardware/gnss/GnssClock.aidl | 56 ++ .../hardware/gnss/GnssConstellationType.aidl | 46 ++ .../4/android/hardware/gnss/GnssData.aidl | 49 ++ .../4/android/hardware/gnss/GnssLocation.aidl | 58 ++ .../hardware/gnss/GnssMeasurement.aidl | 99 +++ .../hardware/gnss/GnssMultipathIndicator.aidl | 41 ++ .../android/hardware/gnss/GnssPowerStats.aidl | 45 ++ .../android/hardware/gnss/GnssSignalType.aidl | 58 ++ .../4/android/hardware/gnss/IAGnss.aidl | 50 ++ .../android/hardware/gnss/IAGnssCallback.aidl | 54 ++ .../4/android/hardware/gnss/IAGnssRil.aidl | 81 ++ .../hardware/gnss/IAGnssRilCallback.aidl | 40 + .../4/android/hardware/gnss/IGnss.aidl | 103 +++ .../hardware/gnss/IGnssAntennaInfo.aidl | 40 + .../gnss/IGnssAntennaInfoCallback.aidl | 61 ++ .../android/hardware/gnss/IGnssBatching.aidl | 51 ++ .../hardware/gnss/IGnssBatchingCallback.aidl | 39 + .../android/hardware/gnss/IGnssCallback.aidl | 97 +++ .../hardware/gnss/IGnssConfiguration.aidl | 52 ++ .../4/android/hardware/gnss/IGnssDebug.aidl | 88 +++ .../android/hardware/gnss/IGnssGeofence.aidl | 43 ++ .../hardware/gnss/IGnssGeofenceCallback.aidl | 55 ++ .../gnss/IGnssMeasurementCallback.aidl | 39 + .../gnss/IGnssMeasurementInterface.aidl | 47 ++ .../gnss/IGnssNavigationMessageCallback.aidl | 74 ++ .../gnss/IGnssNavigationMessageInterface.aidl | 40 + .../hardware/gnss/IGnssPowerIndication.aidl | 40 + .../gnss/IGnssPowerIndicationCallback.aidl | 46 ++ .../4/android/hardware/gnss/IGnssPsds.aidl | 40 + .../hardware/gnss/IGnssPsdsCallback.aidl | 39 + .../4/android/hardware/gnss/PsdsType.aidl | 41 ++ .../hardware/gnss/SatelliteClockInfo.aidl | 41 ++ .../hardware/gnss/SatellitePositionEcef.aidl | 42 ++ .../4/android/hardware/gnss/SatellitePvt.aidl | 59 ++ .../hardware/gnss/SatelliteVelocityEcef.aidl | 42 ++ .../IMeasurementCorrectionsCallback.aidl | 42 ++ .../IMeasurementCorrectionsInterface.aidl | 40 + .../MeasurementCorrections.aidl | 48 ++ .../ReflectingPlane.aidl | 42 ++ .../SingleSatCorrection.aidl | 63 ++ .../IGnssVisibilityControl.aidl | 40 + .../IGnssVisibilityControlCallback.aidl | 75 ++ graphics/common/aidl/Android.bp | 6 +- .../android.hardware.graphics.common/5/.hash | 1 + .../graphics/common/AlphaInterpretation.aidl | 40 + .../hardware/graphics/common/BlendMode.aidl | 42 ++ .../hardware/graphics/common/BufferUsage.aidl | 65 ++ .../graphics/common/ChromaSiting.aidl | 44 ++ .../graphics/common/ColorTransform.aidl | 45 ++ .../hardware/graphics/common/Compression.aidl | 40 + .../hardware/graphics/common/Cta861_3.aidl | 40 + .../hardware/graphics/common/Dataspace.aidl | 101 +++ .../common/DisplayDecorationSupport.aidl | 40 + .../graphics/common/DisplayHotplugEvent.aidl | 42 ++ .../graphics/common/ExtendableType.aidl | 40 + .../hardware/graphics/common/FRect.aidl | 42 ++ .../graphics/common/HardwareBuffer.aidl | 43 ++ .../common/HardwareBufferDescription.aidl | 44 ++ .../android/hardware/graphics/common/Hdr.aidl | 44 ++ .../common/HdrConversionCapability.aidl | 40 + .../common/HdrConversionStrategy.aidl | 40 + .../hardware/graphics/common/Interlaced.aidl | 41 ++ .../hardware/graphics/common/PixelFormat.aidl | 71 ++ .../hardware/graphics/common/PlaneLayout.aidl | 47 ++ .../graphics/common/PlaneLayoutComponent.aidl | 41 ++ .../common/PlaneLayoutComponentType.aidl | 46 ++ .../hardware/graphics/common/Point.aidl | 40 + .../hardware/graphics/common/Rect.aidl | 42 ++ .../hardware/graphics/common/Smpte2086.aidl | 44 ++ .../graphics/common/StandardMetadataType.aidl | 62 ++ .../hardware/graphics/common/Transform.aidl | 44 ++ .../hardware/graphics/common/XyColor.aidl | 40 + graphics/composer/aidl/Android.bp | 9 +- .../3/.hash | 1 + .../hardware/graphics/composer3/Buffer.aidl | 40 + .../graphics/composer3/Capability.aidl | 49 ++ .../composer3/ChangedCompositionLayer.aidl | 39 + .../composer3/ChangedCompositionTypes.aidl | 39 + .../graphics/composer3/ClientTarget.aidl | 41 ++ .../composer3/ClientTargetProperty.aidl | 39 + .../ClientTargetPropertyWithBrightness.aidl | 41 ++ .../composer3/ClockMonotonicTimestamp.aidl | 38 + .../hardware/graphics/composer3/Color.aidl | 41 ++ .../graphics/composer3/ColorMode.aidl | 51 ++ .../graphics/composer3/CommandError.aidl | 39 + .../composer3/CommandResultPayload.aidl | 44 ++ .../graphics/composer3/Composition.aidl | 45 ++ .../graphics/composer3/ContentType.aidl | 42 ++ .../graphics/composer3/DimmingStage.aidl | 40 + .../graphics/composer3/DisplayAttribute.aidl | 44 ++ .../graphics/composer3/DisplayBrightness.aidl | 39 + .../graphics/composer3/DisplayCapability.aidl | 46 ++ .../graphics/composer3/DisplayCommand.aidl | 49 ++ .../composer3/DisplayConfiguration.aidl | 48 ++ .../composer3/DisplayConnectionType.aidl | 39 + .../composer3/DisplayContentSample.aidl | 42 ++ .../DisplayContentSamplingAttributes.aidl | 40 + .../composer3/DisplayIdentification.aidl | 39 + .../graphics/composer3/DisplayRequest.aidl | 48 ++ .../composer3/FormatColorComponent.aidl | 41 ++ .../graphics/composer3/HdrCapabilities.aidl | 41 ++ .../graphics/composer3/IComposer.aidl | 40 + .../graphics/composer3/IComposerCallback.aidl | 48 ++ .../graphics/composer3/IComposerClient.aidl | 101 +++ .../graphics/composer3/LayerBrightness.aidl | 38 + .../graphics/composer3/LayerCommand.aidl | 60 ++ .../LayerLifecycleBatchCommandType.aidl | 40 + .../graphics/composer3/OverlayProperties.aidl | 45 ++ .../composer3/ParcelableBlendMode.aidl | 38 + .../composer3/ParcelableComposition.aidl | 38 + .../composer3/ParcelableDataspace.aidl | 38 + .../composer3/ParcelableTransform.aidl | 38 + .../graphics/composer3/PerFrameMetadata.aidl | 39 + .../composer3/PerFrameMetadataBlob.aidl | 39 + .../composer3/PerFrameMetadataKey.aidl | 50 ++ .../graphics/composer3/PlaneAlpha.aidl | 38 + .../graphics/composer3/PowerMode.aidl | 42 ++ .../graphics/composer3/PresentFence.aidl | 39 + .../graphics/composer3/PresentOrValidate.aidl | 44 ++ .../composer3/ReadbackBufferAttributes.aidl | 39 + .../RefreshRateChangedDebugData.aidl | 40 + .../graphics/composer3/ReleaseFences.aidl | 44 ++ .../graphics/composer3/RenderIntent.aidl | 41 ++ .../graphics/composer3/VirtualDisplay.aidl | 39 + .../graphics/composer3/VrrConfig.aidl | 48 ++ .../VsyncPeriodChangeConstraints.aidl | 39 + .../composer3/VsyncPeriodChangeTimeline.aidl | 40 + .../hardware/graphics/composer3/ZOrder.aidl | 38 + health/aidl/Android.bp | 6 +- .../aidl_api/android.hardware.health/3/.hash | 1 + .../hardware/health/BatteryCapacityLevel.aidl | 44 ++ .../health/BatteryChargingPolicy.aidl | 41 ++ .../hardware/health/BatteryChargingState.aidl | 43 ++ .../hardware/health/BatteryHealth.aidl | 47 ++ .../hardware/health/BatteryHealthData.aidl | 42 ++ .../hardware/health/BatteryPartStatus.aidl | 40 + .../hardware/health/BatteryStatus.aidl | 42 ++ .../3/android/hardware/health/DiskStats.aidl | 48 ++ .../3/android/hardware/health/HealthInfo.aidl | 64 ++ .../3/android/hardware/health/IHealth.aidl | 54 ++ .../hardware/health/IHealthInfoCallback.aidl | 38 + .../android/hardware/health/StorageInfo.aidl | 41 ++ macsec/aidl/Android.bp | 8 + .../aidl_api/android.hardware.macsec/1/.hash | 1 + .../hardware/macsec/IMacsecPskPlugin.aidl | 42 ++ media/bufferpool/aidl/Android.bp | 10 +- .../2/.hash | 1 + .../hardware/media/bufferpool2/Buffer.aidl | 40 + .../BufferInvalidationMessage.aidl | 40 + .../media/bufferpool2/BufferStatus.aidl | 47 ++ .../bufferpool2/BufferStatusMessage.aidl | 43 ++ .../hardware/media/bufferpool2/IAccessor.aidl | 46 ++ .../media/bufferpool2/IClientManager.aidl | 44 ++ .../media/bufferpool2/IConnection.aidl | 47 ++ .../hardware/media/bufferpool2/IObserver.aidl | 38 + .../media/bufferpool2/ResultStatus.aidl | 42 ++ media/c2/aidl/Android.bp | 11 + .../android.hardware.media.c2/1/.hash | 1 + .../android/hardware/media/c2/BaseBlock.aidl | 40 + .../1/android/hardware/media/c2/Block.aidl | 40 + .../1/android/hardware/media/c2/Buffer.aidl | 39 + .../hardware/media/c2/FieldDescriptor.aidl | 62 ++ .../1/android/hardware/media/c2/FieldId.aidl | 39 + .../media/c2/FieldSupportedValues.aidl | 41 ++ .../media/c2/FieldSupportedValuesQuery.aidl | 44 ++ .../c2/FieldSupportedValuesQueryResult.aidl | 39 + .../android/hardware/media/c2/FrameData.aidl | 47 ++ .../android/hardware/media/c2/IComponent.aidl | 68 ++ .../media/c2/IComponentInterface.aidl | 38 + .../hardware/media/c2/IComponentListener.aidl | 53 ++ .../hardware/media/c2/IComponentStore.aidl | 67 ++ .../hardware/media/c2/IConfigurable.aidl | 59 ++ .../media/c2/IGraphicBufferAllocator.aidl | 50 ++ .../android/hardware/media/c2/IInputSink.aidl | 38 + .../hardware/media/c2/IInputSurface.aidl | 40 + .../media/c2/IInputSurfaceConnection.aidl | 39 + .../c2/IPooledGraphicBufferAllocator.aidl | 49 ++ .../android/hardware/media/c2/InfoBuffer.aidl | 39 + .../hardware/media/c2/ParamDescriptor.aidl | 48 ++ .../android/hardware/media/c2/ParamField.aidl | 39 + .../hardware/media/c2/ParamFieldValues.aidl | 39 + .../1/android/hardware/media/c2/Params.aidl | 38 + .../hardware/media/c2/SettingResult.aidl | 53 ++ .../1/android/hardware/media/c2/Status.aidl | 52 ++ .../hardware/media/c2/StructDescriptor.aidl | 39 + .../android/hardware/media/c2/ValueRange.aidl | 42 ++ .../1/android/hardware/media/c2/Work.aidl | 42 ++ .../android/hardware/media/c2/WorkBundle.aidl | 39 + .../hardware/media/c2/WorkOrdinal.aidl | 40 + .../1/android/hardware/media/c2/Worklet.aidl | 41 ++ power/aidl/Android.bp | 9 +- .../aidl_api/android.hardware.power/5/.hash | 1 + .../5/android/hardware/power/Boost.aidl | 43 ++ .../android/hardware/power/ChannelConfig.aidl | 41 ++ .../hardware/power/ChannelMessage.aidl | 53 ++ .../5/android/hardware/power/IPower.aidl | 46 ++ .../hardware/power/IPowerHintSession.aidl | 46 ++ .../5/android/hardware/power/Mode.aidl | 56 ++ .../android/hardware/power/SessionConfig.aidl | 38 + .../5/android/hardware/power/SessionHint.aidl | 45 ++ .../5/android/hardware/power/SessionMode.aidl | 38 + .../5/android/hardware/power/SessionTag.aidl | 42 ++ .../android/hardware/power/WorkDuration.aidl | 42 ++ .../hardware/power/WorkDurationFixedV1.aidl | 41 ++ radio/aidl/Android.bp | 58 ++ .../android.hardware.radio.config/3/.hash | 1 + .../hardware/radio/config/IRadioConfig.aidl | 55 ++ .../radio/config/IRadioConfigIndication.aidl | 40 + .../radio/config/IRadioConfigResponse.aidl | 46 ++ .../config/MultipleEnabledProfilesMode.aidl | 42 ++ .../radio/config/PhoneCapability.aidl | 44 ++ .../hardware/radio/config/SimPortInfo.aidl | 41 ++ .../hardware/radio/config/SimSlotStatus.aidl | 43 ++ .../radio/config/SlotPortMapping.aidl | 40 + .../android.hardware.radio.data/3/.hash | 1 + .../hardware/radio/data/ApnAuthType.aidl | 42 ++ .../android/hardware/radio/data/ApnTypes.aidl | 55 ++ .../radio/data/DataCallFailCause.aidl | 382 ++++++++++ .../hardware/radio/data/DataProfileInfo.aidl | 72 ++ .../radio/data/DataRequestReason.aidl | 41 ++ .../radio/data/DataThrottlingAction.aidl | 42 ++ .../3/android/hardware/radio/data/EpsQos.aidl | 41 ++ .../hardware/radio/data/IRadioData.aidl | 54 ++ .../radio/data/IRadioDataIndication.aidl | 43 ++ .../radio/data/IRadioDataResponse.aidl | 53 ++ .../hardware/radio/data/KeepaliveRequest.aidl | 47 ++ .../hardware/radio/data/KeepaliveStatus.aidl | 43 ++ .../hardware/radio/data/LinkAddress.aidl | 44 ++ .../3/android/hardware/radio/data/NrQos.aidl | 50 ++ .../android/hardware/radio/data/OsAppId.aidl | 39 + .../hardware/radio/data/PcoDataInfo.aidl | 42 ++ .../hardware/radio/data/PdpProtocolType.aidl | 45 ++ .../hardware/radio/data/PortRange.aidl | 42 ++ .../3/android/hardware/radio/data/Qos.aidl | 41 ++ .../hardware/radio/data/QosBandwidth.aidl | 40 + .../hardware/radio/data/QosFilter.aidl | 56 ++ .../radio/data/QosFilterIpsecSpi.aidl | 40 + .../radio/data/QosFilterIpv6FlowLabel.aidl | 40 + .../radio/data/QosFilterTypeOfService.aidl | 40 + .../hardware/radio/data/QosSession.aidl | 41 ++ .../radio/data/RouteSelectionDescriptor.aidl | 47 ++ .../radio/data/SetupDataCallResult.aidl | 63 ++ .../hardware/radio/data/SliceInfo.aidl | 53 ++ .../hardware/radio/data/SlicingConfig.aidl | 40 + .../radio/data/TrafficDescriptor.aidl | 40 + .../android/hardware/radio/data/UrspRule.aidl | 41 ++ .../android.hardware.radio.ims.media/2/.hash | 1 + .../hardware/radio/ims/media/AmrMode.aidl | 47 ++ .../hardware/radio/ims/media/AmrParams.aidl | 41 ++ .../hardware/radio/ims/media/AnbrMode.aidl | 40 + .../hardware/radio/ims/media/CallQuality.aidl | 59 ++ .../hardware/radio/ims/media/CodecMode.aidl | 41 ++ .../hardware/radio/ims/media/CodecParams.aidl | 44 ++ .../radio/ims/media/CodecSpecificParams.aidl | 40 + .../hardware/radio/ims/media/CodecType.aidl | 43 ++ .../hardware/radio/ims/media/DtmfParams.aidl | 41 ++ .../radio/ims/media/EvsBandwidth.aidl | 43 ++ .../hardware/radio/ims/media/EvsMode.aidl | 59 ++ .../hardware/radio/ims/media/EvsParams.aidl | 44 ++ .../hardware/radio/ims/media/IImsMedia.aidl | 41 ++ .../radio/ims/media/IImsMediaListener.aidl | 41 ++ .../radio/ims/media/IImsMediaSession.aidl | 47 ++ .../ims/media/IImsMediaSessionListener.aidl | 46 ++ .../radio/ims/media/LocalEndPoint.aidl | 41 ++ .../radio/ims/media/MediaDirection.aidl | 43 ++ .../radio/ims/media/MediaQualityStatus.aidl | 42 ++ .../ims/media/MediaQualityThreshold.aidl | 45 ++ .../hardware/radio/ims/media/RtcpConfig.aidl | 42 ++ .../ims/media/RtcpXrReportBlockType.aidl | 46 ++ .../hardware/radio/ims/media/RtpAddress.aidl | 40 + .../hardware/radio/ims/media/RtpConfig.aidl | 44 ++ .../hardware/radio/ims/media/RtpError.aidl | 45 ++ .../radio/ims/media/RtpHeaderExtension.aidl | 40 + .../radio/ims/media/RtpReceptionStats.aidl | 42 ++ .../radio/ims/media/RtpSessionParams.aidl | 43 ++ .../android.hardware.radio.ims/2/.hash | 1 + .../radio/ims/ConnectionFailureInfo.aidl | 54 ++ .../hardware/radio/ims/EpsFallbackReason.aidl | 40 + .../android/hardware/radio/ims/IRadioIms.aidl | 46 ++ .../radio/ims/IRadioImsIndication.aidl | 41 ++ .../hardware/radio/ims/IRadioImsResponse.aidl | 45 ++ .../2/android/hardware/radio/ims/ImsCall.aidl | 65 ++ .../radio/ims/ImsDeregistrationReason.aidl | 41 ++ .../hardware/radio/ims/ImsRegistration.aidl | 47 ++ .../radio/ims/ImsRegistrationState.aidl | 40 + .../radio/ims/ImsStreamDirection.aidl | 40 + .../hardware/radio/ims/ImsStreamType.aidl | 40 + .../hardware/radio/ims/ImsTrafficType.aidl | 45 ++ .../android/hardware/radio/ims/SrvccCall.aidl | 65 ++ .../hardware/radio/ims/SuggestedAction.aidl | 43 ++ .../android.hardware.radio.messaging/3/.hash | 1 + .../messaging/CdmaBroadcastSmsConfigInfo.aidl | 41 ++ .../hardware/radio/messaging/CdmaSmsAck.aidl | 40 + .../radio/messaging/CdmaSmsAddress.aidl | 69 ++ .../radio/messaging/CdmaSmsMessage.aidl | 44 ++ .../radio/messaging/CdmaSmsSubaddress.aidl | 43 ++ .../radio/messaging/CdmaSmsWriteArgs.aidl | 44 ++ .../messaging/GsmBroadcastSmsConfigInfo.aidl | 43 ++ .../radio/messaging/GsmSmsMessage.aidl | 40 + .../radio/messaging/IRadioMessaging.aidl | 61 ++ .../messaging/IRadioMessagingIndication.aidl | 45 ++ .../messaging/IRadioMessagingResponse.aidl | 60 ++ .../radio/messaging/ImsSmsMessage.aidl | 43 ++ .../radio/messaging/SendSmsResult.aidl | 41 ++ .../messaging/SmsAcknowledgeFailCause.aidl | 40 + .../radio/messaging/SmsWriteArgs.aidl | 45 ++ .../android.hardware.radio.modem/3/.hash | 1 + .../radio/modem/ActivityStatsInfo.aidl | 41 ++ .../modem/ActivityStatsTechSpecificInfo.aidl | 47 ++ .../hardware/radio/modem/DeviceStateType.aidl | 41 ++ .../hardware/radio/modem/HardwareConfig.aidl | 48 ++ .../radio/modem/HardwareConfigModem.aidl | 43 ++ .../radio/modem/HardwareConfigSim.aidl | 39 + .../hardware/radio/modem/IRadioModem.aidl | 68 ++ .../radio/modem/IRadioModemIndication.aidl | 44 ++ .../radio/modem/IRadioModemResponse.aidl | 67 ++ .../hardware/radio/modem/ImeiInfo.aidl | 46 ++ .../android/hardware/radio/modem/NvItem.aidl | 82 +++ .../hardware/radio/modem/NvWriteItem.aidl | 43 ++ .../hardware/radio/modem/RadioCapability.aidl | 51 ++ .../hardware/radio/modem/RadioState.aidl | 41 ++ .../hardware/radio/modem/ResetNvType.aidl | 41 ++ .../android.hardware.radio.network/3/.hash | 1 + .../network/AccessTechnologySpecificInfo.aidl | 43 ++ .../hardware/radio/network/BarringInfo.aidl | 86 +++ .../network/BarringTypeSpecificInfo.aidl | 41 ++ .../network/Cdma2000RegistrationInfo.aidl | 45 ++ .../radio/network/CdmaRoamingType.aidl | 41 ++ .../radio/network/CdmaSignalStrength.aidl | 40 + .../radio/network/CellConnectionStatus.aidl | 41 ++ .../hardware/radio/network/CellIdentity.aidl | 45 ++ .../radio/network/CellIdentityCdma.aidl | 44 ++ .../radio/network/CellIdentityGsm.aidl | 46 ++ .../radio/network/CellIdentityLte.aidl | 49 ++ .../radio/network/CellIdentityNr.aidl | 47 ++ .../radio/network/CellIdentityTdscdma.aidl | 47 ++ .../radio/network/CellIdentityWcdma.aidl | 47 ++ .../hardware/radio/network/CellInfo.aidl | 41 ++ .../hardware/radio/network/CellInfoCdma.aidl | 41 ++ .../hardware/radio/network/CellInfoGsm.aidl | 40 + .../hardware/radio/network/CellInfoLte.aidl | 40 + .../hardware/radio/network/CellInfoNr.aidl | 40 + .../network/CellInfoRatSpecificInfo.aidl | 44 ++ .../radio/network/CellInfoTdscdma.aidl | 40 + .../hardware/radio/network/CellInfoWcdma.aidl | 40 + .../radio/network/CellularIdentifier.aidl | 42 ++ .../network/CellularIdentifierDisclosure.aidl | 42 ++ .../network/ClosedSubscriberGroupInfo.aidl | 41 ++ .../radio/network/ConnectionEvent.aidl | 54 ++ .../hardware/radio/network/Domain.aidl | 40 + .../hardware/radio/network/EmergencyMode.aidl | 41 ++ .../network/EmergencyNetworkScanTrigger.aidl | 40 + .../radio/network/EmergencyRegResult.aidl | 47 ++ .../radio/network/EmergencyScanType.aidl | 41 ++ .../hardware/radio/network/EutranBands.aidl | 98 +++ .../radio/network/EutranRegistrationInfo.aidl | 49 ++ .../radio/network/EvdoSignalStrength.aidl | 41 ++ .../hardware/radio/network/GeranBands.aidl | 52 ++ .../radio/network/GsmSignalStrength.aidl | 41 ++ .../hardware/radio/network/IRadioNetwork.aidl | 89 +++ .../network/IRadioNetworkIndication.aidl | 55 ++ .../radio/network/IRadioNetworkResponse.aidl | 88 +++ .../radio/network/IndicationFilter.aidl | 47 ++ .../hardware/radio/network/LceDataInfo.aidl | 41 ++ .../radio/network/LinkCapacityEstimate.aidl | 42 ++ .../radio/network/LteSignalStrength.aidl | 45 ++ .../hardware/radio/network/LteVopsInfo.aidl | 40 + .../radio/network/NasProtocolMessage.aidl | 50 ++ .../radio/network/NetworkScanRequest.aidl | 54 ++ .../radio/network/NetworkScanResult.aidl | 43 ++ .../hardware/radio/network/NgranBands.aidl | 91 +++ .../network/NrDualConnectivityState.aidl | 41 ++ .../hardware/radio/network/NrIndicators.aidl | 41 ++ .../radio/network/NrSignalStrength.aidl | 47 ++ .../hardware/radio/network/NrVopsInfo.aidl | 52 ++ .../hardware/radio/network/OperatorInfo.aidl | 46 ++ .../radio/network/PhoneRestrictedState.aidl | 43 ++ .../radio/network/PhysicalChannelConfig.aidl | 47 ++ .../network/PhysicalChannelConfigBand.aidl | 43 ++ .../radio/network/RadioAccessSpecifier.aidl | 41 ++ .../network/RadioAccessSpecifierBands.aidl | 43 ++ .../hardware/radio/network/RadioBandMode.aidl | 57 ++ .../hardware/radio/network/RegState.aidl | 49 ++ .../radio/network/RegStateResult.aidl | 44 ++ .../radio/network/RegistrationFailCause.aidl | 94 +++ .../radio/network/SecurityAlgorithm.aidl | 81 ++ .../network/SecurityAlgorithmUpdate.aidl | 42 ++ .../radio/network/SignalStrength.aidl | 45 ++ .../radio/network/SignalThresholdInfo.aidl | 53 ++ .../radio/network/SuppSvcNotification.aidl | 43 ++ .../radio/network/TdscdmaSignalStrength.aidl | 41 ++ .../hardware/radio/network/UsageSetting.aidl | 40 + .../hardware/radio/network/UtranBands.aidl | 64 ++ .../radio/network/WcdmaSignalStrength.aidl | 42 ++ .../android.hardware.radio.sim/3/.hash | 1 + .../android/hardware/radio/sim/AppStatus.aidl | 58 ++ .../hardware/radio/sim/CardPowerState.aidl | 41 ++ .../hardware/radio/sim/CardStatus.aidl | 53 ++ .../3/android/hardware/radio/sim/Carrier.aidl | 47 ++ .../hardware/radio/sim/CarrierInfo.aidl | 47 ++ .../radio/sim/CarrierRestrictions.aidl | 56 ++ .../radio/sim/CdmaSubscriptionSource.aidl | 40 + .../android/hardware/radio/sim/IRadioSim.aidl | 78 ++ .../radio/sim/IRadioSimIndication.aidl | 49 ++ .../hardware/radio/sim/IRadioSimResponse.aidl | 77 ++ .../3/android/hardware/radio/sim/IccIo.aidl | 47 ++ .../hardware/radio/sim/IccIoResult.aidl | 41 ++ .../radio/sim/ImsiEncryptionInfo.aidl | 46 ++ .../hardware/radio/sim/PbReceivedStatus.aidl | 42 ++ .../hardware/radio/sim/PersoSubstate.aidl | 73 ++ .../hardware/radio/sim/PhonebookCapacity.aidl | 48 ++ .../radio/sim/PhonebookRecordInfo.aidl | 43 ++ .../android/hardware/radio/sim/PinState.aidl | 44 ++ .../3/android/hardware/radio/sim/Plmn.aidl | 40 + .../hardware/radio/sim/SelectUiccSub.aidl | 47 ++ .../hardware/radio/sim/SessionInfo.aidl | 40 + .../3/android/hardware/radio/sim/SimApdu.aidl | 46 ++ .../radio/sim/SimLockMultiSimPolicy.aidl | 47 ++ .../hardware/radio/sim/SimRefreshResult.aidl | 44 ++ .../android.hardware.radio.voice/3/.hash | 1 + .../hardware/radio/voice/AudioQuality.aidl | 48 ++ .../3/android/hardware/radio/voice/Call.aidl | 63 ++ .../hardware/radio/voice/CallForwardInfo.aidl | 49 ++ .../hardware/radio/voice/CdmaCallWaiting.aidl | 58 ++ .../radio/voice/CdmaDisplayInfoRecord.aidl | 40 + .../radio/voice/CdmaInformationRecord.aidl | 58 ++ .../voice/CdmaLineControlInfoRecord.aidl | 42 ++ .../radio/voice/CdmaNumberInfoRecord.aidl | 44 ++ .../radio/voice/CdmaOtaProvisionStatus.aidl | 50 ++ .../CdmaRedirectingNumberInfoRecord.aidl | 47 ++ .../radio/voice/CdmaSignalInfoRecord.aidl | 42 ++ .../voice/CdmaT53AudioControlInfoRecord.aidl | 40 + .../radio/voice/CdmaT53ClirInfoRecord.aidl | 39 + .../android/hardware/radio/voice/CfData.aidl | 40 + .../hardware/radio/voice/ClipStatus.aidl | 41 ++ .../3/android/hardware/radio/voice/Dial.aidl | 44 ++ .../radio/voice/EmergencyCallRouting.aidl | 41 ++ .../hardware/radio/voice/EmergencyNumber.aidl | 48 ++ .../radio/voice/EmergencyServiceCategory.aidl | 46 ++ .../hardware/radio/voice/IRadioVoice.aidl | 77 ++ .../radio/voice/IRadioVoiceIndication.aidl | 53 ++ .../radio/voice/IRadioVoiceResponse.aidl | 76 ++ .../radio/voice/LastCallFailCause.aidl | 134 ++++ .../radio/voice/LastCallFailCauseInfo.aidl | 40 + .../hardware/radio/voice/SrvccState.aidl | 42 ++ .../hardware/radio/voice/SsInfoData.aidl | 40 + .../radio/voice/StkCcUnsolSsResult.aidl | 85 +++ .../android/hardware/radio/voice/TtyMode.aidl | 42 ++ .../hardware/radio/voice/UssdModeType.aidl | 44 ++ .../android/hardware/radio/voice/UusInfo.aidl | 53 ++ .../aidl_api/android.hardware.radio/3/.hash | 1 + .../android/hardware/radio/AccessNetwork.aidl | 45 ++ .../hardware/radio/RadioAccessFamily.aidl | 62 ++ .../3/android/hardware/radio/RadioConst.aidl | 42 ++ .../3/android/hardware/radio/RadioError.aidl | 127 ++++ .../hardware/radio/RadioIndicationType.aidl | 40 + .../hardware/radio/RadioResponseInfo.aidl | 41 ++ .../radio/RadioResponseInfoModem.aidl | 42 ++ .../hardware/radio/RadioResponseType.aidl | 41 ++ .../hardware/radio/RadioTechnology.aidl | 62 ++ .../hardware/radio/RadioTechnologyFamily.aidl | 40 + security/authgraph/aidl/Android.bp | 9 +- .../1/.hash | 1 + .../hardware/security/authgraph/Arc.aidl | 39 + .../hardware/security/authgraph/Error.aidl | 50 ++ .../authgraph/IAuthGraphKeyExchange.aidl | 42 ++ .../hardware/security/authgraph/Identity.aidl | 38 + .../security/authgraph/KeInitResult.aidl | 39 + .../hardware/security/authgraph/Key.aidl | 39 + .../security/authgraph/PlainPubKey.aidl | 38 + .../hardware/security/authgraph/PubKey.aidl | 39 + .../authgraph/SessionIdSignature.aidl | 38 + .../security/authgraph/SessionInfo.aidl | 40 + .../authgraph/SessionInitiationInfo.aidl | 41 ++ .../security/authgraph/SignedPubKey.aidl | 38 + security/secretkeeper/aidl/Android.bp | 9 +- .../1/.hash | 1 + .../security/secretkeeper/ISecretkeeper.aidl | 44 ++ .../security/secretkeeper/SecretId.aidl | 39 + soundtrigger/aidl/Android.bp | 7 +- .../android.hardware.soundtrigger3/2/.hash | 1 + .../soundtrigger3/ISoundTriggerHw.aidl | 48 ++ .../ISoundTriggerHwCallback.aidl | 40 + .../ISoundTriggerHwGlobalCallback.aidl | 38 + thermal/aidl/Android.bp | 7 +- .../aidl_api/android.hardware.thermal/2/.hash | 1 + .../hardware/thermal/CoolingDevice.aidl | 44 ++ .../android/hardware/thermal/CoolingType.aidl | 53 ++ .../ICoolingDeviceChangedCallback.aidl | 39 + .../2/android/hardware/thermal/IThermal.aidl | 49 ++ .../thermal/IThermalChangedCallback.aidl | 39 + .../android/hardware/thermal/Temperature.aidl | 42 ++ .../thermal/TemperatureThreshold.aidl | 42 ++ .../hardware/thermal/TemperatureType.aidl | 59 ++ .../hardware/thermal/ThrottlingSeverity.aidl | 45 ++ threadnetwork/aidl/Android.bp | 8 + .../android.hardware.threadnetwork/1/.hash | 1 + .../hardware/threadnetwork/IThreadChip.aidl | 44 ++ .../threadnetwork/IThreadChipCallback.aidl | 38 + tv/input/aidl/Android.bp | 11 +- .../android.hardware.tv.input/2/.hash | 1 + .../tv/input/CableConnectionStatus.aidl | 40 + .../2/android/hardware/tv/input/ITvInput.aidl | 47 ++ .../hardware/tv/input/ITvInputCallback.aidl | 39 + .../hardware/tv/input/TvInputDeviceInfo.aidl | 42 ++ .../hardware/tv/input/TvInputEvent.aidl | 39 + .../hardware/tv/input/TvInputEventType.aidl | 40 + .../hardware/tv/input/TvInputType.aidl | 47 ++ .../android/hardware/tv/input/TvMessage.aidl | 41 ++ .../hardware/tv/input/TvMessageEvent.aidl | 41 ++ .../hardware/tv/input/TvMessageEventType.aidl | 40 + .../hardware/tv/input/TvStreamConfig.aidl | 40 + usb/aidl/Android.bp | 6 +- .../aidl_api/android.hardware.usb/3/.hash | 1 + .../3/android/hardware/usb/AltModeData.aidl | 46 ++ .../hardware/usb/ComplianceWarning.aidl | 46 ++ .../usb/ContaminantDetectionStatus.aidl | 41 ++ .../usb/ContaminantProtectionMode.aidl | 41 ++ .../usb/ContaminantProtectionStatus.aidl | 42 ++ .../usb/DisplayPortAltModePinAssignment.aidl | 44 ++ .../usb/DisplayPortAltModeStatus.aidl | 41 ++ .../3/android/hardware/usb/IUsb.aidl | 45 ++ .../3/android/hardware/usb/IUsbCallback.aidl | 45 ++ .../hardware/usb/LinkTrainingStatus.aidl | 40 + .../android/hardware/usb/PlugOrientation.aidl | 42 ++ .../3/android/hardware/usb/PortDataRole.aidl | 40 + .../3/android/hardware/usb/PortMode.aidl | 43 ++ .../3/android/hardware/usb/PortPowerRole.aidl | 40 + .../3/android/hardware/usb/PortRole.aidl | 40 + .../3/android/hardware/usb/PortStatus.aidl | 57 ++ .../hardware/usb/PowerBrickStatus.aidl | 40 + .../3/android/hardware/usb/Status.aidl | 42 ++ .../3/android/hardware/usb/UsbDataStatus.aidl | 46 ++ wifi/aidl/Android.bp | 7 +- .../aidl_api/android.hardware.wifi/2/.hash | 1 + .../hardware/wifi/AfcChannelAllowance.aidl | 40 + .../wifi/AvailableAfcChannelInfo.aidl | 40 + .../wifi/AvailableAfcFrequencyInfo.aidl | 40 + .../android/hardware/wifi/CachedScanData.aidl | 39 + .../hardware/wifi/CachedScanResult.aidl | 44 ++ .../2/android/hardware/wifi/IWifi.aidl | 43 ++ .../2/android/hardware/wifi/IWifiApIface.aidl | 43 ++ .../2/android/hardware/wifi/IWifiChip.aidl | 183 +++++ .../hardware/wifi/IWifiChipEventCallback.aidl | 55 ++ .../hardware/wifi/IWifiEventCallback.aidl | 41 ++ .../android/hardware/wifi/IWifiNanIface.aidl | 62 ++ .../wifi/IWifiNanIfaceEventCallback.aidl | 75 ++ .../android/hardware/wifi/IWifiP2pIface.aidl | 38 + .../hardware/wifi/IWifiRttController.aidl | 47 ++ .../wifi/IWifiRttControllerEventCallback.aidl | 38 + .../android/hardware/wifi/IWifiStaIface.aidl | 91 +++ .../wifi/IWifiStaIfaceEventCallback.aidl | 68 ++ .../hardware/wifi/IfaceConcurrencyType.aidl | 42 ++ .../2/android/hardware/wifi/IfaceType.aidl | 41 ++ .../2/android/hardware/wifi/MacAddress.aidl | 38 + .../2/android/hardware/wifi/NanBandIndex.aidl | 40 + .../hardware/wifi/NanBandSpecificConfig.aidl | 44 ++ .../wifi/NanBootstrappingConfirmInd.aidl | 42 ++ .../hardware/wifi/NanBootstrappingMethod.aidl | 48 ++ .../wifi/NanBootstrappingRequest.aidl | 43 ++ .../wifi/NanBootstrappingRequestInd.aidl | 42 ++ .../wifi/NanBootstrappingResponse.aidl | 40 + .../wifi/NanBootstrappingResponseCode.aidl | 40 + .../hardware/wifi/NanCapabilities.aidl | 57 ++ .../hardware/wifi/NanCipherSuiteType.aidl | 44 ++ .../hardware/wifi/NanClusterEventInd.aidl | 39 + .../hardware/wifi/NanClusterEventType.aidl | 40 + .../hardware/wifi/NanConfigRequest.aidl | 49 ++ .../wifi/NanConfigRequestSupplemental.aidl | 44 ++ .../hardware/wifi/NanDataPathChannelCfg.aidl | 40 + .../hardware/wifi/NanDataPathChannelInfo.aidl | 40 + .../hardware/wifi/NanDataPathConfirmInd.aidl | 43 ++ .../hardware/wifi/NanDataPathRequestInd.aidl | 42 ++ .../wifi/NanDataPathScheduleUpdateInd.aidl | 40 + .../wifi/NanDataPathSecurityConfig.aidl | 48 ++ .../wifi/NanDataPathSecurityType.aidl | 40 + .../android/hardware/wifi/NanDebugConfig.aidl | 54 ++ .../wifi/NanDiscoveryCommonConfig.aidl | 58 ++ .../hardware/wifi/NanEnableRequest.aidl | 41 ++ .../hardware/wifi/NanFollowupReceivedInd.aidl | 43 ++ .../wifi/NanIdentityResolutionAttribute.aidl | 39 + .../wifi/NanInitiateDataPathRequest.aidl | 46 ++ .../2/android/hardware/wifi/NanMatchAlg.aidl | 40 + .../2/android/hardware/wifi/NanMatchInd.aidl | 55 ++ .../android/hardware/wifi/NanPairingAkm.aidl | 39 + .../hardware/wifi/NanPairingConfig.aidl | 41 ++ .../hardware/wifi/NanPairingConfirmInd.aidl | 44 ++ .../hardware/wifi/NanPairingRequest.aidl | 44 ++ .../hardware/wifi/NanPairingRequestInd.aidl | 45 ++ .../hardware/wifi/NanPairingRequestType.aidl | 39 + .../wifi/NanPairingSecurityConfig.aidl | 42 ++ .../hardware/wifi/NanPairingSecurityType.aidl | 40 + .../hardware/wifi/NanPublishRequest.aidl | 44 ++ .../android/hardware/wifi/NanPublishType.aidl | 40 + .../hardware/wifi/NanRangingIndication.aidl | 40 + ...NanRespondToDataPathIndicationRequest.aidl | 44 ++ .../NanRespondToPairingIndicationRequest.aidl | 44 ++ .../2/android/hardware/wifi/NanSrfType.aidl | 39 + .../2/android/hardware/wifi/NanStatus.aidl | 39 + .../android/hardware/wifi/NanStatusCode.aidl | 55 ++ .../hardware/wifi/NanSubscribeRequest.aidl | 47 ++ .../hardware/wifi/NanSubscribeType.aidl | 39 + .../wifi/NanSuspensionModeChangeInd.aidl | 38 + .../wifi/NanTransmitFollowupRequest.aidl | 45 ++ .../2/android/hardware/wifi/NanTxType.aidl | 39 + .../hardware/wifi/NpkSecurityAssociation.aidl | 42 ++ .../2/android/hardware/wifi/RttBw.aidl | 45 ++ .../hardware/wifi/RttCapabilities.aidl | 50 ++ .../2/android/hardware/wifi/RttConfig.aidl | 54 ++ .../hardware/wifi/RttLciInformation.aidl | 47 ++ .../hardware/wifi/RttLcrInformation.aidl | 39 + .../hardware/wifi/RttMotionPattern.aidl | 40 + .../2/android/hardware/wifi/RttPeerType.aidl | 42 ++ .../2/android/hardware/wifi/RttPreamble.aidl | 43 ++ .../2/android/hardware/wifi/RttResponder.aidl | 39 + .../2/android/hardware/wifi/RttResult.aidl | 69 ++ .../2/android/hardware/wifi/RttStatus.aidl | 55 ++ .../2/android/hardware/wifi/RttType.aidl | 41 ++ .../2/android/hardware/wifi/Ssid.aidl | 38 + .../wifi/StaApfPacketFilterCapabilities.aidl | 39 + ...groundScanBucketEventReportSchemeMask.aidl | 40 + .../StaBackgroundScanBucketParameters.aidl | 45 ++ .../wifi/StaBackgroundScanCapabilities.aidl | 41 ++ .../wifi/StaBackgroundScanLimits.aidl | 40 + .../wifi/StaBackgroundScanParameters.aidl | 42 ++ .../StaLinkLayerIfaceContentionTimeStats.aidl | 41 ++ .../wifi/StaLinkLayerIfacePacketStats.aidl | 41 ++ .../hardware/wifi/StaLinkLayerIfaceStats.aidl | 38 + .../hardware/wifi/StaLinkLayerLinkStats.aidl | 59 ++ .../hardware/wifi/StaLinkLayerRadioStats.aidl | 49 ++ .../hardware/wifi/StaLinkLayerStats.aidl | 40 + .../2/android/hardware/wifi/StaPeerInfo.aidl | 40 + .../2/android/hardware/wifi/StaRateStat.aidl | 42 ++ .../hardware/wifi/StaRoamingCapabilities.aidl | 39 + .../hardware/wifi/StaRoamingConfig.aidl | 39 + .../hardware/wifi/StaRoamingState.aidl | 40 + .../2/android/hardware/wifi/StaScanData.aidl | 40 + .../hardware/wifi/StaScanDataFlagMask.aidl | 38 + .../android/hardware/wifi/StaScanResult.aidl | 45 ++ .../hardware/wifi/TwtCapabilities.aidl | 45 ++ .../2/android/hardware/wifi/TwtRequest.aidl | 42 ++ .../2/android/hardware/wifi/TwtSession.aidl | 54 ++ .../hardware/wifi/TwtSessionStats.aidl | 43 ++ .../hardware/wifi/WifiAntennaMode.aidl | 42 ++ .../2/android/hardware/wifi/WifiBand.aidl | 51 ++ .../hardware/wifi/WifiChannelInfo.aidl | 41 ++ .../hardware/wifi/WifiChannelStats.aidl | 40 + .../hardware/wifi/WifiChannelWidthInMhz.aidl | 46 ++ .../hardware/wifi/WifiChipCapabilities.aidl | 40 + ...ebugHostWakeReasonRxIcmpPacketDetails.aidl | 42 ++ ...ostWakeReasonRxMulticastPacketDetails.aidl | 40 + ...ifiDebugHostWakeReasonRxPacketDetails.aidl | 40 + .../wifi/WifiDebugHostWakeReasonStats.aidl | 45 ++ .../wifi/WifiDebugPacketFateFrameInfo.aidl | 42 ++ .../wifi/WifiDebugPacketFateFrameType.aidl | 40 + .../wifi/WifiDebugRingBufferFlags.aidl | 40 + .../wifi/WifiDebugRingBufferStatus.aidl | 43 ++ .../wifi/WifiDebugRingBufferVerboseLevel.aidl | 41 ++ .../hardware/wifi/WifiDebugRxPacketFate.aidl | 48 ++ .../wifi/WifiDebugRxPacketFateReport.aidl | 39 + .../hardware/wifi/WifiDebugTxPacketFate.aidl | 47 ++ .../wifi/WifiDebugTxPacketFateReport.aidl | 39 + .../android/hardware/wifi/WifiIfaceMode.aidl | 45 ++ .../hardware/wifi/WifiInformationElement.aidl | 39 + .../hardware/wifi/WifiRadioCombination.aidl | 38 + .../hardware/wifi/WifiRadioConfiguration.aidl | 39 + .../2/android/hardware/wifi/WifiRateInfo.aidl | 42 ++ .../2/android/hardware/wifi/WifiRateNss.aidl | 41 ++ .../hardware/wifi/WifiRatePreamble.aidl | 44 ++ .../android/hardware/wifi/WifiStatusCode.aidl | 47 ++ .../hardware/wifi/WifiUsableChannel.aidl | 40 + wifi/common/aidl/Android.bp | 8 + .../android.hardware.wifi.common/1/.hash | 1 + .../hardware/wifi/common/OuiKeyedData.aidl | 39 + wifi/hostapd/aidl/Android.bp | 6 + .../android.hardware.wifi.hostapd/2/.hash | 1 + .../android/hardware/wifi/hostapd/ApInfo.aidl | 44 ++ .../hardware/wifi/hostapd/BandMask.aidl | 41 ++ .../wifi/hostapd/ChannelBandwidth.aidl | 50 ++ .../hardware/wifi/hostapd/ChannelParams.aidl | 42 ++ .../hardware/wifi/hostapd/ClientInfo.aidl | 41 ++ .../hardware/wifi/hostapd/DebugLevel.aidl | 43 ++ .../hardware/wifi/hostapd/EncryptionType.aidl | 44 ++ .../hardware/wifi/hostapd/FrequencyRange.aidl | 39 + .../hardware/wifi/hostapd/Generation.aidl | 44 ++ .../wifi/hostapd/HostapdStatusCode.aidl | 43 ++ .../hardware/wifi/hostapd/HwModeParams.aidl | 48 ++ .../hardware/wifi/hostapd/IHostapd.aidl | 43 ++ .../wifi/hostapd/IHostapdCallback.aidl | 40 + .../wifi/hostapd/Ieee80211ReasonCode.aidl | 40 + .../hardware/wifi/hostapd/IfaceParams.aidl | 41 ++ .../hardware/wifi/hostapd/NetworkParams.aidl | 43 ++ .../wifi/hostapd/ParamSizeLimits.aidl | 40 + wifi/supplicant/aidl/Android.bp | 6 +- .../android.hardware.wifi.supplicant/3/.hash | 1 + .../hardware/wifi/supplicant/AnqpData.aidl | 44 ++ .../hardware/wifi/supplicant/AnqpInfoId.aidl | 43 ++ .../supplicant/AssociationRejectionData.aidl | 45 ++ .../hardware/wifi/supplicant/AuthAlgMask.aidl | 41 ++ .../AuxiliarySupplicantEventCode.aidl | 40 + .../hardware/wifi/supplicant/BssTmData.aidl | 42 ++ .../wifi/supplicant/BssTmDataFlagsMask.aidl | 45 ++ .../wifi/supplicant/BssTmStatusCode.aidl | 46 ++ .../wifi/supplicant/BssidChangeReason.aidl | 40 + .../wifi/supplicant/BtCoexistenceMode.aidl | 40 + .../supplicant/ConnectionCapabilities.aidl | 44 ++ .../hardware/wifi/supplicant/DebugLevel.aidl | 43 ++ .../hardware/wifi/supplicant/DppAkm.aidl | 41 ++ .../wifi/supplicant/DppConfigurationData.aidl | 43 ++ .../wifi/supplicant/DppConnectionKeys.aidl | 40 + .../hardware/wifi/supplicant/DppCurve.aidl | 43 ++ .../wifi/supplicant/DppEventType.aidl | 39 + .../wifi/supplicant/DppFailureCode.aidl | 49 ++ .../hardware/wifi/supplicant/DppNetRole.aidl | 39 + .../wifi/supplicant/DppProgressCode.aidl | 41 ++ .../supplicant/DppResponderBootstrapInfo.aidl | 40 + .../wifi/supplicant/DppStatusErrorCode.aidl | 53 ++ .../wifi/supplicant/EapErrorCode.aidl | 42 ++ .../hardware/wifi/supplicant/EapMethod.aidl | 45 ++ .../wifi/supplicant/EapPhase2Method.aidl | 45 ++ .../wifi/supplicant/ExtRadioWorkDefaults.aidl | 38 + .../hardware/wifi/supplicant/FreqRange.aidl | 39 + .../wifi/supplicant/GroupCipherMask.aidl | 45 ++ .../wifi/supplicant/GroupMgmtCipherMask.aidl | 40 + .../hardware/wifi/supplicant/GsmRand.aidl | 38 + .../wifi/supplicant/Hs20AnqpData.aidl | 41 ++ .../wifi/supplicant/Hs20AnqpSubtypes.aidl | 41 ++ .../supplicant/INonStandardCertCallback.aidl | 39 + .../hardware/wifi/supplicant/ISupplicant.aidl | 52 ++ .../wifi/supplicant/ISupplicantCallback.aidl | 39 + .../wifi/supplicant/ISupplicantP2pIface.aidl | 126 ++++ .../ISupplicantP2pIfaceCallback.aidl | 83 +++ .../supplicant/ISupplicantP2pNetwork.aidl | 47 ++ .../wifi/supplicant/ISupplicantStaIface.aidl | 107 +++ .../ISupplicantStaIfaceCallback.aidl | 90 +++ .../supplicant/ISupplicantStaNetwork.aidl | 140 ++++ .../ISupplicantStaNetworkCallback.aidl | 43 ++ .../hardware/wifi/supplicant/IfaceInfo.aidl | 39 + .../hardware/wifi/supplicant/IfaceType.aidl | 39 + .../hardware/wifi/supplicant/IpVersion.aidl | 39 + .../hardware/wifi/supplicant/KeyMgmtMask.aidl | 55 ++ .../hardware/wifi/supplicant/LegacyMode.aidl | 41 ++ .../hardware/wifi/supplicant/MacAddress.aidl | 38 + .../MboAssocDisallowedReasonCode.aidl | 43 ++ .../MboCellularDataConnectionPrefValue.aidl | 40 + .../supplicant/MboTransitionReasonCode.aidl | 47 ++ .../wifi/supplicant/MiracastMode.aidl | 40 + .../hardware/wifi/supplicant/MloLink.aidl | 43 ++ .../wifi/supplicant/MloLinksInfo.aidl | 40 + .../hardware/wifi/supplicant/MscsParams.aidl | 52 ++ .../wifi/supplicant/MsduDeliveryInfo.aidl | 51 ++ .../NetworkRequestEapSimGsmAuthParams.aidl | 38 + .../NetworkRequestEapSimUmtsAuthParams.aidl | 39 + .../NetworkResponseEapSimGsmAuthParams.aidl | 39 + .../NetworkResponseEapSimUmtsAuthParams.aidl | 40 + .../OceRssiBasedAssocRejectAttr.aidl | 39 + .../hardware/wifi/supplicant/OcspType.aidl | 41 ++ .../hardware/wifi/supplicant/OsuMethod.aidl | 39 + .../P2pAddGroupConfigurationParams.aidl | 45 ++ .../P2pClientEapolIpAddressInfo.aidl | 40 + .../wifi/supplicant/P2pConnectInfo.aidl | 44 ++ .../supplicant/P2pCreateGroupOwnerInfo.aidl | 40 + .../supplicant/P2pDeviceFoundEventParams.aidl | 48 ++ .../wifi/supplicant/P2pDiscoveryInfo.aidl | 41 ++ .../wifi/supplicant/P2pExtListenInfo.aidl | 40 + .../wifi/supplicant/P2pFrameTypeMask.aidl | 50 ++ .../P2pGoNegotiationReqEventParams.aidl | 40 + .../supplicant/P2pGroupCapabilityMask.aidl | 44 ++ .../P2pGroupStartedEventParams.aidl | 49 ++ .../supplicant/P2pInvitationEventParams.aidl | 43 ++ .../P2pPeerClientDisconnectedEventParams.aidl | 41 ++ .../P2pPeerClientJoinedEventParams.aidl | 42 ++ .../supplicant/P2pProvDiscStatusCode.aidl | 42 ++ ...rovisionDiscoveryCompletedEventParams.aidl | 44 ++ .../hardware/wifi/supplicant/P2pScanType.aidl | 40 + .../wifi/supplicant/P2pStatusCode.aidl | 50 ++ .../wifi/supplicant/PairwiseCipherMask.aidl | 43 ++ .../wifi/supplicant/PmkSaCacheData.aidl | 40 + .../hardware/wifi/supplicant/PortRange.aidl | 39 + .../hardware/wifi/supplicant/ProtoMask.aidl | 41 ++ .../wifi/supplicant/ProtocolNextHeader.aidl | 40 + .../wifi/supplicant/QosCharacteristics.aidl | 59 ++ .../supplicant/QosPolicyClassifierParams.aidl | 47 ++ .../QosPolicyClassifierParamsMask.aidl | 45 ++ .../wifi/supplicant/QosPolicyData.aidl | 41 ++ .../wifi/supplicant/QosPolicyRequestType.aidl | 39 + .../wifi/supplicant/QosPolicyScsData.aidl | 32 + .../supplicant/QosPolicyScsRequestStatus.aidl | 24 + .../QosPolicyScsRequestStatusCode.aidl | 26 + .../QosPolicyScsResponseStatus.aidl | 24 + .../QosPolicyScsResponseStatusCode.aidl | 31 + .../wifi/supplicant/QosPolicyStatus.aidl | 39 + .../wifi/supplicant/QosPolicyStatusCode.aidl | 41 ++ .../wifi/supplicant/RxFilterType.aidl | 39 + .../hardware/wifi/supplicant/SaeH2eMode.aidl | 40 + .../wifi/supplicant/SignalPollResult.aidl | 42 ++ .../supplicant/StaIfaceCallbackState.aidl | 47 ++ .../wifi/supplicant/StaIfaceReasonCode.aidl | 98 +++ .../wifi/supplicant/StaIfaceStatusCode.aidl | 134 ++++ .../supplicant/SupplicantStateChangeData.aidl | 44 ++ .../wifi/supplicant/SupplicantStatusCode.aidl | 49 ++ .../hardware/wifi/supplicant/TlsVersion.aidl | 41 ++ .../TransitionDisableIndication.aidl | 41 ++ .../wifi/supplicant/WifiTechnology.aidl | 43 ++ .../supplicant/WpaDriverCapabilitiesMask.aidl | 44 ++ .../wifi/supplicant/WpsConfigError.aidl | 58 ++ .../wifi/supplicant/WpsConfigMethods.aidl | 51 ++ .../wifi/supplicant/WpsDevPasswordId.aidl | 45 ++ .../wifi/supplicant/WpsErrorIndication.aidl | 41 ++ .../wifi/supplicant/WpsProvisionMethod.aidl | 40 + 1351 files changed, 60183 insertions(+), 32 deletions(-) create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/.hash create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/AudioOffloadMetadata.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/PlaybackTrackMetadata.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/RecordTrackMetadata.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SinkMetadata.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SourceMetadata.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/.hash create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/android/hardware/audio/core/sounddose/ISoundDose.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/.hash create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioPatch.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioRoute.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetooth.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothA2dp.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothLe.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IConfig.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IModule.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCallback.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCommon.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamIn.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOut.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOutEventCallback.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ITelephony.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/MmapBufferDescriptor.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ModuleDebug.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/StreamDescriptor.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/SurroundSoundConfig.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/VendorParameter.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/.hash create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AcousticEchoCanceler.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV1.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV2.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/BassBoost.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Capability.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/CommandId.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DefaultExtension.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Descriptor.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Downmix.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DynamicsProcessing.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/EnvironmentalReverb.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Equalizer.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Flags.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/HapticGenerator.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IEffect.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IFactory.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/LoudnessEnhancer.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/NoiseSuppression.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Parameter.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/PresetReverb.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Processing.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Range.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Spatializer.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/State.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/VendorExtension.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Virtualizer.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Visualizer.aidl create mode 100644 audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Volume.aidl create mode 100644 audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/.hash create mode 100644 audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/android/hardware/audio/sounddose/ISoundDoseFactory.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/.hash create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioFocusChange.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioGainConfigInfo.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/DuckingInfo.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioControl.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioGainCallback.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IFocusListener.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IModuleChangeCallback.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/MutingInfo.aidl create mode 100644 automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/Reasons.aidl create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/.hash create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ApState.aidl create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl create mode 100644 automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/TaskType.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/.hash create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequest.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequests.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResult.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResults.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicle.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicleCallback.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/RawPropValues.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequest.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequests.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResult.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResults.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/StatusCode.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SubscribeOptions.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfig.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropError.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropErrors.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValue.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValues.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl create mode 100644 automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/.hash create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/AutomaticEmergencyBrakingState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/BlindSpotWarningState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CameraServiceState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserResponse.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CrossTrafficMonitoringWarningState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlCommand.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CustomInputType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionWarning.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionWarning.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicStabilityControlState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EmergencyLaneKeepAssistState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ErrorState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvChargeState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvConnectorType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvRegenerativeBrakingState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvStoppingMode.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ForwardCollisionWarningState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/FuelType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/GsrComplianceRequirementType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionDriverState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionWarning.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ImpactSensorLocation.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistCommand.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneDepartureWarningState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneKeepAssistState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LocationCharacterization.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedCollisionWarningState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/PortLocationType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RemoveUserRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RotaryInputType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserResponse.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserStatus.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/TrailerState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserInfo.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UsersInfo.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAirbagLocation.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleArea.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAutonomousState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleDisplay.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleGear.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionButtonStateFlag.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputAction.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputSource.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionToolType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleOilLevel.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleProperty.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleUnit.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageType.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersState.aidl create mode 100644 automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersSwitch.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/.hash create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/AuthenticateReason.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/CommonProps.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ComponentInfo.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/DisplayState.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/FoldState.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ICancellationSignal.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationContext.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationReason.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationState.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/SensorStrength.aidl create mode 100644 biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/WakeReason.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/.hash create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/AcquiredInfo.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/Error.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/FingerprintSensorType.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/IFingerprint.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISession.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISessionCallback.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/PointerContext.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorLocation.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorProps.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorShape.aidl create mode 100644 biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/TouchDetectionParameters.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/.hash create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfigurationHint.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpRemoteCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStatus.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStreamConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacObjectType.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveChannelMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveInputMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveTimeToPlay.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxSinkBuffering.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioContext.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioLocation.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BluetoothAudioStatus.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BroadcastCapability.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ChannelMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecId.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecInfo.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecParameters.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecType.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ConfigurationFlags.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/HfpConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioPort.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LatencyMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Capabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Configuration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacChannelMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacQualityIndex.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioAseConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBisConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecCapabilitiesSetting.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/MetadataLtv.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Phy.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PresentationPosition.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcAllocMethod.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcCapabilities.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcChannelMode.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcConfiguration.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SessionType.aidl create mode 100644 bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/UnicastCapability.aidl create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl create mode 100644 bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/.hash create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/AddressType.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Direction.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEvent.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEventCallback.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/LmpEventId.aidl create mode 100644 bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Timestamp.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/.hash create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/AddressType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/BluetoothChannelSoundingParameters.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoudingRawData.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoundingSingleSideData.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ComplexNumber.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Config.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/CsSecurityLevel.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/DeviceAddress.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSounding.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSession.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSessionCallback.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/LocationType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ModeType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Nadm.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RangingResult.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Reason.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ResultType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Role.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RttType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SessionType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SightType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/StepTonePct.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SubModeType.aidl create mode 100644 bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/VendorSpecificData.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/.hash create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmBandRange.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmRegionConfig.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Announcement.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AnnouncementType.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ConfigFlag.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/DabTableEntry.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/HdSubChannel.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IAnnouncementListener.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IBroadcastRadio.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ICloseHandle.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ITunerCallback.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IdentifierType.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Metadata.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramFilter.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramIdentifier.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramInfo.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramListChunk.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramSelector.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Properties.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Result.aidl create mode 100644 broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/VendorKeyValue.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/.hash create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferCache.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequest.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequestStatus.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferStatus.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlob.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlobId.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraMetadata.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraOfflineSessionInfo.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureRequest.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureResult.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ConfigureStreamsRet.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorCode.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorMsg.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/HalStream.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDevice.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceCallback.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceSession.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraInjectionSession.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraOfflineSession.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/NotifyMsg.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineRequest.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineStream.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraMetadata.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraSetting.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/RequestTemplate.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ShutterMsg.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/Stream.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffer.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRequestError.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRet.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffersVal.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfiguration.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfigurationMode.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamRotation.aidl create mode 100644 camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamType.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/.hash create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLensFacing.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLocation.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/BlackLevelLock.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSection.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSectionStart.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataTag.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLock.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLockAvailable.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfSceneChange.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfTrigger.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframing.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLock.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlCaptureIntent.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEffectMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEnableZsl.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlLowLightBoostState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSceneMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSettingsOverride.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DemosaicMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DistortionCorrectionMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/EdgeMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashInfoAvailable.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicInfoSupported.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HotPixelMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedAvailableLeds.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedTransmit.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensFacing.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensPoseReference.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensState.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/NoiseReductionMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/QuirksPartialResult.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestMetadataMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestType.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableFormats.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerCroppingType.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorPixelMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorTestPatternMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ShadingMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHistogramMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsOisDataMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncFrameNumber.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncMaxLatency.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapMode.aidl create mode 100644 camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapPresetCurve.aidl create mode 100644 camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/.hash create mode 100644 camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/CameraIdAndStreamCombination.aidl create mode 100644 camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ConcurrentCameraIdCombination.aidl create mode 100644 camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProvider.aidl create mode 100644 camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProviderCallback.aidl create mode 100644 compatibility_matrices/compatibility_matrix.202504.xml create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/.hash create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/AsyncEventType.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubInfo.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubMessage.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ErrorCode.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/HostEndpointInfo.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHub.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHubCallback.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/MessageDeliveryStatus.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionRequest.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionStateUpdate.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappBinary.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappInfo.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappRpcService.aidl create mode 100644 contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/Setting.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/.hash create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/BlocklistedSource.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/CorrelationVector.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/ElapsedRealtime.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssClock.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssConstellationType.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssData.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssLocation.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMeasurement.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMultipathIndicator.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssPowerStats.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssSignalType.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnss.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRil.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRilCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnss.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfo.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfoCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatching.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatchingCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssConfiguration.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssDebug.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofence.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofenceCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementInterface.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageInterface.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndication.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndicationCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsds.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsdsCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/PsdsType.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteClockInfo.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePositionEcef.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePvt.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteVelocityEcef.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsCallback.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsInterface.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/MeasurementCorrections.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/ReflectingPlane.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/SingleSatCorrection.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControl.aidl create mode 100644 gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/.hash create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/AlphaInterpretation.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BlendMode.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BufferUsage.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ChromaSiting.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ColorTransform.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Compression.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Cta861_3.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Dataspace.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayDecorationSupport.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayHotplugEvent.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ExtendableType.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/FRect.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBuffer.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBufferDescription.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Hdr.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionCapability.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionStrategy.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Interlaced.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PixelFormat.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayout.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponent.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponentType.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Point.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Rect.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Smpte2086.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/StandardMetadataType.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Transform.aidl create mode 100644 graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/XyColor.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/.hash create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Buffer.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Capability.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionLayer.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionTypes.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTarget.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetProperty.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetPropertyWithBrightness.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClockMonotonicTimestamp.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Color.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ColorMode.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandError.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandResultPayload.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Composition.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ContentType.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DimmingStage.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayAttribute.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayBrightness.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCapability.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCommand.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConfiguration.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConnectionType.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSample.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayIdentification.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayRequest.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/FormatColorComponent.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/HdrCapabilities.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposer.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerCallback.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerClient.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerBrightness.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerCommand.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/OverlayProperties.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableBlendMode.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableComposition.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableDataspace.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableTransform.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadata.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PlaneAlpha.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PowerMode.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentFence.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentOrValidate.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RefreshRateChangedDebugData.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReleaseFences.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RenderIntent.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VirtualDisplay.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VrrConfig.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl create mode 100644 graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ZOrder.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/.hash create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryCapacityLevel.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingPolicy.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingState.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealth.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealthData.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryPartStatus.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryStatus.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/DiskStats.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/HealthInfo.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealth.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealthInfoCallback.aidl create mode 100644 health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/StorageInfo.aidl create mode 100644 macsec/aidl/aidl_api/android.hardware.macsec/1/.hash create mode 100644 macsec/aidl/aidl_api/android.hardware.macsec/1/android/hardware/macsec/IMacsecPskPlugin.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/.hash create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/Buffer.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferInvalidationMessage.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatus.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatusMessage.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IAccessor.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IClientManager.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IConnection.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IObserver.aidl create mode 100644 media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/ResultStatus.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/.hash create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/BaseBlock.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Block.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Buffer.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldDescriptor.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldId.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValues.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQuery.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQueryResult.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FrameData.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponent.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentInterface.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentListener.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentStore.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IConfigurable.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IGraphicBufferAllocator.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSink.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurface.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurfaceConnection.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IPooledGraphicBufferAllocator.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/InfoBuffer.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamDescriptor.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamField.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamFieldValues.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Params.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/SettingResult.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Status.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/StructDescriptor.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ValueRange.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Work.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkBundle.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkOrdinal.aidl create mode 100644 media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Worklet.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/.hash create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Boost.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelConfig.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelMessage.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPower.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPowerHintSession.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Mode.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionConfig.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionHint.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionMode.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionTag.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDuration.aidl create mode 100644 power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDurationFixedV1.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/MultipleEnabledProfilesMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/PhoneCapability.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimPortInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimSlotStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SlotPortMapping.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnAuthType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnTypes.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataCallFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataProfileInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataRequestReason.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataThrottlingAction.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/EpsQos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioData.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveRequest.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/LinkAddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/NrQos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/OsAppId.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PcoDataInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PdpProtocolType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PortRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/Qos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosBandwidth.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilter.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpsecSpi.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterTypeOfService.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosSession.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/RouteSelectionDescriptor.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SetupDataCallResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SliceInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SlicingConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/TrafficDescriptor.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/UrspRule.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AnbrMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CallQuality.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecSpecificParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/DtmfParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsBandwidth.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMedia.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaListener.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSession.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSessionListener.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/LocalEndPoint.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaDirection.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityThreshold.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpXrReportBlockType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpAddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpError.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpHeaderExtension.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpReceptionStats.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpSessionParams.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ConnectionFailureInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/EpsFallbackReason.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioIms.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsCall.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsDeregistrationReason.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistration.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistrationState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamDirection.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsTrafficType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SrvccCall.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SuggestedAction.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAck.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessaging.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/ImsSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SendSmsResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsWriteArgs.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/DeviceStateType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigModem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigSim.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ImeiInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvItem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvWriteItem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioCapability.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ResetNvType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringTypeSpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaRoamingType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellConnectionStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentity.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityCdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityGsm.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityLte.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityNr.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityTdscdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityWcdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoCdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoGsm.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoLte.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoNr.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoTdscdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoWcdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifier.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifierDisclosure.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ConnectionEvent.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Domain.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyNetworkScanTrigger.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyRegResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyScanType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranRegistrationInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EvdoSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GeranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GsmSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetwork.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IndicationFilter.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LceDataInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LinkCapacityEstimate.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteVopsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NasProtocolMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanRequest.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NgranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrDualConnectivityState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrIndicators.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrVopsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/OperatorInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhoneRestrictedState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfigBand.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifier.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifierBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioBandMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegStateResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegistrationFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithm.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithmUpdate.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalThresholdInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SuppSvcNotification.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/TdscdmaSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UsageSetting.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UtranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/WcdmaSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/AppStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardPowerState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Carrier.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierRestrictions.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CdmaSubscriptionSource.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSim.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIoResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/ImsiEncryptionInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PbReceivedStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PersoSubstate.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookCapacity.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookRecordInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PinState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Plmn.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SelectUiccSub.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SessionInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimApdu.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimRefreshResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/AudioQuality.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Call.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CallForwardInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaCallWaiting.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaInformationRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CfData.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/ClipStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Dial.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyCallRouting.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyNumber.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyServiceCategory.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoice.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCauseInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SrvccState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SsInfoData.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/StkCcUnsolSsResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/TtyMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UssdModeType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UusInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/.hash create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/AccessNetwork.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioAccessFamily.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioConst.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioError.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioIndicationType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfoModem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnology.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnologyFamily.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/.hash create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Arc.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Error.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/IAuthGraphKeyExchange.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Identity.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/KeInitResult.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Key.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PlainPubKey.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PubKey.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionIdSignature.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInfo.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInitiationInfo.aidl create mode 100644 security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SignedPubKey.aidl create mode 100644 security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/.hash create mode 100644 security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/ISecretkeeper.aidl create mode 100644 security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/SecretId.aidl create mode 100644 soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/.hash create mode 100644 soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHw.aidl create mode 100644 soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwCallback.aidl create mode 100644 soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/.hash create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingDevice.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingType.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermal.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermalChangedCallback.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/Temperature.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureThreshold.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureType.aidl create mode 100644 thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ThrottlingSeverity.aidl create mode 100644 threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/.hash create mode 100644 threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChip.aidl create mode 100644 threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChipCallback.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/.hash create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/CableConnectionStatus.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInput.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInputCallback.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputDeviceInfo.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEvent.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEventType.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputType.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessage.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEvent.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEventType.aidl create mode 100644 tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvStreamConfig.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/.hash create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/AltModeData.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ComplianceWarning.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantDetectionStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionMode.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModePinAssignment.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModeStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsb.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsbCallback.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/LinkTrainingStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PlugOrientation.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortDataRole.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortMode.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortPowerRole.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortRole.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PowerBrickStatus.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/Status.aidl create mode 100644 usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/UsbDataStatus.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/.hash create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AfcChannelAllowance.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcChannelInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcFrequencyInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanData.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanResult.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifi.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiApIface.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChip.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChipEventCallback.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiEventCallback.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIface.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIfaceEventCallback.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiP2pIface.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttController.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttControllerEventCallback.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIface.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIfaceEventCallback.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceConcurrencyType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/MacAddress.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandIndex.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandSpecificConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingConfirmInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingMethod.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequestInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponse.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponseCode.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCipherSuiteType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequestSupplemental.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelCfg.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathConfirmInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathRequestInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathScheduleUpdateInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDebugConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDiscoveryCommonConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanEnableRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanFollowupReceivedInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanIdentityResolutionAttribute.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanInitiateDataPathRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchAlg.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingAkm.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfirmInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRangingIndication.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToDataPathIndicationRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToPairingIndicationRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSrfType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatus.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatusCode.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSuspensionModeChangeInd.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTransmitFollowupRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTxType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NpkSecurityAssociation.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttBw.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLciInformation.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLcrInformation.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttMotionPattern.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPeerType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPreamble.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResponder.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResult.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttStatus.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/Ssid.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaApfPacketFilterCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketEventReportSchemeMask.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketParameters.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanLimits.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanParameters.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceContentionTimeStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfacePacketStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerLinkStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerRadioStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaPeerInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRateStat.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingConfig.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingState.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanData.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanDataFlagMask.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanResult.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtRequest.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSession.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSessionStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiAntennaMode.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiBand.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelWidthInMhz.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChipCapabilities.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxIcmpPacketDetails.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxMulticastPacketDetails.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxPacketDetails.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonStats.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameType.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferFlags.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferStatus.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferVerboseLevel.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFate.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFateReport.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFate.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFateReport.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiIfaceMode.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiInformationElement.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioCombination.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioConfiguration.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateInfo.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateNss.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRatePreamble.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiStatusCode.aidl create mode 100644 wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiUsableChannel.aidl create mode 100644 wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/.hash create mode 100644 wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/android/hardware/wifi/common/OuiKeyedData.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/.hash create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ApInfo.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/BandMask.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelBandwidth.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelParams.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ClientInfo.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/DebugLevel.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/EncryptionType.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/FrequencyRange.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Generation.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HostapdStatusCode.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HwModeParams.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapd.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapdCallback.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IfaceParams.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/NetworkParams.aidl create mode 100644 wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ParamSizeLimits.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/.hash create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpInfoId.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AssociationRejectionData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuthAlgMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuxiliarySupplicantEventCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmDataFlagsMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssidChangeReason.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BtCoexistenceMode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ConnectionCapabilities.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DebugLevel.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppAkm.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConfigurationData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConnectionKeys.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppCurve.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppEventType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppFailureCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppNetRole.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppProgressCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppResponderBootstrapInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppStatusErrorCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapErrorCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapMethod.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapPhase2Method.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ExtRadioWorkDefaults.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/FreqRange.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupCipherMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupMgmtCipherMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GsmRand.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpSubtypes.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/INonStandardCertCallback.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicant.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantCallback.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pNetwork.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetworkCallback.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IpVersion.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/KeyMgmtMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/LegacyMode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MacAddress.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboAssocDisallowedReasonCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboCellularDataConnectionPrefValue.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboTransitionReasonCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MiracastMode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLink.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLinksInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MscsParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MsduDeliveryInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimGsmAuthParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimUmtsAuthParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimGsmAuthParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimUmtsAuthParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OceRssiBasedAssocRejectAttr.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OcspType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OsuMethod.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pClientEapolIpAddressInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pConnectInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDeviceFoundEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDiscoveryInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pFrameTypeMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupCapabilityMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupStartedEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientDisconnectedEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientJoinedEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvDiscStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pScanType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PairwiseCipherMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PmkSaCacheData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PortRange.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtoMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtocolNextHeader.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosCharacteristics.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParams.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParamsMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyRequestType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatus.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatus.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatus.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/RxFilterType.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SaeH2eMode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SignalPollResult.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceCallbackState.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceReasonCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStateChangeData.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStatusCode.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TlsVersion.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TransitionDisableIndication.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WifiTechnology.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpaDriverCapabilitiesMask.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigError.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigMethods.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsDevPasswordId.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsErrorIndication.aidl create mode 100644 wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsProvisionMethod.aidl diff --git a/audio/aidl/Android.bp b/audio/aidl/Android.bp index 3963ce339d..8bb8cd5612 100644 --- a/audio/aidl/Android.bp +++ b/audio/aidl/Android.bp @@ -44,7 +44,7 @@ aidl_interface { "android/hardware/audio/common/SinkMetadata.aidl", "android/hardware/audio/common/SourceMetadata.aidl", ], - frozen: false, + frozen: true, backend: { cpp: { enabled: true, @@ -74,6 +74,10 @@ aidl_interface { version: "2", imports: ["android.media.audio.common.types-V2"], }, + { + version: "3", + imports: ["android.media.audio.common.types-V3"], + }, // IMPORTANT: Update latest_android_hardware_audio_common every time you // add the latest frozen version to versions_with_info @@ -169,11 +173,22 @@ aidl_interface { "android.media.audio.common.types-V2", ], }, + { + version: "2", + imports: [ + "android.media.audio.common.types-V3", + "android.hardware.audio.effect-V2", + "android.hardware.audio.core.sounddose-V2", + "android.hardware.audio.common-V3", + "android.hardware.common-V2", + "android.hardware.common.fmq-V1", + ], + }, // IMPORTANT: Update latest_android_hardware_audio_core every time you // add the latest frozen version to versions_with_info ], - frozen: false, + frozen: true, } // Note: This should always be one version ahead of the last frozen version @@ -227,11 +242,15 @@ aidl_interface { version: "1", imports: ["android.media.audio.common.types-V2"], }, + { + version: "2", + imports: ["android.media.audio.common.types-V3"], + }, // IMPORTANT: Update latest_android_hardware_audio_core_sounddose every time you // add the latest frozen version to versions_with_info ], - frozen: false, + frozen: true, } // Note: This should always be one version ahead of the last frozen version @@ -328,8 +347,18 @@ aidl_interface { "android.media.audio.common.types-V2", ], }, + { + version: "2", + imports: [ + "android.media.audio.common.types-V3", + "android.hardware.audio.common-V3", + "android.hardware.common-V2", + "android.hardware.common.fmq-V1", + ], + }, + ], - frozen: false, + frozen: true, } diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/.hash b/audio/aidl/aidl_api/android.hardware.audio.common/3/.hash new file mode 100644 index 0000000000..6addcf52a6 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/.hash @@ -0,0 +1 @@ +57ce9506b87e721f0d994b16d7cd16a494f699b9 diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/AudioOffloadMetadata.aidl b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/AudioOffloadMetadata.aidl new file mode 100644 index 0000000000..000504bd40 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/AudioOffloadMetadata.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.common; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioOffloadMetadata { + int sampleRate; + android.media.audio.common.AudioChannelLayout channelMask; + int averageBitRatePerSecond; + int delayFrames; + int paddingFrames; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/PlaybackTrackMetadata.aidl b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/PlaybackTrackMetadata.aidl new file mode 100644 index 0000000000..be4941c751 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/PlaybackTrackMetadata.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.common; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable PlaybackTrackMetadata { + android.media.audio.common.AudioUsage usage = android.media.audio.common.AudioUsage.INVALID; + android.media.audio.common.AudioContentType contentType = android.media.audio.common.AudioContentType.UNKNOWN; + float gain; + android.media.audio.common.AudioChannelLayout channelMask; + @nullable android.media.audio.common.AudioDevice sourceDevice; + @utf8InCpp String[] tags; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/RecordTrackMetadata.aidl b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/RecordTrackMetadata.aidl new file mode 100644 index 0000000000..8f667d1081 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/RecordTrackMetadata.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.common; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable RecordTrackMetadata { + android.media.audio.common.AudioSource source = android.media.audio.common.AudioSource.SYS_RESERVED_INVALID; + float gain; + @nullable android.media.audio.common.AudioDevice destinationDevice; + android.media.audio.common.AudioChannelLayout channelMask; + @utf8InCpp String[] tags; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SinkMetadata.aidl b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SinkMetadata.aidl new file mode 100644 index 0000000000..270147d2bb --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SinkMetadata.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.common; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SinkMetadata { + android.hardware.audio.common.RecordTrackMetadata[] tracks; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SourceMetadata.aidl b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SourceMetadata.aidl new file mode 100644 index 0000000000..2d4a982352 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.common/3/android/hardware/audio/common/SourceMetadata.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.common; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SourceMetadata { + android.hardware.audio.common.PlaybackTrackMetadata[] tracks; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/.hash b/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/.hash new file mode 100644 index 0000000000..b49d59bf1c --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/.hash @@ -0,0 +1 @@ +daed2ce165b383deb25a388fb04396a6b53746f3 diff --git a/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/android/hardware/audio/core/sounddose/ISoundDose.aidl b/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/android/hardware/audio/core/sounddose/ISoundDose.aidl new file mode 100644 index 0000000000..580009192d --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core.sounddose/2/android/hardware/audio/core/sounddose/ISoundDose.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core.sounddose; +@VintfStability +interface ISoundDose { + void setOutputRs2UpperBound(float rs2ValueDbA); + float getOutputRs2UpperBound(); + void registerSoundDoseCallback(in android.hardware.audio.core.sounddose.ISoundDose.IHalSoundDoseCallback callback); + const int DEFAULT_MAX_RS2 = 100; + const int MIN_RS2 = 80; + @VintfStability + interface IHalSoundDoseCallback { + oneway void onMomentaryExposureWarning(float currentDbA, in android.media.audio.common.AudioDevice audioDevice); + oneway void onNewMelValues(in android.hardware.audio.core.sounddose.ISoundDose.IHalSoundDoseCallback.MelRecord melRecord, in android.media.audio.common.AudioDevice audioDevice); + @VintfStability + parcelable MelRecord { + float[] melValues; + long timestamp; + } + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/.hash b/audio/aidl/aidl_api/android.hardware.audio.core/2/.hash new file mode 100644 index 0000000000..aaca981657 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/.hash @@ -0,0 +1 @@ +003735b3fd3c94c53b02a6eb5e099731f7062610 diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioPatch.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioPatch.aidl new file mode 100644 index 0000000000..078b5ea329 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioPatch.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioPatch { + int id; + int[] sourcePortConfigIds; + int[] sinkPortConfigIds; + int minimumStreamBufferSizeFrames; + int[] latenciesMs; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioRoute.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioRoute.aidl new file mode 100644 index 0000000000..deeef872d7 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/AudioRoute.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AudioRoute { + int[] sourcePortIds; + int sinkPortId; + boolean isExclusive; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetooth.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetooth.aidl new file mode 100644 index 0000000000..9357a1587e --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetooth.aidl @@ -0,0 +1,61 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IBluetooth { + android.hardware.audio.core.IBluetooth.ScoConfig setScoConfig(in android.hardware.audio.core.IBluetooth.ScoConfig config); + android.hardware.audio.core.IBluetooth.HfpConfig setHfpConfig(in android.hardware.audio.core.IBluetooth.HfpConfig config); + @JavaDerive(equals=true, toString=true) @VintfStability + parcelable ScoConfig { + @nullable android.media.audio.common.Boolean isEnabled; + @nullable android.media.audio.common.Boolean isNrecEnabled; + android.hardware.audio.core.IBluetooth.ScoConfig.Mode mode = android.hardware.audio.core.IBluetooth.ScoConfig.Mode.UNSPECIFIED; + @nullable @utf8InCpp String debugName; + @VintfStability + enum Mode { + UNSPECIFIED, + SCO, + SCO_WB, + SCO_SWB, + } + } + @JavaDerive(equals=true, toString=true) @VintfStability + parcelable HfpConfig { + @nullable android.media.audio.common.Boolean isEnabled; + @nullable android.media.audio.common.Int sampleRate; + @nullable android.media.audio.common.Float volume; + const int VOLUME_MIN = 0; + const int VOLUME_MAX = 1; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothA2dp.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothA2dp.aidl new file mode 100644 index 0000000000..0f4c46d73f --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothA2dp.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IBluetoothA2dp { + boolean isEnabled(); + void setEnabled(boolean enabled); + boolean supportsOffloadReconfiguration(); + void reconfigureOffload(in android.hardware.audio.core.VendorParameter[] parameters); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothLe.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothLe.aidl new file mode 100644 index 0000000000..2068daf431 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IBluetoothLe.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IBluetoothLe { + boolean isEnabled(); + void setEnabled(boolean enabled); + boolean supportsOffloadReconfiguration(); + void reconfigureOffload(in android.hardware.audio.core.VendorParameter[] parameters); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IConfig.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IConfig.aidl new file mode 100644 index 0000000000..9ce45bb652 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IConfig.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IConfig { + android.hardware.audio.core.SurroundSoundConfig getSurroundSoundConfig(); + android.media.audio.common.AudioHalEngineConfig getEngineConfig(); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IModule.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IModule.aidl new file mode 100644 index 0000000000..07a85f8fd8 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IModule.aidl @@ -0,0 +1,119 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IModule { + void setModuleDebug(in android.hardware.audio.core.ModuleDebug debug); + @nullable android.hardware.audio.core.ITelephony getTelephony(); + @nullable android.hardware.audio.core.IBluetooth getBluetooth(); + @nullable android.hardware.audio.core.IBluetoothA2dp getBluetoothA2dp(); + @nullable android.hardware.audio.core.IBluetoothLe getBluetoothLe(); + android.media.audio.common.AudioPort connectExternalDevice(in android.media.audio.common.AudioPort templateIdAndAdditionalData); + void disconnectExternalDevice(int portId); + android.hardware.audio.core.AudioPatch[] getAudioPatches(); + android.media.audio.common.AudioPort getAudioPort(int portId); + android.media.audio.common.AudioPortConfig[] getAudioPortConfigs(); + android.media.audio.common.AudioPort[] getAudioPorts(); + android.hardware.audio.core.AudioRoute[] getAudioRoutes(); + android.hardware.audio.core.AudioRoute[] getAudioRoutesForAudioPort(int portId); + android.hardware.audio.core.IModule.OpenInputStreamReturn openInputStream(in android.hardware.audio.core.IModule.OpenInputStreamArguments args); + android.hardware.audio.core.IModule.OpenOutputStreamReturn openOutputStream(in android.hardware.audio.core.IModule.OpenOutputStreamArguments args); + android.hardware.audio.core.IModule.SupportedPlaybackRateFactors getSupportedPlaybackRateFactors(); + android.hardware.audio.core.AudioPatch setAudioPatch(in android.hardware.audio.core.AudioPatch requested); + boolean setAudioPortConfig(in android.media.audio.common.AudioPortConfig requested, out android.media.audio.common.AudioPortConfig suggested); + void resetAudioPatch(int patchId); + void resetAudioPortConfig(int portConfigId); + boolean getMasterMute(); + void setMasterMute(boolean mute); + float getMasterVolume(); + void setMasterVolume(float volume); + boolean getMicMute(); + void setMicMute(boolean mute); + android.media.audio.common.MicrophoneInfo[] getMicrophones(); + void updateAudioMode(android.media.audio.common.AudioMode mode); + void updateScreenRotation(android.hardware.audio.core.IModule.ScreenRotation rotation); + void updateScreenState(boolean isTurnedOn); + @nullable android.hardware.audio.core.sounddose.ISoundDose getSoundDose(); + int generateHwAvSyncId(); + android.hardware.audio.core.VendorParameter[] getVendorParameters(in @utf8InCpp String[] ids); + void setVendorParameters(in android.hardware.audio.core.VendorParameter[] parameters, boolean async); + void addDeviceEffect(int portConfigId, in android.hardware.audio.effect.IEffect effect); + void removeDeviceEffect(int portConfigId, in android.hardware.audio.effect.IEffect effect); + android.media.audio.common.AudioMMapPolicyInfo[] getMmapPolicyInfos(android.media.audio.common.AudioMMapPolicyType mmapPolicyType); + boolean supportsVariableLatency(); + int getAAudioMixerBurstCount(); + int getAAudioHardwareBurstMinUsec(); + void prepareToDisconnectExternalDevice(int portId); + const int DEFAULT_AAUDIO_MIXER_BURST_COUNT = 2; + const int DEFAULT_AAUDIO_HARDWARE_BURST_MIN_DURATION_US = 1000; + @VintfStability + parcelable OpenInputStreamArguments { + int portConfigId; + android.hardware.audio.common.SinkMetadata sinkMetadata; + long bufferSizeFrames; + } + @VintfStability + parcelable OpenInputStreamReturn { + android.hardware.audio.core.IStreamIn stream; + android.hardware.audio.core.StreamDescriptor desc; + } + @VintfStability + parcelable OpenOutputStreamArguments { + int portConfigId; + android.hardware.audio.common.SourceMetadata sourceMetadata; + @nullable android.media.audio.common.AudioOffloadInfo offloadInfo; + long bufferSizeFrames; + @nullable android.hardware.audio.core.IStreamCallback callback; + @nullable android.hardware.audio.core.IStreamOutEventCallback eventCallback; + } + @VintfStability + parcelable OpenOutputStreamReturn { + android.hardware.audio.core.IStreamOut stream; + android.hardware.audio.core.StreamDescriptor desc; + } + @VintfStability + parcelable SupportedPlaybackRateFactors { + float minSpeed; + float maxSpeed; + float minPitch; + float maxPitch; + } + @Backing(type="int") @VintfStability + enum ScreenRotation { + DEG_0 = 0, + DEG_90 = 1, + DEG_180 = 2, + DEG_270 = 3, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCallback.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCallback.aidl new file mode 100644 index 0000000000..5a2ab78d88 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCallback.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IStreamCallback { + oneway void onTransferReady(); + oneway void onError(); + oneway void onDrainReady(); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCommon.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCommon.aidl new file mode 100644 index 0000000000..65a2ee4542 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamCommon.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IStreamCommon { + void close(); + void prepareToClose(); + void updateHwAvSyncId(int hwAvSyncId); + android.hardware.audio.core.VendorParameter[] getVendorParameters(in @utf8InCpp String[] ids); + void setVendorParameters(in android.hardware.audio.core.VendorParameter[] parameters, boolean async); + void addEffect(in android.hardware.audio.effect.IEffect effect); + void removeEffect(in android.hardware.audio.effect.IEffect effect); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamIn.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamIn.aidl new file mode 100644 index 0000000000..a01f877e86 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamIn.aidl @@ -0,0 +1,58 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IStreamIn { + android.hardware.audio.core.IStreamCommon getStreamCommon(); + android.media.audio.common.MicrophoneDynamicInfo[] getActiveMicrophones(); + android.hardware.audio.core.IStreamIn.MicrophoneDirection getMicrophoneDirection(); + void setMicrophoneDirection(android.hardware.audio.core.IStreamIn.MicrophoneDirection direction); + float getMicrophoneFieldDimension(); + void setMicrophoneFieldDimension(float zoom); + void updateMetadata(in android.hardware.audio.common.SinkMetadata sinkMetadata); + float[] getHwGain(); + void setHwGain(in float[] channelGains); + const int MIC_FIELD_DIMENSION_WIDE_ANGLE = (-1) /* -1 */; + const int MIC_FIELD_DIMENSION_NO_ZOOM = 0; + const int MIC_FIELD_DIMENSION_MAX_ZOOM = 1; + const int HW_GAIN_MIN = 0; + const int HW_GAIN_MAX = 1; + @Backing(type="int") @VintfStability + enum MicrophoneDirection { + UNSPECIFIED = 0, + FRONT = 1, + BACK = 2, + EXTERNAL = 3, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOut.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOut.aidl new file mode 100644 index 0000000000..ec3078efd7 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOut.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IStreamOut { + android.hardware.audio.core.IStreamCommon getStreamCommon(); + void updateMetadata(in android.hardware.audio.common.SourceMetadata sourceMetadata); + void updateOffloadMetadata(in android.hardware.audio.common.AudioOffloadMetadata offloadMetadata); + float[] getHwVolume(); + void setHwVolume(in float[] channelVolumes); + float getAudioDescriptionMixLevel(); + void setAudioDescriptionMixLevel(float leveldB); + android.media.audio.common.AudioDualMonoMode getDualMonoMode(); + void setDualMonoMode(android.media.audio.common.AudioDualMonoMode mode); + android.media.audio.common.AudioLatencyMode[] getRecommendedLatencyModes(); + void setLatencyMode(android.media.audio.common.AudioLatencyMode mode); + android.media.audio.common.AudioPlaybackRate getPlaybackRateParameters(); + void setPlaybackRateParameters(in android.media.audio.common.AudioPlaybackRate playbackRate); + void selectPresentation(int presentationId, int programId); + const int HW_VOLUME_MIN = 0; + const int HW_VOLUME_MAX = 1; + const int AUDIO_DESCRIPTION_MIX_LEVEL_MAX = 48; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOutEventCallback.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOutEventCallback.aidl new file mode 100644 index 0000000000..31cf0b7fc7 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/IStreamOutEventCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface IStreamOutEventCallback { + oneway void onCodecFormatChanged(in byte[] audioMetadata); + oneway void onRecommendedLatencyModeChanged(in android.media.audio.common.AudioLatencyMode[] modes); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ITelephony.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ITelephony.aidl new file mode 100644 index 0000000000..84d7aa1aa4 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ITelephony.aidl @@ -0,0 +1,56 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@VintfStability +interface ITelephony { + android.media.audio.common.AudioMode[] getSupportedAudioModes(); + void switchAudioMode(android.media.audio.common.AudioMode mode); + android.hardware.audio.core.ITelephony.TelecomConfig setTelecomConfig(in android.hardware.audio.core.ITelephony.TelecomConfig config); + @JavaDerive(equals=true, toString=true) @VintfStability + parcelable TelecomConfig { + @nullable android.media.audio.common.Float voiceVolume; + android.hardware.audio.core.ITelephony.TelecomConfig.TtyMode ttyMode = android.hardware.audio.core.ITelephony.TelecomConfig.TtyMode.UNSPECIFIED; + @nullable android.media.audio.common.Boolean isHacEnabled; + const int VOICE_VOLUME_MIN = 0; + const int VOICE_VOLUME_MAX = 1; + @Backing(type="int") @VintfStability + enum TtyMode { + UNSPECIFIED = (-1) /* -1 */, + OFF = 0, + FULL = 1, + HCO = 2, + VCO = 3, + } + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/MmapBufferDescriptor.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/MmapBufferDescriptor.aidl new file mode 100644 index 0000000000..6ea1c69526 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/MmapBufferDescriptor.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable MmapBufferDescriptor { + android.hardware.common.Ashmem sharedMemory; + long burstSizeFrames; + int flags; + const int FLAG_INDEX_APPLICATION_SHAREABLE = 0; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ModuleDebug.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ModuleDebug.aidl new file mode 100644 index 0000000000..467d37b6f7 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/ModuleDebug.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ModuleDebug { + boolean simulateDeviceConnections; + int streamTransientStateDelayMs; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/StreamDescriptor.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/StreamDescriptor.aidl new file mode 100644 index 0000000000..3e3dc38b2a --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/StreamDescriptor.aidl @@ -0,0 +1,93 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable StreamDescriptor { + android.hardware.common.fmq.MQDescriptor command; + android.hardware.common.fmq.MQDescriptor reply; + int frameSizeBytes; + long bufferSizeFrames; + android.hardware.audio.core.StreamDescriptor.AudioBuffer audio; + const int LATENCY_UNKNOWN = (-1) /* -1 */; + @FixedSize @VintfStability + parcelable Position { + long frames = UNKNOWN /* -1 */; + long timeNs = UNKNOWN /* -1 */; + const long UNKNOWN = (-1) /* -1 */; + } + @Backing(type="int") @VintfStability + enum State { + STANDBY = 1, + IDLE = 2, + ACTIVE = 3, + PAUSED = 4, + DRAINING = 5, + DRAIN_PAUSED = 6, + TRANSFERRING = 7, + TRANSFER_PAUSED = 8, + ERROR = 100, + } + @Backing(type="byte") @VintfStability + enum DrainMode { + DRAIN_UNSPECIFIED = 0, + DRAIN_ALL = 1, + DRAIN_EARLY_NOTIFY = 2, + } + @FixedSize @VintfStability + union Command { + int halReservedExit; + android.media.audio.common.Void getStatus; + android.media.audio.common.Void start; + int burst; + android.hardware.audio.core.StreamDescriptor.DrainMode drain; + android.media.audio.common.Void standby; + android.media.audio.common.Void pause; + android.media.audio.common.Void flush; + } + @FixedSize @VintfStability + parcelable Reply { + int status; + int fmqByteCount; + android.hardware.audio.core.StreamDescriptor.Position observable; + android.hardware.audio.core.StreamDescriptor.Position hardware; + int latencyMs; + int xrunFrames; + android.hardware.audio.core.StreamDescriptor.State state = android.hardware.audio.core.StreamDescriptor.State.STANDBY; + } + @VintfStability + union AudioBuffer { + android.hardware.common.fmq.MQDescriptor fmq; + android.hardware.audio.core.MmapBufferDescriptor mmap; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/SurroundSoundConfig.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/SurroundSoundConfig.aidl new file mode 100644 index 0000000000..08a153778f --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/SurroundSoundConfig.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SurroundSoundConfig { + android.hardware.audio.core.SurroundSoundConfig.SurroundFormatFamily[] formatFamilies; + @VintfStability + parcelable SurroundFormatFamily { + android.media.audio.common.AudioFormatDescription primaryFormat; + android.media.audio.common.AudioFormatDescription[] subFormats; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/VendorParameter.aidl b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/VendorParameter.aidl new file mode 100644 index 0000000000..bfe33ee4b4 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.core/2/android/hardware/audio/core/VendorParameter.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.core; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VendorParameter { + @utf8InCpp String id; + ParcelableHolder ext; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/.hash b/audio/aidl/aidl_api/android.hardware.audio.effect/2/.hash new file mode 100644 index 0000000000..1c70e872e6 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/.hash @@ -0,0 +1 @@ +54d5a2e1d59066b57e35eb7bcb5ebc72a1259c1c diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AcousticEchoCanceler.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AcousticEchoCanceler.aidl new file mode 100644 index 0000000000..16367c0b80 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AcousticEchoCanceler.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union AcousticEchoCanceler { + android.hardware.audio.effect.VendorExtension vendor; + int echoDelayUs; + boolean mobileMode; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.AcousticEchoCanceler.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV1.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV1.aidl new file mode 100644 index 0000000000..e69e2bd81d --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV1.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union AutomaticGainControlV1 { + android.hardware.audio.effect.VendorExtension vendor; + int targetPeakLevelDbFs; + int maxCompressionGainDb; + boolean enableLimiter; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.AutomaticGainControlV1.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV2.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV2.aidl new file mode 100644 index 0000000000..46ffcafb31 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/AutomaticGainControlV2.aidl @@ -0,0 +1,51 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union AutomaticGainControlV2 { + android.hardware.audio.effect.VendorExtension vendor; + int fixedDigitalGainMb; + android.hardware.audio.effect.AutomaticGainControlV2.LevelEstimator levelEstimator; + int saturationMarginMb; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.AutomaticGainControlV2.Tag commonTag; + } + @Backing(type="int") @VintfStability + enum LevelEstimator { + RMS = 0, + PEAK = 1, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/BassBoost.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/BassBoost.aidl new file mode 100644 index 0000000000..c248ce8a8a --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/BassBoost.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union BassBoost { + android.hardware.audio.effect.VendorExtension vendor; + int strengthPm; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.BassBoost.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Capability.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Capability.aidl new file mode 100644 index 0000000000..c9df073489 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Capability.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable Capability { + android.hardware.audio.effect.VendorExtension vendorExtension; + android.hardware.audio.effect.Range range; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/CommandId.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/CommandId.aidl new file mode 100644 index 0000000000..86b69fa2f2 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/CommandId.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@Backing(type="int") @VintfStability +enum CommandId { + START = 0, + STOP = 1, + RESET = 2, + VENDOR_COMMAND_0 = 0x100, + VENDOR_COMMAND_1, + VENDOR_COMMAND_2, + VENDOR_COMMAND_3, + VENDOR_COMMAND_4, + VENDOR_COMMAND_5, + VENDOR_COMMAND_6, + VENDOR_COMMAND_7, + VENDOR_COMMAND_8, + VENDOR_COMMAND_9, +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DefaultExtension.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DefaultExtension.aidl new file mode 100644 index 0000000000..f1cf3898c5 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DefaultExtension.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable DefaultExtension { + byte[] bytes; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Descriptor.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Descriptor.aidl new file mode 100644 index 0000000000..115da1db57 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Descriptor.aidl @@ -0,0 +1,70 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable Descriptor { + android.hardware.audio.effect.Descriptor.Common common; + android.hardware.audio.effect.Capability capability; + const String EFFECT_TYPE_UUID_AEC = "7b491460-8d4d-11e0-bd61-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_AGC1 = "0a8abfe0-654c-11e0-ba26-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_AGC2 = "ae3c653b-be18-4ab8-8938-418f0a7f06ac"; + const String EFFECT_TYPE_UUID_BASS_BOOST = "0634f220-ddd4-11db-a0fc-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_DOWNMIX = "381e49cc-a858-4aa2-87f6-e8388e7601b2"; + const String EFFECT_TYPE_UUID_DYNAMICS_PROCESSING = "7261676f-6d75-7369-6364-28e2fd3ac39e"; + const String EFFECT_TYPE_UUID_ENV_REVERB = "c2e5d5f0-94bd-4763-9cac-4e234d06839e"; + const String EFFECT_TYPE_UUID_EQUALIZER = "0bed4300-ddd6-11db-8f34-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_HAPTIC_GENERATOR = "1411e6d6-aecd-4021-a1cf-a6aceb0d71e5"; + const String EFFECT_TYPE_UUID_LOUDNESS_ENHANCER = "fe3199be-aed0-413f-87bb-11260eb63cf1"; + const String EFFECT_TYPE_UUID_NS = "58b4b260-8e06-11e0-aa8e-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_PRESET_REVERB = "47382d60-ddd8-11db-bf3a-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_SPATIALIZER = "ccd4cf09-a79d-46c2-9aae-06a1698d6c8f"; + const String EFFECT_TYPE_UUID_VIRTUALIZER = "37cc2c00-dddd-11db-8577-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_VISUALIZER = "e46b26a0-dddd-11db-8afd-0002a5d5c51b"; + const String EFFECT_TYPE_UUID_VOLUME = "09e8ede0-ddde-11db-b4f6-0002a5d5c51b"; + @VintfStability + parcelable Identity { + android.media.audio.common.AudioUuid type; + android.media.audio.common.AudioUuid uuid; + @nullable android.media.audio.common.AudioUuid proxy; + } + @VintfStability + parcelable Common { + android.hardware.audio.effect.Descriptor.Identity id; + android.hardware.audio.effect.Flags flags; + int cpuLoad; + int memoryUsage; + @utf8InCpp String name; + @utf8InCpp String implementor; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Downmix.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Downmix.aidl new file mode 100644 index 0000000000..ce0a7df1ff --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Downmix.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Downmix { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.Downmix.Type type; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Downmix.Tag commonTag; + } + @VintfStability + enum Type { + STRIP, + FOLD, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DynamicsProcessing.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DynamicsProcessing.aidl new file mode 100644 index 0000000000..04f627d07b --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/DynamicsProcessing.aidl @@ -0,0 +1,115 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union DynamicsProcessing { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.DynamicsProcessing.EngineArchitecture engineArchitecture; + android.hardware.audio.effect.DynamicsProcessing.ChannelConfig[] preEq; + android.hardware.audio.effect.DynamicsProcessing.ChannelConfig[] postEq; + android.hardware.audio.effect.DynamicsProcessing.EqBandConfig[] preEqBand; + android.hardware.audio.effect.DynamicsProcessing.EqBandConfig[] postEqBand; + android.hardware.audio.effect.DynamicsProcessing.ChannelConfig[] mbc; + android.hardware.audio.effect.DynamicsProcessing.MbcBandConfig[] mbcBand; + android.hardware.audio.effect.DynamicsProcessing.LimiterConfig[] limiter; + android.hardware.audio.effect.DynamicsProcessing.InputGain[] inputGain; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.DynamicsProcessing.Tag commonTag; + } + enum ResolutionPreference { + FAVOR_FREQUENCY_RESOLUTION, + FAVOR_TIME_RESOLUTION, + } + @VintfStability + parcelable StageEnablement { + boolean inUse; + int bandCount; + } + @VintfStability + parcelable EngineArchitecture { + android.hardware.audio.effect.DynamicsProcessing.ResolutionPreference resolutionPreference = android.hardware.audio.effect.DynamicsProcessing.ResolutionPreference.FAVOR_FREQUENCY_RESOLUTION; + float preferredProcessingDurationMs; + android.hardware.audio.effect.DynamicsProcessing.StageEnablement preEqStage; + android.hardware.audio.effect.DynamicsProcessing.StageEnablement postEqStage; + android.hardware.audio.effect.DynamicsProcessing.StageEnablement mbcStage; + boolean limiterInUse; + } + @VintfStability + parcelable ChannelConfig { + int channel; + boolean enable; + } + @VintfStability + parcelable EqBandConfig { + int channel; + int band; + boolean enable; + float cutoffFrequencyHz; + float gainDb; + } + @VintfStability + parcelable MbcBandConfig { + int channel; + int band; + boolean enable; + float cutoffFrequencyHz; + float attackTimeMs; + float releaseTimeMs; + float ratio; + float thresholdDb; + float kneeWidthDb; + float noiseGateThresholdDb; + float expanderRatio; + float preGainDb; + float postGainDb; + } + @VintfStability + parcelable LimiterConfig { + int channel; + boolean enable; + int linkGroup; + float attackTimeMs; + float releaseTimeMs; + float ratio; + float thresholdDb; + float postGainDb; + } + @VintfStability + parcelable InputGain { + int channel; + float gainDb; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/EnvironmentalReverb.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/EnvironmentalReverb.aidl new file mode 100644 index 0000000000..00b7d1acfb --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/EnvironmentalReverb.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union EnvironmentalReverb { + android.hardware.audio.effect.VendorExtension vendor; + int roomLevelMb; + int roomHfLevelMb; + int decayTimeMs; + int decayHfRatioPm; + int reflectionsLevelMb; + int reflectionsDelayMs; + int levelMb; + int delayMs; + int diffusionPm; + int densityPm; + boolean bypass; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.EnvironmentalReverb.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Equalizer.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Equalizer.aidl new file mode 100644 index 0000000000..80f7c7e952 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Equalizer.aidl @@ -0,0 +1,64 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Equalizer { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.Equalizer.BandLevel[] bandLevels; + int preset; + int[] centerFreqMh; + android.hardware.audio.effect.Equalizer.BandFrequency[] bandFrequencies; + android.hardware.audio.effect.Equalizer.Preset[] presets; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Equalizer.Tag commonTag; + } + @VintfStability + parcelable BandLevel { + int index; + int levelMb; + } + @VintfStability + parcelable BandFrequency { + int index; + int minMh; + int maxMh; + } + @VintfStability + parcelable Preset { + int index; + @utf8InCpp String name; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Flags.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Flags.aidl new file mode 100644 index 0000000000..046c220ea0 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Flags.aidl @@ -0,0 +1,76 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable Flags { + android.hardware.audio.effect.Flags.Type type = android.hardware.audio.effect.Flags.Type.INSERT; + android.hardware.audio.effect.Flags.Insert insert = android.hardware.audio.effect.Flags.Insert.ANY; + android.hardware.audio.effect.Flags.Volume volume = android.hardware.audio.effect.Flags.Volume.NONE; + android.hardware.audio.effect.Flags.HardwareAccelerator hwAcceleratorMode = android.hardware.audio.effect.Flags.HardwareAccelerator.NONE; + boolean offloadIndication; + boolean deviceIndication; + boolean audioModeIndication; + boolean audioSourceIndication; + boolean bypass; + boolean sinkMetadataIndication; + boolean sourceMetadataIndication; + @Backing(type="byte") @VintfStability + enum Type { + INSERT = 0, + AUXILIARY = 1, + REPLACE = 2, + PRE_PROC = 3, + POST_PROC = 4, + } + @Backing(type="byte") @VintfStability + enum Insert { + ANY = 0, + FIRST = 1, + LAST = 2, + EXCLUSIVE = 3, + } + @Backing(type="byte") @VintfStability + enum Volume { + NONE = 0, + CTRL = 1, + IND = 2, + MONITOR = 3, + } + @Backing(type="byte") @VintfStability + enum HardwareAccelerator { + NONE = 0, + SIMPLE = 1, + TUNNEL = 2, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/HapticGenerator.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/HapticGenerator.aidl new file mode 100644 index 0000000000..8addab7b5f --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/HapticGenerator.aidl @@ -0,0 +1,65 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union HapticGenerator { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.HapticGenerator.HapticScale[] hapticScales; + android.hardware.audio.effect.HapticGenerator.VibratorInformation vibratorInfo; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.HapticGenerator.Tag commonTag; + } + @Backing(type="int") @VintfStability + enum VibratorScale { + MUTE = (-100) /* -100 */, + VERY_LOW = (-2) /* -2 */, + LOW = (-1) /* -1 */, + NONE = 0, + HIGH = 1, + VERY_HIGH = 2, + } + @VintfStability + parcelable HapticScale { + int id; + android.hardware.audio.effect.HapticGenerator.VibratorScale scale = android.hardware.audio.effect.HapticGenerator.VibratorScale.MUTE; + } + @VintfStability + parcelable VibratorInformation { + float resonantFrequencyHz; + float qFactor; + float maxAmplitude; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IEffect.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IEffect.aidl new file mode 100644 index 0000000000..a1b00be41f --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IEffect.aidl @@ -0,0 +1,57 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +interface IEffect { + android.hardware.audio.effect.IEffect.OpenEffectReturn open(in android.hardware.audio.effect.Parameter.Common common, in @nullable android.hardware.audio.effect.Parameter.Specific specific); + void close(); + android.hardware.audio.effect.Descriptor getDescriptor(); + void command(in android.hardware.audio.effect.CommandId commandId); + android.hardware.audio.effect.State getState(); + void setParameter(in android.hardware.audio.effect.Parameter param); + android.hardware.audio.effect.Parameter getParameter(in android.hardware.audio.effect.Parameter.Id paramId); + android.hardware.audio.effect.IEffect.OpenEffectReturn reopen(); + @FixedSize @VintfStability + parcelable Status { + int status; + int fmqConsumed; + int fmqProduced; + } + @VintfStability + parcelable OpenEffectReturn { + android.hardware.common.fmq.MQDescriptor statusMQ; + android.hardware.common.fmq.MQDescriptor inputDataMQ; + android.hardware.common.fmq.MQDescriptor outputDataMQ; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IFactory.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IFactory.aidl new file mode 100644 index 0000000000..a6c138c0ef --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/IFactory.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +interface IFactory { + android.hardware.audio.effect.Descriptor[] queryEffects(in @nullable android.media.audio.common.AudioUuid type, in @nullable android.media.audio.common.AudioUuid implementation, in @nullable android.media.audio.common.AudioUuid proxy); + android.hardware.audio.effect.Processing[] queryProcessing(in @nullable android.hardware.audio.effect.Processing.Type type); + android.hardware.audio.effect.IEffect createEffect(in android.media.audio.common.AudioUuid implUuid); + void destroyEffect(in android.hardware.audio.effect.IEffect handle); +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/LoudnessEnhancer.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/LoudnessEnhancer.aidl new file mode 100644 index 0000000000..fc276d67bc --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/LoudnessEnhancer.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union LoudnessEnhancer { + android.hardware.audio.effect.VendorExtension vendor; + int gainMb; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.LoudnessEnhancer.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/NoiseSuppression.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/NoiseSuppression.aidl new file mode 100644 index 0000000000..7f30fe2ab7 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/NoiseSuppression.aidl @@ -0,0 +1,57 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union NoiseSuppression { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.NoiseSuppression.Level level; + android.hardware.audio.effect.NoiseSuppression.Type type; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.NoiseSuppression.Tag commonTag; + } + @Backing(type="int") @VintfStability + enum Level { + LOW, + MEDIUM, + HIGH, + VERY_HIGH, + } + @Backing(type="int") @VintfStability + enum Type { + SINGLE_CHANNEL, + MULTI_CHANNEL, + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Parameter.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Parameter.aidl new file mode 100644 index 0000000000..ff33c42047 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Parameter.aidl @@ -0,0 +1,99 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Parameter { + android.hardware.audio.effect.Parameter.Common common; + android.media.audio.common.AudioDeviceDescription[] deviceDescription; + android.media.audio.common.AudioMode mode; + android.media.audio.common.AudioSource source; + boolean offload; + android.hardware.audio.effect.Parameter.VolumeStereo volumeStereo; + android.hardware.audio.effect.Parameter.Specific specific; + android.hardware.audio.common.SinkMetadata sinkMetadata; + android.hardware.audio.common.SourceMetadata sourceMetadata; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorEffectTag; + android.hardware.audio.effect.AcousticEchoCanceler.Id acousticEchoCancelerTag; + android.hardware.audio.effect.AutomaticGainControlV1.Id automaticGainControlV1Tag; + android.hardware.audio.effect.AutomaticGainControlV2.Id automaticGainControlV2Tag; + android.hardware.audio.effect.BassBoost.Id bassBoostTag; + android.hardware.audio.effect.Downmix.Id downmixTag; + android.hardware.audio.effect.DynamicsProcessing.Id dynamicsProcessingTag; + android.hardware.audio.effect.EnvironmentalReverb.Id environmentalReverbTag; + android.hardware.audio.effect.Equalizer.Id equalizerTag; + android.hardware.audio.effect.HapticGenerator.Id hapticGeneratorTag; + android.hardware.audio.effect.LoudnessEnhancer.Id loudnessEnhancerTag; + android.hardware.audio.effect.NoiseSuppression.Id noiseSuppressionTag; + android.hardware.audio.effect.PresetReverb.Id presetReverbTag; + android.hardware.audio.effect.Virtualizer.Id virtualizerTag; + android.hardware.audio.effect.Visualizer.Id visualizerTag; + android.hardware.audio.effect.Volume.Id volumeTag; + android.hardware.audio.effect.Parameter.Tag commonTag; + android.hardware.audio.effect.Spatializer.Id spatializerTag; + } + @VintfStability + parcelable Common { + int session; + int ioHandle; + android.media.audio.common.AudioConfig input; + android.media.audio.common.AudioConfig output; + } + @VintfStability + parcelable VolumeStereo { + float left; + float right; + } + @VintfStability + union Specific { + android.hardware.audio.effect.VendorExtension vendorEffect; + android.hardware.audio.effect.AcousticEchoCanceler acousticEchoCanceler; + android.hardware.audio.effect.AutomaticGainControlV1 automaticGainControlV1; + android.hardware.audio.effect.AutomaticGainControlV2 automaticGainControlV2; + android.hardware.audio.effect.BassBoost bassBoost; + android.hardware.audio.effect.Downmix downmix; + android.hardware.audio.effect.DynamicsProcessing dynamicsProcessing; + android.hardware.audio.effect.EnvironmentalReverb environmentalReverb; + android.hardware.audio.effect.Equalizer equalizer; + android.hardware.audio.effect.HapticGenerator hapticGenerator; + android.hardware.audio.effect.LoudnessEnhancer loudnessEnhancer; + android.hardware.audio.effect.NoiseSuppression noiseSuppression; + android.hardware.audio.effect.PresetReverb presetReverb; + android.hardware.audio.effect.Virtualizer virtualizer; + android.hardware.audio.effect.Visualizer visualizer; + android.hardware.audio.effect.Volume volume; + android.hardware.audio.effect.Spatializer spatializer; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/PresetReverb.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/PresetReverb.aidl new file mode 100644 index 0000000000..26d96b54f3 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/PresetReverb.aidl @@ -0,0 +1,55 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union PresetReverb { + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.PresetReverb.Presets[] supportedPresets; + android.hardware.audio.effect.PresetReverb.Presets preset; + @Backing(type="int") @VintfStability + enum Presets { + NONE, + SMALLROOM, + MEDIUMROOM, + LARGEROOM, + MEDIUMHALL, + LARGEHALL, + PLATE, + } + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.PresetReverb.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Processing.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Processing.aidl new file mode 100644 index 0000000000..f6d6ee25bf --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Processing.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable Processing { + android.hardware.audio.effect.Processing.Type type; + android.hardware.audio.effect.Descriptor[] ids; + @VintfStability + union Type { + android.media.audio.common.AudioStreamType streamType = android.media.audio.common.AudioStreamType.INVALID; + android.media.audio.common.AudioSource source; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Range.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Range.aidl new file mode 100644 index 0000000000..40ee6b5488 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Range.aidl @@ -0,0 +1,139 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Range { + android.hardware.audio.effect.Range.VendorExtensionRange[] vendorExtension = {}; + android.hardware.audio.effect.Range.AcousticEchoCancelerRange[] acousticEchoCanceler; + android.hardware.audio.effect.Range.AutomaticGainControlV1Range[] automaticGainControlV1; + android.hardware.audio.effect.Range.AutomaticGainControlV2Range[] automaticGainControlV2; + android.hardware.audio.effect.Range.BassBoostRange[] bassBoost; + android.hardware.audio.effect.Range.DownmixRange[] downmix; + android.hardware.audio.effect.Range.DynamicsProcessingRange[] dynamicsProcessing; + android.hardware.audio.effect.Range.EnvironmentalReverbRange[] environmentalReverb; + android.hardware.audio.effect.Range.EqualizerRange[] equalizer; + android.hardware.audio.effect.Range.HapticGeneratorRange[] hapticGenerator; + android.hardware.audio.effect.Range.LoudnessEnhancerRange[] loudnessEnhancer; + android.hardware.audio.effect.Range.NoiseSuppressionRange[] noiseSuppression; + android.hardware.audio.effect.Range.PresetReverbRange[] presetReverb; + android.hardware.audio.effect.Range.VirtualizerRange[] virtualizer; + android.hardware.audio.effect.Range.VisualizerRange[] visualizer; + android.hardware.audio.effect.Range.VolumeRange[] volume; + android.hardware.audio.effect.Range.SpatializerRange[] spatializer; + @VintfStability + parcelable AcousticEchoCancelerRange { + android.hardware.audio.effect.AcousticEchoCanceler min; + android.hardware.audio.effect.AcousticEchoCanceler max; + } + @VintfStability + parcelable AutomaticGainControlV1Range { + android.hardware.audio.effect.AutomaticGainControlV1 min; + android.hardware.audio.effect.AutomaticGainControlV1 max; + } + @VintfStability + parcelable AutomaticGainControlV2Range { + android.hardware.audio.effect.AutomaticGainControlV2 min; + android.hardware.audio.effect.AutomaticGainControlV2 max; + } + @VintfStability + parcelable BassBoostRange { + android.hardware.audio.effect.BassBoost min; + android.hardware.audio.effect.BassBoost max; + } + @VintfStability + parcelable DownmixRange { + android.hardware.audio.effect.Downmix min; + android.hardware.audio.effect.Downmix max; + } + @VintfStability + parcelable DynamicsProcessingRange { + android.hardware.audio.effect.DynamicsProcessing min; + android.hardware.audio.effect.DynamicsProcessing max; + } + @VintfStability + parcelable EnvironmentalReverbRange { + android.hardware.audio.effect.EnvironmentalReverb min; + android.hardware.audio.effect.EnvironmentalReverb max; + } + @VintfStability + parcelable EqualizerRange { + android.hardware.audio.effect.Equalizer min; + android.hardware.audio.effect.Equalizer max; + } + @VintfStability + parcelable HapticGeneratorRange { + android.hardware.audio.effect.HapticGenerator min; + android.hardware.audio.effect.HapticGenerator max; + } + @VintfStability + parcelable LoudnessEnhancerRange { + android.hardware.audio.effect.LoudnessEnhancer min; + android.hardware.audio.effect.LoudnessEnhancer max; + } + @VintfStability + parcelable NoiseSuppressionRange { + android.hardware.audio.effect.NoiseSuppression min; + android.hardware.audio.effect.NoiseSuppression max; + } + @VintfStability + parcelable PresetReverbRange { + android.hardware.audio.effect.PresetReverb min; + android.hardware.audio.effect.PresetReverb max; + } + @VintfStability + parcelable SpatializerRange { + android.hardware.audio.effect.Spatializer min; + android.hardware.audio.effect.Spatializer max; + } + @VintfStability + parcelable VendorExtensionRange { + android.hardware.audio.effect.VendorExtension min; + android.hardware.audio.effect.VendorExtension max; + } + @VintfStability + parcelable VirtualizerRange { + android.hardware.audio.effect.Virtualizer min; + android.hardware.audio.effect.Virtualizer max; + } + @VintfStability + parcelable VisualizerRange { + android.hardware.audio.effect.Visualizer min; + android.hardware.audio.effect.Visualizer max; + } + @VintfStability + parcelable VolumeRange { + android.hardware.audio.effect.Volume min; + android.hardware.audio.effect.Volume max; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Spatializer.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Spatializer.aidl new file mode 100644 index 0000000000..98ecee061a --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Spatializer.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Spatializer { + android.hardware.audio.effect.VendorExtension vendor; + android.media.audio.common.AudioChannelLayout[] supportedChannelLayout; + android.media.audio.common.Spatialization.Level spatializationLevel; + android.media.audio.common.Spatialization.Mode spatializationMode; + int headTrackingSensorId; + android.media.audio.common.HeadTracking.Mode headTrackingMode; + android.media.audio.common.HeadTracking.ConnectionMode headTrackingConnectionMode; + android.media.audio.common.HeadTracking.SensorData headTrackingSensorData; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Spatializer.Tag commonTag; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/State.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/State.aidl new file mode 100644 index 0000000000..17f98142f8 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/State.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@Backing(type="byte") @VintfStability +enum State { + INIT, + IDLE, + PROCESSING, +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/VendorExtension.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/VendorExtension.aidl new file mode 100644 index 0000000000..b806334a90 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/VendorExtension.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +parcelable VendorExtension { + ParcelableHolder extension; +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Virtualizer.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Virtualizer.aidl new file mode 100644 index 0000000000..6092b140c2 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Virtualizer.aidl @@ -0,0 +1,58 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Virtualizer { + android.hardware.audio.effect.VendorExtension vendor; + int strengthPm; + android.hardware.audio.effect.Virtualizer.ChannelAngle[] speakerAngles; + android.media.audio.common.AudioDeviceDescription device; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Virtualizer.Tag commonTag; + android.hardware.audio.effect.Virtualizer.SpeakerAnglesPayload speakerAnglesPayload; + } + @VintfStability + parcelable SpeakerAnglesPayload { + android.media.audio.common.AudioChannelLayout layout; + android.media.audio.common.AudioDeviceDescription device; + } + @VintfStability + parcelable ChannelAngle { + int channel; + int azimuthDegree; + int elevationDegree; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Visualizer.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Visualizer.aidl new file mode 100644 index 0000000000..7d319da751 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Visualizer.aidl @@ -0,0 +1,65 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Visualizer { + android.hardware.audio.effect.Visualizer.Id id; + android.hardware.audio.effect.VendorExtension vendor; + android.hardware.audio.effect.Visualizer.Measurement measurement; + byte[] captureSampleBuffer; + int latencyMs; + int captureSamples; + android.hardware.audio.effect.Visualizer.ScalingMode scalingMode; + android.hardware.audio.effect.Visualizer.MeasurementMode measurementMode; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Visualizer.Tag commonTag; + } + @VintfStability + enum ScalingMode { + NORMALIZED = 0, + AS_PLAYED, + } + @VintfStability + enum MeasurementMode { + NONE = 0, + PEAK_RMS, + } + @VintfStability + parcelable Measurement { + int rms; + int peak; + } +} diff --git a/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Volume.aidl b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Volume.aidl new file mode 100644 index 0000000000..8227118d72 --- /dev/null +++ b/audio/aidl/aidl_api/android.hardware.audio.effect/2/android/hardware/audio/effect/Volume.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.effect; +@VintfStability +union Volume { + android.hardware.audio.effect.VendorExtension vendor; + int levelDb; + boolean mute; + @VintfStability + union Id { + android.hardware.audio.effect.VendorExtension vendorExtensionTag; + android.hardware.audio.effect.Volume.Tag commonTag; + } +} diff --git a/audio/aidl/sounddose/Android.bp b/audio/aidl/sounddose/Android.bp index c65e4ff041..de3ed64186 100644 --- a/audio/aidl/sounddose/Android.bp +++ b/audio/aidl/sounddose/Android.bp @@ -48,11 +48,15 @@ aidl_interface { version: "1", imports: ["android.hardware.audio.core.sounddose-V1"], }, + { + version: "2", + imports: ["android.hardware.audio.core.sounddose-V2"], + }, // IMPORTANT: Update latest_android_hardware_audio_sounddose every time you // add the latest frozen version to versions_with_info ], - frozen: false, + frozen: true, } // Note: This should always be one version ahead of the last frozen version diff --git a/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/.hash b/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/.hash new file mode 100644 index 0000000000..1aaad0e7a2 --- /dev/null +++ b/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/.hash @@ -0,0 +1 @@ +f4469ffc7efc70957cbc2c7175c55adda2272f70 diff --git a/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/android/hardware/audio/sounddose/ISoundDoseFactory.aidl b/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/android/hardware/audio/sounddose/ISoundDoseFactory.aidl new file mode 100644 index 0000000000..148720ce4f --- /dev/null +++ b/audio/aidl/sounddose/aidl_api/android.hardware.audio.sounddose/2/android/hardware/audio/sounddose/ISoundDoseFactory.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.audio.sounddose; +@VintfStability +interface ISoundDoseFactory { + @nullable android.hardware.audio.core.sounddose.ISoundDose getSoundDose(in @utf8InCpp String module); +} diff --git a/automotive/audiocontrol/aidl/Android.bp b/automotive/audiocontrol/aidl/Android.bp index 86b63a6d9f..bedf5e4a96 100644 --- a/automotive/audiocontrol/aidl/Android.bp +++ b/automotive/audiocontrol/aidl/Android.bp @@ -50,9 +50,16 @@ aidl_interface { "android.media.audio.common.types-V2", ], }, + { + version: "4", + imports: [ + "android.media.audio.common.types-V3", + "android.hardware.audio.common-V3", + ], + }, ], - frozen: false, + frozen: true, } diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/.hash b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/.hash new file mode 100644 index 0000000000..8d73c8afd1 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/.hash @@ -0,0 +1 @@ +ee20ab2e2d0ffb894fc0b2ca33b72796d636793a diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioFocusChange.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioFocusChange.aidl new file mode 100644 index 0000000000..8eab521ce4 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioFocusChange.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@Backing(type="int") @VintfStability +enum AudioFocusChange { + NONE = 0, + GAIN = 1, + GAIN_TRANSIENT = 2, + GAIN_TRANSIENT_MAY_DUCK = 3, + GAIN_TRANSIENT_EXCLUSIVE = 4, + LOSS = ((-1) * GAIN) /* -1 */, + LOSS_TRANSIENT = ((-1) * GAIN_TRANSIENT) /* -2 */, + LOSS_TRANSIENT_CAN_DUCK = ((-1) * GAIN_TRANSIENT_MAY_DUCK) /* -3 */, +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioGainConfigInfo.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioGainConfigInfo.aidl new file mode 100644 index 0000000000..91ce035229 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/AudioGainConfigInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +parcelable AudioGainConfigInfo { + int zoneId; + String devicePortAddress; + int volumeIndex; +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/DuckingInfo.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/DuckingInfo.aidl new file mode 100644 index 0000000000..23abb46bd7 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/DuckingInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +parcelable DuckingInfo { + int zoneId; + String[] deviceAddressesToDuck; + String[] deviceAddressesToUnduck; + String[] usagesHoldingFocus; + @nullable android.hardware.audio.common.PlaybackTrackMetadata[] playbackMetaDataHoldingFocus; +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioControl.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioControl.aidl new file mode 100644 index 0000000000..23fa20e3b4 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioControl.aidl @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2020 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. + *//** + * Important note on Metadata: + * Metadata qualifies a playback track for an output stream. + * This is highly closed to {@link android.media.AudioAttributes}. + * It allows to identify the audio stream rendered / requesting / abandonning the focus. + * + * AudioControl 1.0 was limited to identification through {@code AttributeUsage} listed as + * {@code audioUsage} in audio_policy_configuration.xsd. + * + * Any new OEM needs would not be possible without extension. + * + * Relying on {@link android.hardware.automotive.audiocontrol.PlaybackTrackMetadata} allows + * to use a combination of {@code AttributeUsage}, {@code AttributeContentType} and + * {@code AttributeTags} to identify the use case / routing thanks to + * {@link android.media.audiopolicy.AudioProductStrategy}. + * The belonging to a strategy is deduced by an AOSP logic (in sync at native and java layer). + * + * IMPORTANT NOTE ON TAGS: + * To limit the possibilies and prevent from confusion, we expect the String to follow + * a given formalism that will be enforced. + * + * 1 / By convention, tags shall be a "key=value" pair. + * Vendor must namespace their tag's key (for example com.google.strategy=VR) to avoid conflicts. + * vendor specific applications and must be prefixed by "VX_". Vendor must + * + * 2 / Tags reported here shall be the same as the tags used to define a given + * {@link android.media.audiopolicy.AudioProductStrategy} and so in + * audio_policy_engine_configuration.xml file. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +interface IAudioControl { + /** + * @deprecated use {@link android.hardware.audio.common.PlaybackTrackMetadata} instead. + */ + oneway void onAudioFocusChange(in String usage, in int zoneId, in android.hardware.automotive.audiocontrol.AudioFocusChange focusChange); + oneway void onDevicesToDuckChange(in android.hardware.automotive.audiocontrol.DuckingInfo[] duckingInfos); + oneway void onDevicesToMuteChange(in android.hardware.automotive.audiocontrol.MutingInfo[] mutingInfos); + oneway void registerFocusListener(in android.hardware.automotive.audiocontrol.IFocusListener listener); + oneway void setBalanceTowardRight(in float value); + oneway void setFadeTowardFront(in float value); + oneway void onAudioFocusChangeWithMetaData(in android.hardware.audio.common.PlaybackTrackMetadata playbackMetaData, in int zoneId, in android.hardware.automotive.audiocontrol.AudioFocusChange focusChange); + oneway void setAudioDeviceGainsChanged(in android.hardware.automotive.audiocontrol.Reasons[] reasons, in android.hardware.automotive.audiocontrol.AudioGainConfigInfo[] gains); + oneway void registerGainCallback(in android.hardware.automotive.audiocontrol.IAudioGainCallback callback); + void setModuleChangeCallback(in android.hardware.automotive.audiocontrol.IModuleChangeCallback callback); + void clearModuleChangeCallback(); +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioGainCallback.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioGainCallback.aidl new file mode 100644 index 0000000000..17a087f20c --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IAudioGainCallback.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +interface IAudioGainCallback { + oneway void onAudioDeviceGainsChanged(in android.hardware.automotive.audiocontrol.Reasons[] reasons, in android.hardware.automotive.audiocontrol.AudioGainConfigInfo[] gains); +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IFocusListener.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IFocusListener.aidl new file mode 100644 index 0000000000..3e175529fa --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IFocusListener.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +interface IFocusListener { + oneway void abandonAudioFocus(in String usage, in int zoneId); + oneway void requestAudioFocus(in String usage, in int zoneId, in android.hardware.automotive.audiocontrol.AudioFocusChange focusGain); + oneway void abandonAudioFocusWithMetaData(in android.hardware.audio.common.PlaybackTrackMetadata playbackMetaData, in int zoneId); + oneway void requestAudioFocusWithMetaData(in android.hardware.audio.common.PlaybackTrackMetadata playbackMetaData, in int zoneId, in android.hardware.automotive.audiocontrol.AudioFocusChange focusGain); +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IModuleChangeCallback.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IModuleChangeCallback.aidl new file mode 100644 index 0000000000..2bbb9362b9 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/IModuleChangeCallback.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +interface IModuleChangeCallback { + oneway void onAudioPortsChanged(in android.media.audio.common.AudioPort[] audioPorts); +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/MutingInfo.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/MutingInfo.aidl new file mode 100644 index 0000000000..b25ed0f1e9 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/MutingInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@VintfStability +parcelable MutingInfo { + int zoneId; + String[] deviceAddressesToMute; + String[] deviceAddressesToUnmute; +} diff --git a/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/Reasons.aidl b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/Reasons.aidl new file mode 100644 index 0000000000..8d669850a5 --- /dev/null +++ b/automotive/audiocontrol/aidl/aidl_api/android.hardware.automotive.audiocontrol/4/android/hardware/automotive/audiocontrol/Reasons.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.audiocontrol; +@Backing(type="int") @VintfStability +enum Reasons { + FORCED_MASTER_MUTE = 0x1, + REMOTE_MUTE = 0x2, + TCU_MUTE = 0x4, + ADAS_DUCKING = 0x8, + NAV_DUCKING = 0x10, + PROJECTION_DUCKING = 0x20, + THERMAL_LIMITATION = 0x40, + SUSPEND_EXIT_VOL_LIMITATION = 0x80, + EXTERNAL_AMP_VOL_FEEDBACK = 0x100, + OTHER = 0x80000000, +} diff --git a/automotive/remoteaccess/Android.bp b/automotive/remoteaccess/Android.bp index e1e90414c6..cb4ea40982 100644 --- a/automotive/remoteaccess/Android.bp +++ b/automotive/remoteaccess/Android.bp @@ -41,6 +41,11 @@ aidl_interface { version: "1", imports: [], }, + { + version: "2", + imports: [], + }, + ], - frozen: false, + frozen: true, } diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/.hash b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/.hash new file mode 100644 index 0000000000..84c1eb4254 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/.hash @@ -0,0 +1 @@ +65aaf23d323eed468f5d1e9ee4b7029ee6f1288a diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ApState.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ApState.aidl new file mode 100644 index 0000000000..da4f1d4304 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ApState.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@VintfStability +parcelable ApState { + boolean isReadyForRemoteTask; + boolean isWakeupRequired; +} diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl new file mode 100644 index 0000000000..5c5917b5b8 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteAccess.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@VintfStability +interface IRemoteAccess { + String getVehicleId(); + String getWakeupServiceName(); + String getProcessorId(); + void setRemoteTaskCallback(android.hardware.automotive.remoteaccess.IRemoteTaskCallback callback); + void clearRemoteTaskCallback(); + void notifyApStateChange(in android.hardware.automotive.remoteaccess.ApState state); + boolean isTaskScheduleSupported(); + android.hardware.automotive.remoteaccess.TaskType[] getSupportedTaskTypesForScheduling(); + void scheduleTask(in android.hardware.automotive.remoteaccess.ScheduleInfo scheduleInfo); + void unscheduleTask(String clientId, String scheduleId); + void unscheduleAllTasks(String clientId); + boolean isTaskScheduled(String clientId, String scheduleId); + List getAllPendingScheduledTasks(String clientId); +} diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl new file mode 100644 index 0000000000..295100ea51 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/IRemoteTaskCallback.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@VintfStability +interface IRemoteTaskCallback { + oneway void onRemoteTaskRequested(String clientId, in byte[] data); +} diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl new file mode 100644 index 0000000000..ec8733a1bc --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/ScheduleInfo.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ScheduleInfo { + String clientId; + String scheduleId; + android.hardware.automotive.remoteaccess.TaskType taskType; + byte[] taskData; + int count; + long startTimeInEpochSeconds; + long periodicInSeconds; + const int MAX_TASK_DATA_SIZE_IN_BYTES = 10240; +} diff --git a/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/TaskType.aidl b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/TaskType.aidl new file mode 100644 index 0000000000..da706269f0 --- /dev/null +++ b/automotive/remoteaccess/aidl_api/android.hardware.automotive.remoteaccess/2/android/hardware/automotive/remoteaccess/TaskType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.remoteaccess; +@Backing(type="int") @VintfStability +enum TaskType { + CUSTOM = 0, + ENTER_GARAGE_MODE = 1, +} diff --git a/automotive/vehicle/aidl/Android.bp b/automotive/vehicle/aidl/Android.bp index 5ca1fc8262..ed18ebcb4b 100644 --- a/automotive/vehicle/aidl/Android.bp +++ b/automotive/vehicle/aidl/Android.bp @@ -27,7 +27,7 @@ aidl_interface { srcs: [ "android/hardware/automotive/vehicle/*.aidl", ], - frozen: false, + frozen: true, stability: "vintf", backend: { cpp: { @@ -54,6 +54,10 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/.hash b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/.hash new file mode 100644 index 0000000000..312f8580ed --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/.hash @@ -0,0 +1 @@ +c6f1cc74f83dc53c6a5c08e6dbbb6e25e83e3a6b diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequest.aidl new file mode 100644 index 0000000000..d88cd8b076 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequest.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable GetValueRequest { + long requestId; + android.hardware.automotive.vehicle.VehiclePropValue prop; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequests.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequests.aidl new file mode 100644 index 0000000000..a7df2ff24d --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueRequests.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable GetValueRequests { + android.hardware.automotive.vehicle.GetValueRequest[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResult.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResult.aidl new file mode 100644 index 0000000000..25f3575862 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResult.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable GetValueResult { + long requestId; + android.hardware.automotive.vehicle.StatusCode status = android.hardware.automotive.vehicle.StatusCode.OK; + @nullable android.hardware.automotive.vehicle.VehiclePropValue prop; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResults.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResults.aidl new file mode 100644 index 0000000000..4c365b1074 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/GetValueResults.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable GetValueResults { + android.hardware.automotive.vehicle.GetValueResult[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicle.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicle.aidl new file mode 100644 index 0000000000..b5f62aa3bf --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicle.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@VintfStability +interface IVehicle { + android.hardware.automotive.vehicle.VehiclePropConfigs getAllPropConfigs(); + android.hardware.automotive.vehicle.VehiclePropConfigs getPropConfigs(in int[] props); + void getValues(android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.GetValueRequests requests); + void setValues(android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.SetValueRequests requests); + void subscribe(in android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.SubscribeOptions[] options, int maxSharedMemoryFileCount); + void unsubscribe(in android.hardware.automotive.vehicle.IVehicleCallback callback, in int[] propIds); + void returnSharedMemory(in android.hardware.automotive.vehicle.IVehicleCallback callback, long sharedMemoryId); + const long INVALID_MEMORY_ID = 0; + const int MAX_SHARED_MEMORY_FILES_PER_CLIENT = 3; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicleCallback.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicleCallback.aidl new file mode 100644 index 0000000000..2c5a333dde --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/IVehicleCallback.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@VintfStability +interface IVehicleCallback { + oneway void onGetValues(in android.hardware.automotive.vehicle.GetValueResults responses); + oneway void onSetValues(in android.hardware.automotive.vehicle.SetValueResults responses); + oneway void onPropertyEvent(in android.hardware.automotive.vehicle.VehiclePropValues propValues, int sharedMemoryFileCount); + oneway void onPropertySetError(in android.hardware.automotive.vehicle.VehiclePropErrors errors); +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/RawPropValues.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/RawPropValues.aidl new file mode 100644 index 0000000000..e7b0a137cf --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/RawPropValues.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable RawPropValues { + int[] int32Values = {}; + float[] floatValues; + long[] int64Values; + byte[] byteValues; + @utf8InCpp String stringValue; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequest.aidl new file mode 100644 index 0000000000..6a65307f3c --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequest.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SetValueRequest { + long requestId; + android.hardware.automotive.vehicle.VehiclePropValue value; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequests.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequests.aidl new file mode 100644 index 0000000000..15fd7ea8a8 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueRequests.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SetValueRequests { + android.hardware.automotive.vehicle.SetValueRequest[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResult.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResult.aidl new file mode 100644 index 0000000000..ec5fabb0b4 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResult.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SetValueResult { + long requestId; + android.hardware.automotive.vehicle.StatusCode status = android.hardware.automotive.vehicle.StatusCode.OK; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResults.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResults.aidl new file mode 100644 index 0000000000..47f16563ce --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SetValueResults.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SetValueResults { + android.hardware.automotive.vehicle.SetValueResult[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/StatusCode.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/StatusCode.aidl new file mode 100644 index 0000000000..f7e8c5abf7 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/StatusCode.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum StatusCode { + OK = 0, + TRY_AGAIN = 1, + INVALID_ARG = 2, + NOT_AVAILABLE = 3, + ACCESS_DENIED = 4, + INTERNAL_ERROR = 5, + NOT_AVAILABLE_DISABLED = 6, + NOT_AVAILABLE_SPEED_LOW = 7, + NOT_AVAILABLE_SPEED_HIGH = 8, + NOT_AVAILABLE_POOR_VISIBILITY = 9, + NOT_AVAILABLE_SAFETY = 10, +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SubscribeOptions.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SubscribeOptions.aidl new file mode 100644 index 0000000000..1b1696b240 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/SubscribeOptions.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SubscribeOptions { + int propId; + int[] areaIds; + float sampleRate; + float resolution = 0.0f; + boolean enableVariableUpdateRate; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl new file mode 100644 index 0000000000..08d4ee46e8 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehicleAreaConfig { + int areaId; + int minInt32Value; + int maxInt32Value; + long minInt64Value; + long maxInt64Value; + float minFloatValue; + float maxFloatValue; + @nullable long[] supportedEnumValues; + android.hardware.automotive.vehicle.VehiclePropertyAccess access = android.hardware.automotive.vehicle.VehiclePropertyAccess.NONE; + boolean supportVariableUpdateRate; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfig.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfig.aidl new file mode 100644 index 0000000000..8602d2d03d --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfig.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropConfig { + int prop; + android.hardware.automotive.vehicle.VehiclePropertyAccess access = android.hardware.automotive.vehicle.VehiclePropertyAccess.NONE; + android.hardware.automotive.vehicle.VehiclePropertyChangeMode changeMode = android.hardware.automotive.vehicle.VehiclePropertyChangeMode.STATIC; + android.hardware.automotive.vehicle.VehicleAreaConfig[] areaConfigs; + int[] configArray; + @utf8InCpp String configString; + float minSampleRate; + float maxSampleRate; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl new file mode 100644 index 0000000000..04c8006983 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropConfigs { + android.hardware.automotive.vehicle.VehiclePropConfig[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropError.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropError.aidl new file mode 100644 index 0000000000..983529542f --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropError.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropError { + int propId; + int areaId; + android.hardware.automotive.vehicle.StatusCode errorCode = android.hardware.automotive.vehicle.StatusCode.OK; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropErrors.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropErrors.aidl new file mode 100644 index 0000000000..9dcb10bc9e --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropErrors.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropErrors { + android.hardware.automotive.vehicle.VehiclePropError[] payloads; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValue.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValue.aidl new file mode 100644 index 0000000000..c87379fd9b --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValue.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropValue { + long timestamp; + int areaId; + int prop; + android.hardware.automotive.vehicle.VehiclePropertyStatus status = android.hardware.automotive.vehicle.VehiclePropertyStatus.AVAILABLE; + android.hardware.automotive.vehicle.RawPropValues value; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValues.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValues.aidl new file mode 100644 index 0000000000..e09a6b95df --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropValues.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VehiclePropValues { + android.hardware.automotive.vehicle.VehiclePropValue[] payloads; + long sharedMemoryId; + @nullable ParcelFileDescriptor sharedMemoryFd; +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl new file mode 100644 index 0000000000..dde9a88fd3 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehiclePropertyAccess { + NONE = 0x00, + READ = 0x01, + WRITE = 0x02, + READ_WRITE = 0x03, +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl new file mode 100644 index 0000000000..2f9d107e88 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehiclePropertyChangeMode { + STATIC = 0x00, + ON_CHANGE = 0x01, + CONTINUOUS = 0x02, +} diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl new file mode 100644 index 0000000000..642ce83f21 --- /dev/null +++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/3/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehiclePropertyStatus { + AVAILABLE = 0x00, + UNAVAILABLE = 0x01, + ERROR = 0x02, +} diff --git a/automotive/vehicle/aidl_property/Android.bp b/automotive/vehicle/aidl_property/Android.bp index 5db39d84f7..bce22846af 100644 --- a/automotive/vehicle/aidl_property/Android.bp +++ b/automotive/vehicle/aidl_property/Android.bp @@ -28,7 +28,7 @@ aidl_interface { // This HAL was originally part of android.hardware.automotive.vehicle "android/hardware/automotive/vehicle/*.aidl", ], - frozen: false, + frozen: true, stability: "vintf", backend: { cpp: { @@ -55,6 +55,11 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, + ], } diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/.hash b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/.hash new file mode 100644 index 0000000000..fa66801a0a --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/.hash @@ -0,0 +1 @@ +2190f6d54b998635069a8d87d3d053cc3bc041dc diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/AutomaticEmergencyBrakingState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/AutomaticEmergencyBrakingState.aidl new file mode 100644 index 0000000000..b316df7454 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/AutomaticEmergencyBrakingState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum AutomaticEmergencyBrakingState { + OTHER = 0, + ENABLED = 1, + ACTIVATED = 2, + USER_OVERRIDE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/BlindSpotWarningState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/BlindSpotWarningState.aidl new file mode 100644 index 0000000000..535b0b1e2f --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/BlindSpotWarningState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum BlindSpotWarningState { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CameraServiceState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CameraServiceState.aidl new file mode 100644 index 0000000000..84f5ec70d5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CameraServiceState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CameraServiceState { + UNAVAILABLE = 0, + INACTIVE = 1, + REQUESTED = 2, + ACTIVE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserRequest.aidl new file mode 100644 index 0000000000..22c690c00f --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserRequest.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable CreateUserRequest { + int requestId; + android.hardware.automotive.vehicle.UserInfo newUserInfo; + @utf8InCpp String newUserName; + android.hardware.automotive.vehicle.UsersInfo usersInfo; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserResponse.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserResponse.aidl new file mode 100644 index 0000000000..7d0196b4e5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserResponse.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable CreateUserResponse { + int requestId; + android.hardware.automotive.vehicle.CreateUserStatus status = android.hardware.automotive.vehicle.CreateUserStatus.SUCCESS; + @utf8InCpp String errorMessage; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserStatus.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserStatus.aidl new file mode 100644 index 0000000000..4c3b751656 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CreateUserStatus.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CreateUserStatus { + SUCCESS = 1, + FAILURE = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CrossTrafficMonitoringWarningState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CrossTrafficMonitoringWarningState.aidl new file mode 100644 index 0000000000..90e2d8dfb8 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CrossTrafficMonitoringWarningState.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CrossTrafficMonitoringWarningState { + OTHER = 0, + NO_WARNING = 1, + WARNING_FRONT_LEFT = 2, + WARNING_FRONT_RIGHT = 3, + WARNING_FRONT_BOTH = 4, + WARNING_REAR_LEFT = 5, + WARNING_REAR_RIGHT = 6, + WARNING_REAR_BOTH = 7, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlCommand.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlCommand.aidl new file mode 100644 index 0000000000..d6a104d25b --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlCommand.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CruiseControlCommand { + ACTIVATE = 1, + SUSPEND = 2, + INCREASE_TARGET_SPEED = 3, + DECREASE_TARGET_SPEED = 4, + INCREASE_TARGET_TIME_GAP = 5, + DECREASE_TARGET_TIME_GAP = 6, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlState.aidl new file mode 100644 index 0000000000..ddaffa30c2 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CruiseControlState { + OTHER = 0, + ENABLED = 1, + ACTIVATED = 2, + USER_OVERRIDE = 3, + SUSPENDED = 4, + FORCED_DEACTIVATION_WARNING = 5, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlType.aidl new file mode 100644 index 0000000000..aab9dfe966 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CruiseControlType.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CruiseControlType { + OTHER = 0, + STANDARD = 1, + ADAPTIVE = 2, + PREDICTIVE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CustomInputType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CustomInputType.aidl new file mode 100644 index 0000000000..4decb6985d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/CustomInputType.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum CustomInputType { + CUSTOM_EVENT_F1 = 1001, + CUSTOM_EVENT_F2 = 1002, + CUSTOM_EVENT_F3 = 1003, + CUSTOM_EVENT_F4 = 1004, + CUSTOM_EVENT_F5 = 1005, + CUSTOM_EVENT_F6 = 1006, + CUSTOM_EVENT_F7 = 1007, + CUSTOM_EVENT_F8 = 1008, + CUSTOM_EVENT_F9 = 1009, + CUSTOM_EVENT_F10 = 1010, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl new file mode 100644 index 0000000000..9704704eab --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DiagnosticFloatSensorIndex { + CALCULATED_ENGINE_LOAD = 0, + ENGINE_COOLANT_TEMPERATURE = 1, + SHORT_TERM_FUEL_TRIM_BANK1 = 2, + LONG_TERM_FUEL_TRIM_BANK1 = 3, + SHORT_TERM_FUEL_TRIM_BANK2 = 4, + LONG_TERM_FUEL_TRIM_BANK2 = 5, + FUEL_PRESSURE = 6, + INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7, + ENGINE_RPM = 8, + VEHICLE_SPEED = 9, + TIMING_ADVANCE = 10, + MAF_AIR_FLOW_RATE = 11, + THROTTLE_POSITION = 12, + OXYGEN_SENSOR1_VOLTAGE = 13, + OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14, + OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15, + OXYGEN_SENSOR2_VOLTAGE = 16, + OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17, + OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18, + OXYGEN_SENSOR3_VOLTAGE = 19, + OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20, + OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21, + OXYGEN_SENSOR4_VOLTAGE = 22, + OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23, + OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24, + OXYGEN_SENSOR5_VOLTAGE = 25, + OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26, + OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27, + OXYGEN_SENSOR6_VOLTAGE = 28, + OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29, + OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30, + OXYGEN_SENSOR7_VOLTAGE = 31, + OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32, + OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33, + OXYGEN_SENSOR8_VOLTAGE = 34, + OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35, + OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36, + FUEL_RAIL_PRESSURE = 37, + FUEL_RAIL_GAUGE_PRESSURE = 38, + COMMANDED_EXHAUST_GAS_RECIRCULATION = 39, + EXHAUST_GAS_RECIRCULATION_ERROR = 40, + COMMANDED_EVAPORATIVE_PURGE = 41, + FUEL_TANK_LEVEL_INPUT = 42, + EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43, + CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44, + CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45, + CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46, + CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47, + ABSOLUTE_LOAD_VALUE = 48, + FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49, + RELATIVE_THROTTLE_POSITION = 50, + ABSOLUTE_THROTTLE_POSITION_B = 51, + ABSOLUTE_THROTTLE_POSITION_C = 52, + ACCELERATOR_PEDAL_POSITION_D = 53, + ACCELERATOR_PEDAL_POSITION_E = 54, + ACCELERATOR_PEDAL_POSITION_F = 55, + COMMANDED_THROTTLE_ACTUATOR = 56, + ETHANOL_FUEL_PERCENTAGE = 57, + ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58, + SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59, + SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60, + SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61, + SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62, + LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63, + LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64, + LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65, + LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66, + RELATIVE_ACCELERATOR_PEDAL_POSITION = 67, + HYBRID_BATTERY_PACK_REMAINING_LIFE = 68, + FUEL_INJECTION_TIMING = 69, + ENGINE_FUEL_RATE = 70, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl new file mode 100644 index 0000000000..b3f13d4263 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DiagnosticIntegerSensorIndex { + FUEL_SYSTEM_STATUS = 0, + MALFUNCTION_INDICATOR_LIGHT_ON = 1, + IGNITION_MONITORS_SUPPORTED = 2, + IGNITION_SPECIFIC_MONITORS = 3, + INTAKE_AIR_TEMPERATURE = 4, + COMMANDED_SECONDARY_AIR_STATUS = 5, + NUM_OXYGEN_SENSORS_PRESENT = 6, + RUNTIME_SINCE_ENGINE_START = 7, + DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8, + WARMUPS_SINCE_CODES_CLEARED = 9, + DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10, + ABSOLUTE_BAROMETRIC_PRESSURE = 11, + CONTROL_MODULE_VOLTAGE = 12, + AMBIENT_AIR_TEMPERATURE = 13, + TIME_WITH_MALFUNCTION_LIGHT_ON = 14, + TIME_SINCE_TROUBLE_CODES_CLEARED = 15, + MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16, + MAX_OXYGEN_SENSOR_VOLTAGE = 17, + MAX_OXYGEN_SENSOR_CURRENT = 18, + MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19, + MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20, + FUEL_TYPE = 21, + FUEL_RAIL_ABSOLUTE_PRESSURE = 22, + ENGINE_OIL_TEMPERATURE = 23, + DRIVER_DEMAND_PERCENT_TORQUE = 24, + ENGINE_ACTUAL_PERCENT_TORQUE = 25, + ENGINE_REFERENCE_PERCENT_TORQUE = 26, + ENGINE_PERCENT_TORQUE_DATA_IDLE = 27, + ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28, + ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29, + ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30, + ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionState.aidl new file mode 100644 index 0000000000..54c02d53d1 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DriverDistractionState { + OTHER = 0, + NOT_DISTRACTED = 1, + DISTRACTED = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionWarning.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionWarning.aidl new file mode 100644 index 0000000000..9236b1c278 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDistractionWarning.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DriverDistractionWarning { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionState.aidl new file mode 100644 index 0000000000..22a90f3657 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionState.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DriverDrowsinessAttentionState { + OTHER = 0, + KSS_RATING_1_EXTREMELY_ALERT = 1, + KSS_RATING_2_VERY_ALERT = 2, + KSS_RATING_3_ALERT = 3, + KSS_RATING_4_RATHER_ALERT = 4, + KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY = 5, + KSS_RATING_6_SOME_SLEEPINESS = 6, + KSS_RATING_7_SLEEPY_NO_EFFORT = 7, + KSS_RATING_8_SLEEPY_SOME_EFFORT = 8, + KSS_RATING_9_VERY_SLEEPY = 9, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionWarning.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionWarning.aidl new file mode 100644 index 0000000000..dbf2364d4b --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/DriverDrowsinessAttentionWarning.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum DriverDrowsinessAttentionWarning { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicStabilityControlState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicStabilityControlState.aidl new file mode 100644 index 0000000000..b061a25ecf --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicStabilityControlState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ElectronicStabilityControlState { + OTHER = 0, + ENABLED = 1, + ACTIVATED = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl new file mode 100644 index 0000000000..9772aeeba0 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ElectronicTollCollectionCardStatus { + UNKNOWN = 0, + ELECTRONIC_TOLL_COLLECTION_CARD_VALID = 1, + ELECTRONIC_TOLL_COLLECTION_CARD_INVALID = 2, + ELECTRONIC_TOLL_COLLECTION_CARD_NOT_INSERTED = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl new file mode 100644 index 0000000000..22cf2c388b --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ElectronicTollCollectionCardType { + UNKNOWN = 0, + JP_ELECTRONIC_TOLL_COLLECTION_CARD = 1, + JP_ELECTRONIC_TOLL_COLLECTION_CARD_V2 = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EmergencyLaneKeepAssistState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EmergencyLaneKeepAssistState.aidl new file mode 100644 index 0000000000..078acde168 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EmergencyLaneKeepAssistState.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EmergencyLaneKeepAssistState { + OTHER = 0, + ENABLED = 1, + WARNING_LEFT = 2, + WARNING_RIGHT = 3, + ACTIVATED_STEER_LEFT = 4, + ACTIVATED_STEER_RIGHT = 5, + USER_OVERRIDE = 6, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ErrorState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ErrorState.aidl new file mode 100644 index 0000000000..dd950ce88c --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ErrorState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ErrorState { + OTHER_ERROR_STATE = (-1) /* -1 */, + NOT_AVAILABLE_DISABLED = (-2) /* -2 */, + NOT_AVAILABLE_SPEED_LOW = (-3) /* -3 */, + NOT_AVAILABLE_SPEED_HIGH = (-4) /* -4 */, + NOT_AVAILABLE_POOR_VISIBILITY = (-5) /* -5 */, + NOT_AVAILABLE_SAFETY = (-6) /* -6 */, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvChargeState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvChargeState.aidl new file mode 100644 index 0000000000..fe1c240a2d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvChargeState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvChargeState { + UNKNOWN = 0, + CHARGING = 1, + FULLY_CHARGED = 2, + NOT_CHARGING = 3, + ERROR = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvConnectorType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvConnectorType.aidl new file mode 100644 index 0000000000..b469578e77 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvConnectorType.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvConnectorType { + UNKNOWN = 0, + IEC_TYPE_1_AC = 1, + IEC_TYPE_2_AC = 2, + IEC_TYPE_3_AC = 3, + IEC_TYPE_4_DC = 4, + IEC_TYPE_1_CCS_DC = 5, + IEC_TYPE_2_CCS_DC = 6, + TESLA_ROADSTER = 7, + TESLA_HPWC = 8, + TESLA_SUPERCHARGER = 9, + GBT_AC = 10, + GBT_DC = 11, + OTHER = 101, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvRegenerativeBrakingState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvRegenerativeBrakingState.aidl new file mode 100644 index 0000000000..b8695623fb --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvRegenerativeBrakingState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvRegenerativeBrakingState { + UNKNOWN = 0, + DISABLED = 1, + PARTIALLY_ENABLED = 2, + FULLY_ENABLED = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvStoppingMode.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvStoppingMode.aidl new file mode 100644 index 0000000000..3be8d1263f --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvStoppingMode.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvStoppingMode { + OTHER = 0, + CREEP = 1, + ROLL = 2, + HOLD = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl new file mode 100644 index 0000000000..2fdb9b5a8d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvsServiceRequestIndex { + TYPE = 0, + STATE = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceState.aidl new file mode 100644 index 0000000000..df81ee7d27 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceState.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvsServiceState { + OFF = 0, + ON = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceType.aidl new file mode 100644 index 0000000000..285732cc39 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/EvsServiceType.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum EvsServiceType { + REARVIEW = 0, + SURROUNDVIEW = 1, + FRONTVIEW = 2, + LEFTVIEW = 3, + RIGHTVIEW = 4, + DRIVERVIEW = 5, + FRONTPASSENGERSVIEW = 6, + REARPASSENGERSVIEW = 7, + USER_DEFINED = 1000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ForwardCollisionWarningState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ForwardCollisionWarningState.aidl new file mode 100644 index 0000000000..371885d3b5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ForwardCollisionWarningState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ForwardCollisionWarningState { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/FuelType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/FuelType.aidl new file mode 100644 index 0000000000..14bb61b7af --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/FuelType.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum FuelType { + FUEL_TYPE_UNKNOWN = 0, + FUEL_TYPE_UNLEADED = 1, + FUEL_TYPE_LEADED = 2, + FUEL_TYPE_DIESEL_1 = 3, + FUEL_TYPE_DIESEL_2 = 4, + FUEL_TYPE_BIODIESEL = 5, + FUEL_TYPE_E85 = 6, + FUEL_TYPE_LPG = 7, + FUEL_TYPE_CNG = 8, + FUEL_TYPE_LNG = 9, + FUEL_TYPE_ELECTRIC = 10, + FUEL_TYPE_HYDROGEN = 11, + FUEL_TYPE_OTHER = 12, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/GsrComplianceRequirementType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/GsrComplianceRequirementType.aidl new file mode 100644 index 0000000000..9c565ee818 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/GsrComplianceRequirementType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum GsrComplianceRequirementType { + GSR_COMPLIANCE_NOT_REQUIRED = 0, + GSR_COMPLIANCE_REQUIRED_V1 = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionDriverState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionDriverState.aidl new file mode 100644 index 0000000000..bb390f2224 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionDriverState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum HandsOnDetectionDriverState { + OTHER = 0, + HANDS_ON = 1, + HANDS_OFF = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionWarning.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionWarning.aidl new file mode 100644 index 0000000000..4ea4d1d450 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/HandsOnDetectionWarning.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum HandsOnDetectionWarning { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ImpactSensorLocation.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ImpactSensorLocation.aidl new file mode 100644 index 0000000000..6b75d8cd51 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ImpactSensorLocation.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ImpactSensorLocation { + OTHER = 0x01, + FRONT = 0x02, + FRONT_LEFT_DOOR_SIDE = 0x04, + FRONT_RIGHT_DOOR_SIDE = 0x08, + REAR_LEFT_DOOR_SIDE = 0x10, + REAR_RIGHT_DOOR_SIDE = 0x20, + REAR = 0x40, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl new file mode 100644 index 0000000000..a4c048aadb --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable InitialUserInfoRequest { + int requestId; + android.hardware.automotive.vehicle.InitialUserInfoRequestType requestType = android.hardware.automotive.vehicle.InitialUserInfoRequestType.UNKNOWN; + android.hardware.automotive.vehicle.UsersInfo usersInfo; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl new file mode 100644 index 0000000000..51260fa7b0 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum InitialUserInfoRequestType { + UNKNOWN = 0, + FIRST_BOOT = 1, + FIRST_BOOT_AFTER_OTA = 2, + COLD_BOOT = 3, + RESUME = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl new file mode 100644 index 0000000000..f0e161261d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable InitialUserInfoResponse { + int requestId; + android.hardware.automotive.vehicle.InitialUserInfoResponseAction action = android.hardware.automotive.vehicle.InitialUserInfoResponseAction.DEFAULT; + android.hardware.automotive.vehicle.UserInfo userToSwitchOrCreate; + @utf8InCpp String userLocales; + @utf8InCpp String userNameToCreate; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl new file mode 100644 index 0000000000..d654b5c23e --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum InitialUserInfoResponseAction { + DEFAULT = 0, + SWITCH = 1, + CREATE = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistCommand.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistCommand.aidl new file mode 100644 index 0000000000..9e726052e8 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistCommand.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LaneCenteringAssistCommand { + ACTIVATE = 1, + DEACTIVATE = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistState.aidl new file mode 100644 index 0000000000..c5afe2be1a --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneCenteringAssistState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LaneCenteringAssistState { + OTHER = 0, + ENABLED = 1, + ACTIVATION_REQUESTED = 2, + ACTIVATED = 3, + USER_OVERRIDE = 4, + FORCED_DEACTIVATION_WARNING = 5, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneDepartureWarningState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneDepartureWarningState.aidl new file mode 100644 index 0000000000..cdddb6f2d2 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneDepartureWarningState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LaneDepartureWarningState { + OTHER = 0, + NO_WARNING = 1, + WARNING_LEFT = 2, + WARNING_RIGHT = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneKeepAssistState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneKeepAssistState.aidl new file mode 100644 index 0000000000..9c92ff69c5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LaneKeepAssistState.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LaneKeepAssistState { + OTHER = 0, + ENABLED = 1, + ACTIVATED_STEER_LEFT = 2, + ACTIVATED_STEER_RIGHT = 3, + USER_OVERRIDE = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LocationCharacterization.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LocationCharacterization.aidl new file mode 100644 index 0000000000..27abe417dc --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LocationCharacterization.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LocationCharacterization { + PRIOR_LOCATIONS = 0x1, + GYROSCOPE_FUSION = 0x2, + ACCELEROMETER_FUSION = 0x4, + COMPASS_FUSION = 0x8, + WHEEL_SPEED_FUSION = 0x10, + STEERING_ANGLE_FUSION = 0x20, + CAR_SPEED_FUSION = 0x40, + DEAD_RECKONED = 0x80, + RAW_GNSS_ONLY = 0x100, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl new file mode 100644 index 0000000000..70014e1dda --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedAutomaticEmergencyBrakingState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LowSpeedAutomaticEmergencyBrakingState { + OTHER = 0, + ENABLED = 1, + ACTIVATED = 2, + USER_OVERRIDE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedCollisionWarningState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedCollisionWarningState.aidl new file mode 100644 index 0000000000..6f6338b2fd --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/LowSpeedCollisionWarningState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum LowSpeedCollisionWarningState { + OTHER = 0, + NO_WARNING = 1, + WARNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl new file mode 100644 index 0000000000..7d122241eb --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2CommonIgnitionMonitors { + COMPONENTS_AVAILABLE = (0x1 << 0) /* 1 */, + COMPONENTS_INCOMPLETE = (0x1 << 1) /* 2 */, + FUEL_SYSTEM_AVAILABLE = (0x1 << 2) /* 4 */, + FUEL_SYSTEM_INCOMPLETE = (0x1 << 3) /* 8 */, + MISFIRE_AVAILABLE = (0x1 << 4) /* 16 */, + MISFIRE_INCOMPLETE = (0x1 << 5) /* 32 */, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl new file mode 100644 index 0000000000..90240bf4bf --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2CompressionIgnitionMonitors { + COMPONENTS_AVAILABLE = (0x1 << 0) /* 1 */, + COMPONENTS_INCOMPLETE = (0x1 << 1) /* 2 */, + FUEL_SYSTEM_AVAILABLE = (0x1 << 2) /* 4 */, + FUEL_SYSTEM_INCOMPLETE = (0x1 << 3) /* 8 */, + MISFIRE_AVAILABLE = (0x1 << 4) /* 16 */, + MISFIRE_INCOMPLETE = (0x1 << 5) /* 32 */, + EGR_OR_VVT_AVAILABLE = (0x1 << 6) /* 64 */, + EGR_OR_VVT_INCOMPLETE = (0x1 << 7) /* 128 */, + PM_FILTER_AVAILABLE = (0x1 << 8) /* 256 */, + PM_FILTER_INCOMPLETE = (0x1 << 9) /* 512 */, + EXHAUST_GAS_SENSOR_AVAILABLE = (0x1 << 10) /* 1024 */, + EXHAUST_GAS_SENSOR_INCOMPLETE = (0x1 << 11) /* 2048 */, + BOOST_PRESSURE_AVAILABLE = (0x1 << 12) /* 4096 */, + BOOST_PRESSURE_INCOMPLETE = (0x1 << 13) /* 8192 */, + NOx_SCR_AVAILABLE = (0x1 << 14) /* 16384 */, + NOx_SCR_INCOMPLETE = (0x1 << 15) /* 32768 */, + NMHC_CATALYST_AVAILABLE = (0x1 << 16) /* 65536 */, + NMHC_CATALYST_INCOMPLETE = (0x1 << 17) /* 131072 */, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl new file mode 100644 index 0000000000..9d588ead1c --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2FuelSystemStatus { + OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 1, + CLOSED_LOOP = 2, + OPEN_ENGINE_LOAD_OR_DECELERATION = 4, + OPEN_SYSTEM_FAILURE = 8, + CLOSED_LOOP_BUT_FEEDBACK_FAULT = 16, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelType.aidl new file mode 100644 index 0000000000..3ab3920d04 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2FuelType.aidl @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2FuelType { + NOT_AVAILABLE = 0, + GASOLINE = 1, + METHANOL = 2, + ETHANOL = 3, + DIESEL = 4, + LPG = 5, + CNG = 6, + PROPANE = 7, + ELECTRIC = 8, + BIFUEL_RUNNING_GASOLINE = 9, + BIFUEL_RUNNING_METHANOL = 10, + BIFUEL_RUNNING_ETHANOL = 11, + BIFUEL_RUNNING_LPG = 12, + BIFUEL_RUNNING_CNG = 13, + BIFUEL_RUNNING_PROPANE = 14, + BIFUEL_RUNNING_ELECTRIC = 15, + BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 16, + HYBRID_GASOLINE = 17, + HYBRID_ETHANOL = 18, + HYBRID_DIESEL = 19, + HYBRID_ELECTRIC = 20, + HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 21, + HYBRID_REGENERATIVE = 22, + BIFUEL_RUNNING_DIESEL = 23, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl new file mode 100644 index 0000000000..ec8f1c2e57 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2IgnitionMonitorKind { + SPARK = 0, + COMPRESSION = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl new file mode 100644 index 0000000000..7f445bf564 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2SecondaryAirStatus { + UPSTREAM = 1, + DOWNSTREAM_OF_CATALYCIC_CONVERTER = 2, + FROM_OUTSIDE_OR_OFF = 4, + PUMP_ON_FOR_DIAGNOSTICS = 8, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl new file mode 100644 index 0000000000..51e321b828 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum Obd2SparkIgnitionMonitors { + COMPONENTS_AVAILABLE = (0x1 << 0) /* 1 */, + COMPONENTS_INCOMPLETE = (0x1 << 1) /* 2 */, + FUEL_SYSTEM_AVAILABLE = (0x1 << 2) /* 4 */, + FUEL_SYSTEM_INCOMPLETE = (0x1 << 3) /* 8 */, + MISFIRE_AVAILABLE = (0x1 << 4) /* 16 */, + MISFIRE_INCOMPLETE = (0x1 << 5) /* 32 */, + EGR_AVAILABLE = (0x1 << 6) /* 64 */, + EGR_INCOMPLETE = (0x1 << 7) /* 128 */, + OXYGEN_SENSOR_HEATER_AVAILABLE = (0x1 << 8) /* 256 */, + OXYGEN_SENSOR_HEATER_INCOMPLETE = (0x1 << 9) /* 512 */, + OXYGEN_SENSOR_AVAILABLE = (0x1 << 10) /* 1024 */, + OXYGEN_SENSOR_INCOMPLETE = (0x1 << 11) /* 2048 */, + AC_REFRIGERANT_AVAILABLE = (0x1 << 12) /* 4096 */, + AC_REFRIGERANT_INCOMPLETE = (0x1 << 13) /* 8192 */, + SECONDARY_AIR_SYSTEM_AVAILABLE = (0x1 << 14) /* 16384 */, + SECONDARY_AIR_SYSTEM_INCOMPLETE = (0x1 << 15) /* 32768 */, + EVAPORATIVE_SYSTEM_AVAILABLE = (0x1 << 16) /* 65536 */, + EVAPORATIVE_SYSTEM_INCOMPLETE = (0x1 << 17) /* 131072 */, + HEATED_CATALYST_AVAILABLE = (0x1 << 18) /* 262144 */, + HEATED_CATALYST_INCOMPLETE = (0x1 << 19) /* 524288 */, + CATALYST_AVAILABLE = (0x1 << 20) /* 1048576 */, + CATALYST_INCOMPLETE = (0x1 << 21) /* 2097152 */, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/PortLocationType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/PortLocationType.aidl new file mode 100644 index 0000000000..b831c7ebd9 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/PortLocationType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum PortLocationType { + UNKNOWN = 0, + FRONT_LEFT = 1, + FRONT_RIGHT = 2, + REAR_RIGHT = 3, + REAR_LEFT = 4, + FRONT = 5, + REAR = 6, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl new file mode 100644 index 0000000000..f2838ad818 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum ProcessTerminationReason { + NOT_RESPONDING = 1, + IO_OVERUSE = 2, + MEMORY_OVERUSE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RemoveUserRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RemoveUserRequest.aidl new file mode 100644 index 0000000000..74457b9ab7 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RemoveUserRequest.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable RemoveUserRequest { + int requestId; + android.hardware.automotive.vehicle.UserInfo removedUserInfo; + android.hardware.automotive.vehicle.UsersInfo usersInfo; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RotaryInputType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RotaryInputType.aidl new file mode 100644 index 0000000000..ff90034711 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/RotaryInputType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum RotaryInputType { + ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION = 0, + ROTARY_INPUT_TYPE_AUDIO_VOLUME = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl new file mode 100644 index 0000000000..a3e59f128d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum SwitchUserMessageType { + UNKNOWN = 0, + LEGACY_ANDROID_SWITCH = 1, + ANDROID_SWITCH = 2, + VEHICLE_RESPONSE = 3, + VEHICLE_REQUEST = 4, + ANDROID_POST_SWITCH = 5, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserRequest.aidl new file mode 100644 index 0000000000..3012b7a51d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserRequest.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SwitchUserRequest { + int requestId; + android.hardware.automotive.vehicle.SwitchUserMessageType messageType = android.hardware.automotive.vehicle.SwitchUserMessageType.UNKNOWN; + android.hardware.automotive.vehicle.UserInfo targetUser; + android.hardware.automotive.vehicle.UsersInfo usersInfo; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserResponse.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserResponse.aidl new file mode 100644 index 0000000000..8915d1b866 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserResponse.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable SwitchUserResponse { + int requestId; + android.hardware.automotive.vehicle.SwitchUserMessageType messageType = android.hardware.automotive.vehicle.SwitchUserMessageType.UNKNOWN; + android.hardware.automotive.vehicle.SwitchUserStatus status = android.hardware.automotive.vehicle.SwitchUserStatus.SUCCESS; + @utf8InCpp String errorMessage; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserStatus.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserStatus.aidl new file mode 100644 index 0000000000..c7be9ec949 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/SwitchUserStatus.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum SwitchUserStatus { + SUCCESS = 1, + FAILURE = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/TrailerState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/TrailerState.aidl new file mode 100644 index 0000000000..2491340acd --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/TrailerState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum TrailerState { + UNKNOWN = 0, + NOT_PRESENT = 1, + PRESENT = 2, + ERROR = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl new file mode 100644 index 0000000000..a540f8ead8 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserIdentificationAssociation { + android.hardware.automotive.vehicle.UserIdentificationAssociationType type = android.hardware.automotive.vehicle.UserIdentificationAssociationType.INVALID; + android.hardware.automotive.vehicle.UserIdentificationAssociationValue value = android.hardware.automotive.vehicle.UserIdentificationAssociationValue.UNKNOWN; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl new file mode 100644 index 0000000000..1fd9ee8c31 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum UserIdentificationAssociationSetValue { + INVALID = 0, + ASSOCIATE_CURRENT_USER = 1, + DISASSOCIATE_CURRENT_USER = 2, + DISASSOCIATE_ALL_USERS = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl new file mode 100644 index 0000000000..6498375b0f --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum UserIdentificationAssociationType { + INVALID = 0, + KEY_FOB = 1, + CUSTOM_1 = 101, + CUSTOM_2 = 102, + CUSTOM_3 = 103, + CUSTOM_4 = 104, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl new file mode 100644 index 0000000000..d5e01691fa --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum UserIdentificationAssociationValue { + UNKNOWN = 1, + ASSOCIATED_CURRENT_USER = 2, + ASSOCIATED_ANOTHER_USER = 3, + NOT_ASSOCIATED_ANY_USER = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl new file mode 100644 index 0000000000..fe7fd6f6bc --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserIdentificationGetRequest { + int requestId; + android.hardware.automotive.vehicle.UserInfo userInfo; + int numberAssociationTypes; + android.hardware.automotive.vehicle.UserIdentificationAssociationType[] associationTypes; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl new file mode 100644 index 0000000000..3e2a2579cc --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserIdentificationResponse { + int requestId; + int numberAssociation; + android.hardware.automotive.vehicle.UserIdentificationAssociation[] associations; + @utf8InCpp String errorMessage; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl new file mode 100644 index 0000000000..57840fb77c --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserIdentificationSetAssociation { + android.hardware.automotive.vehicle.UserIdentificationAssociationType type = android.hardware.automotive.vehicle.UserIdentificationAssociationType.INVALID; + android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue value = android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue.INVALID; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl new file mode 100644 index 0000000000..db01b515a8 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserIdentificationSetRequest { + int requestId; + android.hardware.automotive.vehicle.UserInfo userInfo; + int numberAssociations; + android.hardware.automotive.vehicle.UserIdentificationSetAssociation[] associations; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserInfo.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserInfo.aidl new file mode 100644 index 0000000000..feb5a73ed4 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UserInfo.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UserInfo { + int userId = 0; + int flags; + const int USER_FLAG_SYSTEM = 0x01; + const int USER_FLAG_GUEST = 0x02; + const int USER_FLAG_EPHEMERAL = 0x04; + const int USER_FLAG_ADMIN = 0x08; + const int USER_FLAG_DISABLED = 0x10; + const int USER_FLAG_PROFILE = 0x20; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UsersInfo.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UsersInfo.aidl new file mode 100644 index 0000000000..edcef2edfd --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/UsersInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable UsersInfo { + android.hardware.automotive.vehicle.UserInfo currentUser; + int numberUsers; + android.hardware.automotive.vehicle.UserInfo[] existingUsers; +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAirbagLocation.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAirbagLocation.aidl new file mode 100644 index 0000000000..9b966d7f94 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAirbagLocation.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAirbagLocation { + OTHER = 0x01, + FRONT = 0x02, + KNEE = 0x04, + LEFT_SIDE = 0x08, + RIGHT_SIDE = 0x10, + CURTAIN = 0x20, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl new file mode 100644 index 0000000000..55af2ab0fa --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerBootupReason.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerBootupReason { + USER_POWER_ON = 0, + SYSTEM_USER_DETECTION = 1, + SYSTEM_REMOTE_ACCESS = 2, + SYSTEM_ENTER_GARAGE_MODE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl new file mode 100644 index 0000000000..cc12490233 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerStateConfigFlag { + ENABLE_DEEP_SLEEP_FLAG = 0x1, + CONFIG_SUPPORT_TIMER_POWER_ON_FLAG = 0x2, + ENABLE_HIBERNATION_FLAG = 0x4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl new file mode 100644 index 0000000000..e4f7e54f75 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerStateReport { + WAIT_FOR_VHAL = 0x1, + DEEP_SLEEP_ENTRY = 0x2, + DEEP_SLEEP_EXIT = 0x3, + SHUTDOWN_POSTPONE = 0x4, + SHUTDOWN_START = 0x5, + ON = 0x6, + SHUTDOWN_PREPARE = 0x7, + SHUTDOWN_CANCELLED = 0x8, + HIBERNATION_ENTRY = 0x9, + HIBERNATION_EXIT = 0xA, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl new file mode 100644 index 0000000000..8b94d31598 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerStateReq { + ON = 0, + SHUTDOWN_PREPARE = 1, + CANCEL_SHUTDOWN = 2, + FINISHED = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl new file mode 100644 index 0000000000..f995c73ee5 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerStateReqIndex { + STATE = 0, + ADDITIONAL = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl new file mode 100644 index 0000000000..8b345b2bd1 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleApPowerStateShutdownParam { + SHUTDOWN_IMMEDIATELY = 1, + CAN_SLEEP = 2, + SHUTDOWN_ONLY = 3, + SLEEP_IMMEDIATELY = 4, + HIBERNATE_IMMEDIATELY = 5, + CAN_HIBERNATE = 6, + EMERGENCY_SHUTDOWN = 7, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleArea.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleArea.aidl new file mode 100644 index 0000000000..b63003a733 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleArea.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleArea { + GLOBAL = 0x01000000, + WINDOW = 0x03000000, + MIRROR = 0x04000000, + SEAT = 0x05000000, + DOOR = 0x06000000, + WHEEL = 0x07000000, + VENDOR = 0x08000000, + MASK = 0x0f000000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl new file mode 100644 index 0000000000..04976d631d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAreaDoor { + ROW_1_LEFT = 0x00000001, + ROW_1_RIGHT = 0x00000004, + ROW_2_LEFT = 0x00000010, + ROW_2_RIGHT = 0x00000040, + ROW_3_LEFT = 0x00000100, + ROW_3_RIGHT = 0x00000400, + HOOD = 0x10000000, + REAR = 0x20000000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl new file mode 100644 index 0000000000..2d1c0483a2 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAreaMirror { + DRIVER_LEFT = 0x00000001, + DRIVER_RIGHT = 0x00000002, + DRIVER_CENTER = 0x00000004, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl new file mode 100644 index 0000000000..a24f515697 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAreaSeat { + UNKNOWN = 0x0000, + ROW_1_LEFT = 0x0001, + ROW_1_CENTER = 0x0002, + ROW_1_RIGHT = 0x0004, + ROW_2_LEFT = 0x0010, + ROW_2_CENTER = 0x0020, + ROW_2_RIGHT = 0x0040, + ROW_3_LEFT = 0x0100, + ROW_3_CENTER = 0x0200, + ROW_3_RIGHT = 0x0400, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl new file mode 100644 index 0000000000..d1b314e0ac --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAreaWheel { + UNKNOWN = 0x0, + LEFT_FRONT = 0x1, + RIGHT_FRONT = 0x2, + LEFT_REAR = 0x4, + RIGHT_REAR = 0x8, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl new file mode 100644 index 0000000000..2afcca3dd1 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAreaWindow { + FRONT_WINDSHIELD = 0x00000001, + REAR_WINDSHIELD = 0x00000002, + ROW_1_LEFT = 0x00000010, + ROW_1_RIGHT = 0x00000040, + ROW_2_LEFT = 0x00000100, + ROW_2_RIGHT = 0x00000400, + ROW_3_LEFT = 0x00001000, + ROW_3_RIGHT = 0x00004000, + ROOF_TOP_1 = 0x00010000, + ROOF_TOP_2 = 0x00020000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAutonomousState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAutonomousState.aidl new file mode 100644 index 0000000000..e15e71ed3e --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleAutonomousState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleAutonomousState { + LEVEL_0 = 0, + LEVEL_1 = 1, + LEVEL_2 = 2, + LEVEL_3 = 3, + LEVEL_4 = 4, + LEVEL_5 = 5, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleDisplay.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleDisplay.aidl new file mode 100644 index 0000000000..be335ec7e7 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleDisplay.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleDisplay { + MAIN = 0, + INSTRUMENT_CLUSTER = 1, + HUD = 2, + INPUT = 3, + AUXILIARY = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleGear.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleGear.aidl new file mode 100644 index 0000000000..b8a299c41a --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleGear.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleGear { + GEAR_UNKNOWN = 0x0000, + GEAR_NEUTRAL = 0x0001, + GEAR_REVERSE = 0x0002, + GEAR_PARK = 0x0004, + GEAR_DRIVE = 0x0008, + GEAR_1 = 0x0010, + GEAR_2 = 0x0020, + GEAR_3 = 0x0040, + GEAR_4 = 0x0080, + GEAR_5 = 0x0100, + GEAR_6 = 0x0200, + GEAR_7 = 0x0400, + GEAR_8 = 0x0800, + GEAR_9 = 0x1000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl new file mode 100644 index 0000000000..4f9870a674 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHvacFanDirection { + UNKNOWN = 0x0, + FACE = 0x1, + FLOOR = 0x2, + FACE_AND_FLOOR = 0x3, + DEFROST = 0x4, + DEFROST_AND_FLOOR = 0x06, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl new file mode 100644 index 0000000000..c4ac002067 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHwKeyInputAction { + ACTION_DOWN = 0, + ACTION_UP = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionButtonStateFlag.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionButtonStateFlag.aidl new file mode 100644 index 0000000000..29c5ed6f6e --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionButtonStateFlag.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHwMotionButtonStateFlag { + BUTTON_PRIMARY = 0x0001, + BUTTON_SECONDARY = 0x0002, + BUTTON_TERTIARY = 0x0004, + BUTTON_BACK = 0x0008, + BUTTON_FORWARD = 0x0010, + BUTTON_STYLUS_PRIMARY = 0x0020, + BUTTON_STYLUS_SECONDARY = 0x0040, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputAction.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputAction.aidl new file mode 100644 index 0000000000..db4b41eb9d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputAction.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHwMotionInputAction { + ACTION_DOWN = 0, + ACTION_UP = 1, + ACTION_MOVE = 2, + ACTION_CANCEL = 3, + ACTION_OUTSIDE = 4, + ACTION_POINTER_DOWN = 5, + ACTION_POINTER_UP = 6, + ACTION_HOVER_MOVE = 7, + ACTION_SCROLL = 8, + ACTION_HOVER_ENTER = 9, + ACTION_HOVER_EXIT = 10, + ACTION_BUTTON_PRESS = 11, + ACTION_BUTTON_RELEASE = 12, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputSource.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputSource.aidl new file mode 100644 index 0000000000..88c7873a43 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionInputSource.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHwMotionInputSource { + SOURCE_UNKNOWN = 0, + SOURCE_KEYBOARD = 1, + SOURCE_DPAD = 2, + SOURCE_GAMEPAD = 3, + SOURCE_TOUCHSCREEN = 4, + SOURCE_MOUSE = 5, + SOURCE_STYLUS = 6, + SOURCE_BLUETOOTH_STYLUS = 7, + SOURCE_TRACKBALL = 8, + SOURCE_MOUSE_RELATIVE = 9, + SOURCE_TOUCHPAD = 10, + SOURCE_TOUCH_NAVIGATION = 11, + SOURCE_ROTARY_ENCODER = 12, + SOURCE_JOYSTICK = 13, + SOURCE_HDMI = 14, + SOURCE_SENSOR = 15, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionToolType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionToolType.aidl new file mode 100644 index 0000000000..2b3bc7f157 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleHwMotionToolType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleHwMotionToolType { + TOOL_TYPE_UNKNOWN = 0, + TOOL_TYPE_FINGER = 1, + TOOL_TYPE_STYLUS = 2, + TOOL_TYPE_MOUSE = 3, + TOOL_TYPE_ERASER = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl new file mode 100644 index 0000000000..f572a128bb --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleIgnitionState { + UNDEFINED = 0, + LOCK = 1, + OFF, + ACC, + ON, + START, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightState.aidl new file mode 100644 index 0000000000..d569851407 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleLightState { + OFF = 0, + ON = 1, + DAYTIME_RUNNING = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl new file mode 100644 index 0000000000..f244884f98 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleLightSwitch { + OFF = 0, + ON = 1, + DAYTIME_RUNNING = 2, + AUTOMATIC = 0x100, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleOilLevel.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleOilLevel.aidl new file mode 100644 index 0000000000..f2eb5aa913 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleOilLevel.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleOilLevel { + CRITICALLY_LOW = 0, + LOW = 1, + NORMAL = 2, + HIGH = 3, + ERROR = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleProperty.aidl new file mode 100644 index 0000000000..be8d3ac6ab --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleProperty.aidl @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleProperty { + INVALID = 0x00000000, + INFO_VIN = (((0x0100 + 0x10000000) + 0x01000000) + 0x00100000) /* 286261504 */, + INFO_MAKE = (((0x0101 + 0x10000000) + 0x01000000) + 0x00100000) /* 286261505 */, + INFO_MODEL = (((0x0102 + 0x10000000) + 0x01000000) + 0x00100000) /* 286261506 */, + INFO_MODEL_YEAR = (((0x0103 + 0x10000000) + 0x01000000) + 0x00400000) /* 289407235 */, + INFO_FUEL_CAPACITY = (((0x0104 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504388 */, + INFO_FUEL_TYPE = (((0x0105 + 0x10000000) + 0x01000000) + 0x00410000) /* 289472773 */, + INFO_EV_BATTERY_CAPACITY = (((0x0106 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504390 */, + INFO_EV_CONNECTOR_TYPE = (((0x0107 + 0x10000000) + 0x01000000) + 0x00410000) /* 289472775 */, + INFO_FUEL_DOOR_LOCATION = (((0x0108 + 0x10000000) + 0x01000000) + 0x00400000) /* 289407240 */, + INFO_EV_PORT_LOCATION = (((0x0109 + 0x10000000) + 0x01000000) + 0x00400000) /* 289407241 */, + INFO_DRIVER_SEAT = (((0x010A + 0x10000000) + 0x05000000) + 0x00400000) /* 356516106 */, + INFO_EXTERIOR_DIMENSIONS = (((0x010B + 0x10000000) + 0x01000000) + 0x00410000) /* 289472779 */, + INFO_MULTI_EV_PORT_LOCATIONS = (((0x010C + 0x10000000) + 0x01000000) + 0x00410000) /* 289472780 */, + PERF_ODOMETER = (((0x0204 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504644 */, + PERF_VEHICLE_SPEED = (((0x0207 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504647 */, + PERF_VEHICLE_SPEED_DISPLAY = (((0x0208 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504648 */, + PERF_STEERING_ANGLE = (((0x0209 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504649 */, + PERF_REAR_STEERING_ANGLE = (((0x0210 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504656 */, + ENGINE_COOLANT_TEMP = (((0x0301 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504897 */, + ENGINE_OIL_LEVEL = (((0x0303 + 0x10000000) + 0x01000000) + 0x00400000) /* 289407747 */, + ENGINE_OIL_TEMP = (((0x0304 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504900 */, + ENGINE_RPM = (((0x0305 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504901 */, + WHEEL_TICK = (((0x0306 + 0x10000000) + 0x01000000) + 0x00510000) /* 290521862 */, + FUEL_LEVEL = (((0x0307 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504903 */, + FUEL_DOOR_OPEN = (((0x0308 + 0x10000000) + 0x01000000) + 0x00200000) /* 287310600 */, + EV_BATTERY_LEVEL = (((0x0309 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504905 */, + EV_CURRENT_BATTERY_CAPACITY = (((0x030D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.FLOAT) /* 291504909 */, + EV_CHARGE_PORT_OPEN = (((0x030A + 0x10000000) + 0x01000000) + 0x00200000) /* 287310602 */, + EV_CHARGE_PORT_CONNECTED = (((0x030B + 0x10000000) + 0x01000000) + 0x00200000) /* 287310603 */, + EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = (((0x030C + 0x10000000) + 0x01000000) + 0x00600000) /* 291504908 */, + RANGE_REMAINING = (((0x0308 + 0x10000000) + 0x01000000) + 0x00600000) /* 291504904 */, + EV_BATTERY_AVERAGE_TEMPERATURE = (((0x030E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.FLOAT) /* 291504910 */, + TIRE_PRESSURE = (((0x0309 + 0x10000000) + 0x07000000) + 0x00600000) /* 392168201 */, + CRITICALLY_LOW_TIRE_PRESSURE = (((0x030A + 0x10000000) + 0x07000000) + 0x00600000) /* 392168202 */, + ENGINE_IDLE_AUTO_STOP_ENABLED = (((0x0320 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287310624 */, + IMPACT_DETECTED = (((0x0330 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289407792 */, + GEAR_SELECTION = (((0x0400 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408000 */, + CURRENT_GEAR = (((0x0401 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408001 */, + PARKING_BRAKE_ON = (((0x0402 + 0x10000000) + 0x01000000) + 0x00200000) /* 287310850 */, + PARKING_BRAKE_AUTO_APPLY = (((0x0403 + 0x10000000) + 0x01000000) + 0x00200000) /* 287310851 */, + EV_BRAKE_REGENERATION_LEVEL = (((0x040C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289408012 */, + FUEL_LEVEL_LOW = (((0x0405 + 0x10000000) + 0x01000000) + 0x00200000) /* 287310853 */, + NIGHT_MODE = (((0x0407 + 0x10000000) + 0x01000000) + 0x00200000) /* 287310855 */, + TURN_SIGNAL_STATE = (((0x0408 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408008 */, + IGNITION_STATE = (((0x0409 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408009 */, + ABS_ACTIVE = (((0x040A + 0x10000000) + 0x01000000) + 0x00200000) /* 287310858 */, + TRACTION_CONTROL_ACTIVE = (((0x040B + 0x10000000) + 0x01000000) + 0x00200000) /* 287310859 */, + EV_STOPPING_MODE = (((0x040D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289408013 */, + ELECTRONIC_STABILITY_CONTROL_ENABLED = (((0x040E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287310862 */, + ELECTRONIC_STABILITY_CONTROL_STATE = (((0x040F + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289408015 */, + HVAC_FAN_SPEED = (((0x0500 + 0x10000000) + 0x05000000) + 0x00400000) /* 356517120 */, + HVAC_FAN_DIRECTION = (((0x0501 + 0x10000000) + 0x05000000) + 0x00400000) /* 356517121 */, + HVAC_TEMPERATURE_CURRENT = (((0x0502 + 0x10000000) + 0x05000000) + 0x00600000) /* 358614274 */, + HVAC_TEMPERATURE_SET = (((0x0503 + 0x10000000) + 0x05000000) + 0x00600000) /* 358614275 */, + HVAC_DEFROSTER = (((0x0504 + 0x10000000) + 0x03000000) + 0x00200000) /* 320865540 */, + HVAC_AC_ON = (((0x0505 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419973 */, + HVAC_MAX_AC_ON = (((0x0506 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419974 */, + HVAC_MAX_DEFROST_ON = (((0x0507 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419975 */, + HVAC_RECIRC_ON = (((0x0508 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419976 */, + HVAC_DUAL_ON = (((0x0509 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419977 */, + HVAC_AUTO_ON = (((0x050A + 0x10000000) + 0x05000000) + 0x00200000) /* 354419978 */, + HVAC_SEAT_TEMPERATURE = (((0x050B + 0x10000000) + 0x05000000) + 0x00400000) /* 356517131 */, + HVAC_SIDE_MIRROR_HEAT = (((0x050C + 0x10000000) + 0x04000000) + 0x00400000) /* 339739916 */, + HVAC_STEERING_WHEEL_HEAT = (((0x050D + 0x10000000) + 0x01000000) + 0x00400000) /* 289408269 */, + HVAC_TEMPERATURE_DISPLAY_UNITS = (((0x050E + 0x10000000) + 0x01000000) + 0x00400000) /* 289408270 */, + HVAC_ACTUAL_FAN_SPEED_RPM = (((0x050F + 0x10000000) + 0x05000000) + 0x00400000) /* 356517135 */, + HVAC_POWER_ON = (((0x0510 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419984 */, + HVAC_FAN_DIRECTION_AVAILABLE = (((0x0511 + 0x10000000) + 0x05000000) + 0x00410000) /* 356582673 */, + HVAC_AUTO_RECIRC_ON = (((0x0512 + 0x10000000) + 0x05000000) + 0x00200000) /* 354419986 */, + HVAC_SEAT_VENTILATION = (((0x0513 + 0x10000000) + 0x05000000) + 0x00400000) /* 356517139 */, + HVAC_ELECTRIC_DEFROSTER_ON = (((0x0514 + 0x10000000) + 0x03000000) + 0x00200000) /* 320865556 */, + HVAC_TEMPERATURE_VALUE_SUGGESTION = (((0x0515 + 0x10000000) + 0x01000000) + 0x00610000) /* 291570965 */, + DISTANCE_DISPLAY_UNITS = (((0x0600 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408512 */, + FUEL_VOLUME_DISPLAY_UNITS = (((0x0601 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408513 */, + TIRE_PRESSURE_DISPLAY_UNITS = (((0x0602 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408514 */, + EV_BATTERY_DISPLAY_UNITS = (((0x0603 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408515 */, + FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = (((0x0604 + 0x10000000) + 0x01000000) + 0x00200000) /* 287311364 */, + VEHICLE_SPEED_DISPLAY_UNITS = (((0x0605 + 0x10000000) + 0x01000000) + 0x00400000) /* 289408517 */, + EXTERNAL_CAR_TIME = (((0x0608 + 0x10000000) + 0x01000000) + 0x00500000) /* 290457096 */, + ANDROID_EPOCH_TIME = (((0x0606 + 0x10000000) + 0x01000000) + 0x00500000) /* 290457094 */, + STORAGE_ENCRYPTION_BINDING_SEED = (((0x0607 + 0x10000000) + 0x01000000) + 0x00700000) /* 292554247 */, + ENV_OUTSIDE_TEMPERATURE = (((0x0703 + 0x10000000) + 0x01000000) + 0x00600000) /* 291505923 */, + AP_POWER_STATE_REQ = (((0x0A00 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475072 */, + AP_POWER_STATE_REPORT = (((0x0A01 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475073 */, + AP_POWER_BOOTUP_REASON = (((0x0A02 + 0x10000000) + 0x01000000) + 0x00400000) /* 289409538 */, + DISPLAY_BRIGHTNESS = (((0x0A03 + 0x10000000) + 0x01000000) + 0x00400000) /* 289409539 */, + PER_DISPLAY_BRIGHTNESS = (((0x0A04 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475076 */, + VALET_MODE_ENABLED = (((0x0A05 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287312389 */, + HEAD_UP_DISPLAY_ENABLED = (((0x0A06 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421254 */, + HW_KEY_INPUT = (((0x0A10 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475088 */, + HW_KEY_INPUT_V2 = (((0x0A11 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.MIXED) /* 367004177 */, + HW_MOTION_INPUT = (((0x0A12 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.MIXED) /* 367004178 */, + HW_ROTARY_INPUT = (((0x0A20 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475104 */, + HW_CUSTOM_INPUT = (((0X0A30 + 0x10000000) + 0x01000000) + 0x00410000) /* 289475120 */, + DOOR_POS = (((0x0B00 + 0x10000000) + 0x06000000) + 0x00400000) /* 373295872 */, + DOOR_MOVE = (((0x0B01 + 0x10000000) + 0x06000000) + 0x00400000) /* 373295873 */, + DOOR_LOCK = (((0x0B02 + 0x10000000) + 0x06000000) + 0x00200000) /* 371198722 */, + DOOR_CHILD_LOCK_ENABLED = (((0x0B03 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.DOOR) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 371198723 */, + MIRROR_Z_POS = (((0x0B40 + 0x10000000) + 0x04000000) + 0x00400000) /* 339741504 */, + MIRROR_Z_MOVE = (((0x0B41 + 0x10000000) + 0x04000000) + 0x00400000) /* 339741505 */, + MIRROR_Y_POS = (((0x0B42 + 0x10000000) + 0x04000000) + 0x00400000) /* 339741506 */, + MIRROR_Y_MOVE = (((0x0B43 + 0x10000000) + 0x04000000) + 0x00400000) /* 339741507 */, + MIRROR_LOCK = (((0x0B44 + 0x10000000) + 0x01000000) + 0x00200000) /* 287312708 */, + MIRROR_FOLD = (((0x0B45 + 0x10000000) + 0x01000000) + 0x00200000) /* 287312709 */, + MIRROR_AUTO_FOLD_ENABLED = (((0x0B46 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.MIRROR) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 337644358 */, + MIRROR_AUTO_TILT_ENABLED = (((0x0B47 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.MIRROR) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 337644359 */, + SEAT_MEMORY_SELECT = (((0x0B80 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518784 */, + SEAT_MEMORY_SET = (((0x0B81 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518785 */, + SEAT_BELT_BUCKLED = (((0x0B82 + 0x10000000) + 0x05000000) + 0x00200000) /* 354421634 */, + SEAT_BELT_HEIGHT_POS = (((0x0B83 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518787 */, + SEAT_BELT_HEIGHT_MOVE = (((0x0B84 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518788 */, + SEAT_FORE_AFT_POS = (((0x0B85 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518789 */, + SEAT_FORE_AFT_MOVE = (((0x0B86 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518790 */, + SEAT_BACKREST_ANGLE_1_POS = (((0x0B87 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518791 */, + SEAT_BACKREST_ANGLE_1_MOVE = (((0x0B88 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518792 */, + SEAT_BACKREST_ANGLE_2_POS = (((0x0B89 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518793 */, + SEAT_BACKREST_ANGLE_2_MOVE = (((0x0B8A + 0x10000000) + 0x05000000) + 0x00400000) /* 356518794 */, + SEAT_HEIGHT_POS = (((0x0B8B + 0x10000000) + 0x05000000) + 0x00400000) /* 356518795 */, + SEAT_HEIGHT_MOVE = (((0x0B8C + 0x10000000) + 0x05000000) + 0x00400000) /* 356518796 */, + SEAT_DEPTH_POS = (((0x0B8D + 0x10000000) + 0x05000000) + 0x00400000) /* 356518797 */, + SEAT_DEPTH_MOVE = (((0x0B8E + 0x10000000) + 0x05000000) + 0x00400000) /* 356518798 */, + SEAT_TILT_POS = (((0x0B8F + 0x10000000) + 0x05000000) + 0x00400000) /* 356518799 */, + SEAT_TILT_MOVE = (((0x0B90 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518800 */, + SEAT_LUMBAR_FORE_AFT_POS = (((0x0B91 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518801 */, + SEAT_LUMBAR_FORE_AFT_MOVE = (((0x0B92 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518802 */, + SEAT_LUMBAR_SIDE_SUPPORT_POS = (((0x0B93 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518803 */, + SEAT_LUMBAR_SIDE_SUPPORT_MOVE = (((0x0B94 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518804 */, + SEAT_HEADREST_HEIGHT_POS = (((0x0B95 + 0x10000000) + 0x01000000) + 0x00400000) /* 289409941 */, + SEAT_HEADREST_HEIGHT_POS_V2 = (((0x0BA4 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518820 */, + SEAT_HEADREST_HEIGHT_MOVE = (((0x0B96 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518806 */, + SEAT_HEADREST_ANGLE_POS = (((0x0B97 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518807 */, + SEAT_HEADREST_ANGLE_MOVE = (((0x0B98 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518808 */, + SEAT_HEADREST_FORE_AFT_POS = (((0x0B99 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518809 */, + SEAT_HEADREST_FORE_AFT_MOVE = (((0x0B9A + 0x10000000) + 0x05000000) + 0x00400000) /* 356518810 */, + SEAT_FOOTWELL_LIGHTS_STATE = (((0x0B9B + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518811 */, + SEAT_FOOTWELL_LIGHTS_SWITCH = (((0x0B9C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518812 */, + SEAT_EASY_ACCESS_ENABLED = (((0x0B9D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421661 */, + SEAT_AIRBAG_ENABLED = (((0x0B9E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421662 */, + SEAT_AIRBAGS_DEPLOYED = (((0x0BA5 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518821 */, + SEAT_CUSHION_SIDE_SUPPORT_POS = (((0x0B9F + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518815 */, + SEAT_CUSHION_SIDE_SUPPORT_MOVE = (((0x0BA0 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518816 */, + SEAT_LUMBAR_VERTICAL_POS = (((0x0BA1 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518817 */, + SEAT_LUMBAR_VERTICAL_MOVE = (((0x0BA2 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518818 */, + SEAT_WALK_IN_POS = (((0x0BA3 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518819 */, + SEAT_BELT_PRETENSIONER_DEPLOYED = (((0x0BA6 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421670 */, + SEAT_OCCUPANCY = (((0x0BB0 + 0x10000000) + 0x05000000) + 0x00400000) /* 356518832 */, + WINDOW_POS = (((0x0BC0 + 0x10000000) + 0x03000000) + 0x00400000) /* 322964416 */, + WINDOW_MOVE = (((0x0BC1 + 0x10000000) + 0x03000000) + 0x00400000) /* 322964417 */, + WINDOW_LOCK = (((0x0BC4 + 0x10000000) + 0x03000000) + 0x00200000) /* 320867268 */, + WINDSHIELD_WIPERS_PERIOD = (((0x0BC5 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.WINDOW) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 322964421 */, + WINDSHIELD_WIPERS_STATE = (((0x0BC6 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.WINDOW) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 322964422 */, + WINDSHIELD_WIPERS_SWITCH = (((0x0BC7 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.WINDOW) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 322964423 */, + STEERING_WHEEL_DEPTH_POS = (((0x0BE0 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410016 */, + STEERING_WHEEL_DEPTH_MOVE = (((0x0BE1 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410017 */, + STEERING_WHEEL_HEIGHT_POS = (((0x0BE2 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410018 */, + STEERING_WHEEL_HEIGHT_MOVE = (((0x0BE3 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410019 */, + STEERING_WHEEL_THEFT_LOCK_ENABLED = (((0x0BE4 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287312868 */, + STEERING_WHEEL_LOCKED = (((0x0BE5 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287312869 */, + STEERING_WHEEL_EASY_ACCESS_ENABLED = (((0x0BE6 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287312870 */, + GLOVE_BOX_DOOR_POS = (((0x0BF0 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 356518896 */, + GLOVE_BOX_LOCKED = (((0x0BF1 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.SEAT) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 354421745 */, + VEHICLE_MAP_SERVICE = (((0x0C00 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299895808 */, + LOCATION_CHARACTERIZATION = (((0x0C10 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410064 */, + ULTRASONICS_SENSOR_POSITION = (((0x0C20 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916128 */, + ULTRASONICS_SENSOR_ORIENTATION = (((0x0C21 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.FLOAT_VEC) /* 409013281 */, + ULTRASONICS_SENSOR_FIELD_OF_VIEW = (((0x0C22 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916130 */, + ULTRASONICS_SENSOR_DETECTION_RANGE = (((0x0C23 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916131 */, + ULTRASONICS_SENSOR_SUPPORTED_RANGES = (((0x0C24 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916132 */, + ULTRASONICS_SENSOR_MEASURED_DISTANCE = (((0x0C25 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.VENDOR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 406916133 */, + OBD2_LIVE_FRAME = (((0x0D00 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896064 */, + OBD2_FREEZE_FRAME = (((0x0D01 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896065 */, + OBD2_FREEZE_FRAME_INFO = (((0x0D02 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896066 */, + OBD2_FREEZE_FRAME_CLEAR = (((0x0D03 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896067 */, + HEADLIGHTS_STATE = (((0x0E00 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410560 */, + HIGH_BEAM_LIGHTS_STATE = (((0x0E01 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410561 */, + FOG_LIGHTS_STATE = (((0x0E02 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410562 */, + HAZARD_LIGHTS_STATE = (((0x0E03 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410563 */, + HEADLIGHTS_SWITCH = (((0x0E10 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410576 */, + HIGH_BEAM_LIGHTS_SWITCH = (((0x0E11 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410577 */, + FOG_LIGHTS_SWITCH = (((0x0E12 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410578 */, + HAZARD_LIGHTS_SWITCH = (((0x0E13 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410579 */, + CABIN_LIGHTS_STATE = (((0x0F01 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410817 */, + CABIN_LIGHTS_SWITCH = (((0x0F02 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410818 */, + READING_LIGHTS_STATE = (((0x0F03 + 0x10000000) + 0x05000000) + 0x00400000) /* 356519683 */, + READING_LIGHTS_SWITCH = (((0x0F04 + 0x10000000) + 0x05000000) + 0x00400000) /* 356519684 */, + STEERING_WHEEL_LIGHTS_STATE = (((0x0F0C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410828 */, + STEERING_WHEEL_LIGHTS_SWITCH = (((0x0F0D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410829 */, + SUPPORT_CUSTOMIZE_VENDOR_PERMISSION = (((0x0F05 + 0x10000000) + 0x01000000) + 0x00200000) /* 287313669 */, + DISABLED_OPTIONAL_FEATURES = (((0x0F06 + 0x10000000) + 0x01000000) + 0x00100000) /* 286265094 */, + INITIAL_USER_INFO = (((0x0F07 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896583 */, + SWITCH_USER = (((0x0F08 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896584 */, + CREATE_USER = (((0x0F09 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896585 */, + REMOVE_USER = (((0x0F0A + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896586 */, + USER_IDENTIFICATION_ASSOCIATION = (((0x0F0B + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896587 */, + EVS_SERVICE_REQUEST = (((0x0F10 + 0x10000000) + 0x01000000) + 0x00410000) /* 289476368 */, + POWER_POLICY_REQ = (((0x0F21 + 0x10000000) + 0x01000000) + 0x00100000) /* 286265121 */, + POWER_POLICY_GROUP_REQ = (((0x0F22 + 0x10000000) + 0x01000000) + 0x00100000) /* 286265122 */, + CURRENT_POWER_POLICY = (((0x0F23 + 0x10000000) + 0x01000000) + 0x00100000) /* 286265123 */, + WATCHDOG_ALIVE = (((0xF31 + 0x10000000) + 0x01000000) + 0x00500000) /* 290459441 */, + WATCHDOG_TERMINATED_PROCESS = (((0x0F32 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896626 */, + VHAL_HEARTBEAT = (((0x0F33 + 0x10000000) + 0x01000000) + 0x00500000) /* 290459443 */, + CLUSTER_SWITCH_UI = (((0x0F34 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410868 */, + CLUSTER_DISPLAY_STATE = (((0x0F35 + 0x10000000) + 0x01000000) + 0x00410000) /* 289476405 */, + CLUSTER_REPORT_STATE = (((0x0F36 + 0x10000000) + 0x01000000) + 0x00e00000) /* 299896630 */, + CLUSTER_REQUEST_DISPLAY = (((0x0F37 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410871 */, + CLUSTER_NAVIGATION_STATE = (((0x0F38 + 0x10000000) + 0x01000000) + 0x00700000) /* 292556600 */, + ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = (((0x0F39 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410873 */, + ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = (((0x0F3A + 0x10000000) + 0x01000000) + 0x00400000) /* 289410874 */, + FRONT_FOG_LIGHTS_STATE = (((0x0F3B + 0x10000000) + 0x01000000) + 0x00400000) /* 289410875 */, + FRONT_FOG_LIGHTS_SWITCH = (((0x0F3C + 0x10000000) + 0x01000000) + 0x00400000) /* 289410876 */, + REAR_FOG_LIGHTS_STATE = (((0x0F3D + 0x10000000) + 0x01000000) + 0x00400000) /* 289410877 */, + REAR_FOG_LIGHTS_SWITCH = (((0x0F3E + 0x10000000) + 0x01000000) + 0x00400000) /* 289410878 */, + EV_CHARGE_CURRENT_DRAW_LIMIT = (((0x0F3F + 0x10000000) + 0x01000000) + 0x00600000) /* 291508031 */, + EV_CHARGE_PERCENT_LIMIT = (((0x0F40 + 0x10000000) + 0x01000000) + 0x00600000) /* 291508032 */, + EV_CHARGE_STATE = (((0x0F41 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410881 */, + EV_CHARGE_SWITCH = (((0x0F42 + 0x10000000) + 0x01000000) + 0x00200000) /* 287313730 */, + EV_CHARGE_TIME_REMAINING = (((0x0F43 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410883 */, + EV_REGENERATIVE_BRAKING_STATE = (((0x0F44 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410884 */, + TRAILER_PRESENT = (((0x0F45 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410885 */, + VEHICLE_CURB_WEIGHT = (((0x0F46 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410886 */, + GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT = (((0x0F47 + 0x10000000) + 0x01000000) + 0x00400000) /* 289410887 */, + SUPPORTED_PROPERTY_IDS = (((0x0F48 + 0x10000000) + 0x01000000) + 0x00410000) /* 289476424 */, + SHUTDOWN_REQUEST = (((0x0F49 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410889 */, + VEHICLE_IN_USE = (((0x0F4A + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313738 */, + 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 */, + 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 */, + FORWARD_COLLISION_WARNING_STATE = (((0x1003 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411075 */, + BLIND_SPOT_WARNING_ENABLED = (((0x1004 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313924 */, + BLIND_SPOT_WARNING_STATE = (((0x1005 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.MIRROR) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 339742725 */, + LANE_DEPARTURE_WARNING_ENABLED = (((0x1006 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313926 */, + LANE_DEPARTURE_WARNING_STATE = (((0x1007 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411079 */, + LANE_KEEP_ASSIST_ENABLED = (((0x1008 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313928 */, + LANE_KEEP_ASSIST_STATE = (((0x1009 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411081 */, + LANE_CENTERING_ASSIST_ENABLED = (((0x100A + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313930 */, + LANE_CENTERING_ASSIST_COMMAND = (((0x100B + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411083 */, + LANE_CENTERING_ASSIST_STATE = (((0x100C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411084 */, + EMERGENCY_LANE_KEEP_ASSIST_ENABLED = (((0x100D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313933 */, + EMERGENCY_LANE_KEEP_ASSIST_STATE = (((0x100E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411086 */, + CRUISE_CONTROL_ENABLED = (((0x100F + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313935 */, + CRUISE_CONTROL_TYPE = (((0x1010 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411088 */, + CRUISE_CONTROL_STATE = (((0x1011 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411089 */, + CRUISE_CONTROL_COMMAND = (((0x1012 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411090 */, + CRUISE_CONTROL_TARGET_SPEED = (((0x1013 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.FLOAT) /* 291508243 */, + ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP = (((0x1014 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411092 */, + ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE = (((0x1015 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411093 */, + HANDS_ON_DETECTION_ENABLED = (((0x1016 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313942 */, + HANDS_ON_DETECTION_DRIVER_STATE = (((0x1017 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411095 */, + HANDS_ON_DETECTION_WARNING = (((0x1018 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411096 */, + DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED = (((0x1019 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313945 */, + DRIVER_DROWSINESS_ATTENTION_STATE = (((0x101A + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411098 */, + DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED = (((0x101B + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313947 */, + DRIVER_DROWSINESS_ATTENTION_WARNING = (((0x101C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411100 */, + DRIVER_DISTRACTION_SYSTEM_ENABLED = (((0x101D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313949 */, + DRIVER_DISTRACTION_STATE = (((0x101E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411102 */, + DRIVER_DISTRACTION_WARNING_ENABLED = (((0x101F + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313951 */, + DRIVER_DISTRACTION_WARNING = (((0x1020 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411104 */, + LOW_SPEED_COLLISION_WARNING_ENABLED = (((0x1021 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313953 */, + LOW_SPEED_COLLISION_WARNING_STATE = (((0x1022 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411106 */, + CROSS_TRAFFIC_MONITORING_ENABLED = (((0x1023 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313955 */, + CROSS_TRAFFIC_MONITORING_WARNING_STATE = (((0x1024 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411108 */, + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED = (((0x1025 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313957 */, + LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE = (((0x1026 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411110 */, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl new file mode 100644 index 0000000000..b4f6850bbf --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehiclePropertyGroup { + SYSTEM = 0x10000000, + VENDOR = 0x20000000, + BACKPORTED = 0x30000000, + MASK = 0xf0000000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyType.aidl new file mode 100644 index 0000000000..7525cbbf69 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehiclePropertyType.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehiclePropertyType { + STRING = 0x00100000, + BOOLEAN = 0x00200000, + INT32 = 0x00400000, + INT32_VEC = 0x00410000, + INT64 = 0x00500000, + INT64_VEC = 0x00510000, + FLOAT = 0x00600000, + FLOAT_VEC = 0x00610000, + BYTES = 0x00700000, + MIXED = 0x00e00000, + MASK = 0x00ff0000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl new file mode 100644 index 0000000000..3e870e8925 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleSeatOccupancyState { + UNKNOWN = 0, + VACANT = 1, + OCCUPIED = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl new file mode 100644 index 0000000000..0431b45b9a --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleTurnSignal { + NONE = 0x00, + RIGHT = 0x01, + LEFT = 0x02, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleUnit.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleUnit.aidl new file mode 100644 index 0000000000..9aca98bec2 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleUnit.aidl @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleUnit { + SHOULD_NOT_USE = 0x000, + METER_PER_SEC = 0x01, + RPM = 0x02, + HERTZ = 0x03, + PERCENTILE = 0x10, + MILLIMETER = 0x20, + METER = 0x21, + KILOMETER = 0x23, + MILE = 0x24, + CELSIUS = 0x30, + FAHRENHEIT = 0x31, + KELVIN = 0x32, + MILLILITER = 0x40, + LITER = 0x41, + GALLON = 0x42, + US_GALLON = 0x42, + IMPERIAL_GALLON = 0x43, + NANO_SECS = 0x50, + MILLI_SECS = 0x51, + SECS = 0x53, + YEAR = 0x59, + WATT_HOUR = 0x60, + MILLIAMPERE = 0x61, + MILLIVOLT = 0x62, + MILLIWATTS = 0x63, + AMPERE_HOURS = 0x64, + KILOWATT_HOUR = 0x65, + AMPERE = 0x66, + KILOPASCAL = 0x70, + PSI = 0x71, + BAR = 0x72, + DEGREES = 0x80, + MILES_PER_HOUR = 0x90, + KILOMETERS_PER_HOUR = 0x91, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl new file mode 100644 index 0000000000..3aa326c9c7 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VehicleVendorPermission { + PERMISSION_DEFAULT = 0x00000000, + PERMISSION_SET_VENDOR_CATEGORY_WINDOW = 0X00000001, + PERMISSION_GET_VENDOR_CATEGORY_WINDOW = 0x00000002, + PERMISSION_SET_VENDOR_CATEGORY_DOOR = 0x00000003, + PERMISSION_GET_VENDOR_CATEGORY_DOOR = 0x00000004, + PERMISSION_SET_VENDOR_CATEGORY_SEAT = 0x00000005, + PERMISSION_GET_VENDOR_CATEGORY_SEAT = 0x00000006, + PERMISSION_SET_VENDOR_CATEGORY_MIRROR = 0x00000007, + PERMISSION_GET_VENDOR_CATEGORY_MIRROR = 0x00000008, + PERMISSION_SET_VENDOR_CATEGORY_INFO = 0x00000009, + PERMISSION_GET_VENDOR_CATEGORY_INFO = 0x0000000A, + PERMISSION_SET_VENDOR_CATEGORY_ENGINE = 0x0000000B, + PERMISSION_GET_VENDOR_CATEGORY_ENGINE = 0x0000000C, + PERMISSION_SET_VENDOR_CATEGORY_HVAC = 0x0000000D, + PERMISSION_GET_VENDOR_CATEGORY_HVAC = 0x0000000E, + PERMISSION_SET_VENDOR_CATEGORY_LIGHT = 0x0000000F, + PERMISSION_GET_VENDOR_CATEGORY_LIGHT = 0x00000010, + PERMISSION_SET_VENDOR_CATEGORY_1 = 0x00010000, + PERMISSION_GET_VENDOR_CATEGORY_1 = 0x00011000, + PERMISSION_SET_VENDOR_CATEGORY_2 = 0x00020000, + PERMISSION_GET_VENDOR_CATEGORY_2 = 0x00021000, + PERMISSION_SET_VENDOR_CATEGORY_3 = 0x00030000, + PERMISSION_GET_VENDOR_CATEGORY_3 = 0x00031000, + PERMISSION_SET_VENDOR_CATEGORY_4 = 0x00040000, + PERMISSION_GET_VENDOR_CATEGORY_4 = 0x00041000, + PERMISSION_SET_VENDOR_CATEGORY_5 = 0x00050000, + PERMISSION_GET_VENDOR_CATEGORY_5 = 0x00051000, + PERMISSION_SET_VENDOR_CATEGORY_6 = 0x00060000, + PERMISSION_GET_VENDOR_CATEGORY_6 = 0x00061000, + PERMISSION_SET_VENDOR_CATEGORY_7 = 0x00070000, + PERMISSION_GET_VENDOR_CATEGORY_7 = 0x00071000, + PERMISSION_SET_VENDOR_CATEGORY_8 = 0x00080000, + PERMISSION_GET_VENDOR_CATEGORY_8 = 0x00081000, + PERMISSION_SET_VENDOR_CATEGORY_9 = 0x00090000, + PERMISSION_GET_VENDOR_CATEGORY_9 = 0x00091000, + PERMISSION_SET_VENDOR_CATEGORY_10 = 0x000A0000, + PERMISSION_GET_VENDOR_CATEGORY_10 = 0x000A1000, + PERMISSION_NOT_ACCESSIBLE = 0xF0000000, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl new file mode 100644 index 0000000000..0dcfbc4a5d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsAvailabilityStateIntegerValuesIndex { + MESSAGE_TYPE = 0, + SEQUENCE_NUMBER = 1, + NUMBER_OF_ASSOCIATED_LAYERS = 2, + LAYERS_START = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl new file mode 100644 index 0000000000..45514d081a --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsBaseMessageIntegerValuesIndex { + MESSAGE_TYPE = 0, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageType.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageType.aidl new file mode 100644 index 0000000000..1248c069ce --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageType.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsMessageType { + SUBSCRIBE = 1, + SUBSCRIBE_TO_PUBLISHER = 2, + UNSUBSCRIBE = 3, + UNSUBSCRIBE_TO_PUBLISHER = 4, + OFFERING = 5, + AVAILABILITY_REQUEST = 6, + SUBSCRIPTIONS_REQUEST = 7, + AVAILABILITY_RESPONSE = 8, + AVAILABILITY_CHANGE = 9, + SUBSCRIPTIONS_RESPONSE = 10, + SUBSCRIPTIONS_CHANGE = 11, + DATA = 12, + PUBLISHER_ID_REQUEST = 13, + PUBLISHER_ID_RESPONSE = 14, + PUBLISHER_INFORMATION_REQUEST = 15, + PUBLISHER_INFORMATION_RESPONSE = 16, + START_SESSION = 17, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl new file mode 100644 index 0000000000..8b0e3a5ef2 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex { + MESSAGE_TYPE = 0, + LAYER_TYPE = 1, + LAYER_SUBTYPE = 2, + LAYER_VERSION = 3, + PUBLISHER_ID = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl new file mode 100644 index 0000000000..65dd4ae395 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsMessageWithLayerIntegerValuesIndex { + MESSAGE_TYPE = 0, + LAYER_TYPE = 1, + LAYER_SUBTYPE = 2, + LAYER_VERSION = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl new file mode 100644 index 0000000000..fc2a9c1844 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsOfferingMessageIntegerValuesIndex { + MESSAGE_TYPE = 0, + PUBLISHER_ID = 1, + NUMBER_OF_OFFERS = 2, + OFFERING_START = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl new file mode 100644 index 0000000000..a9b017fdb1 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsPublisherInformationIntegerValuesIndex { + MESSAGE_TYPE = 0, + PUBLISHER_ID = 1, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl new file mode 100644 index 0000000000..d942bc8392 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsStartSessionMessageIntegerValuesIndex { + MESSAGE_TYPE = 0, + SERVICE_ID = 1, + CLIENT_ID = 2, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl new file mode 100644 index 0000000000..796d7f722c --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum VmsSubscriptionsStateIntegerValuesIndex { + MESSAGE_TYPE = 0, + SEQUENCE_NUMBER = 1, + NUMBER_OF_LAYERS = 2, + NUMBER_OF_ASSOCIATED_LAYERS = 3, + SUBSCRIPTIONS_START = 4, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersState.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersState.aidl new file mode 100644 index 0000000000..d0c1e8d70d --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersState.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum WindshieldWipersState { + OTHER = 0, + OFF = 1, + ON = 2, + SERVICE = 3, +} diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersSwitch.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersSwitch.aidl new file mode 100644 index 0000000000..6c170fe6a4 --- /dev/null +++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/3/android/hardware/automotive/vehicle/WindshieldWipersSwitch.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.automotive.vehicle; +@Backing(type="int") @VintfStability +enum WindshieldWipersSwitch { + OTHER = 0, + OFF = 1, + MIST = 2, + INTERMITTENT_LEVEL_1 = 3, + INTERMITTENT_LEVEL_2 = 4, + INTERMITTENT_LEVEL_3 = 5, + INTERMITTENT_LEVEL_4 = 6, + INTERMITTENT_LEVEL_5 = 7, + CONTINUOUS_LEVEL_1 = 8, + CONTINUOUS_LEVEL_2 = 9, + CONTINUOUS_LEVEL_3 = 10, + CONTINUOUS_LEVEL_4 = 11, + CONTINUOUS_LEVEL_5 = 12, + AUTO = 13, + SERVICE = 14, +} diff --git a/biometrics/common/aidl/Android.bp b/biometrics/common/aidl/Android.bp index 8502a82ee7..246bcf2a40 100644 --- a/biometrics/common/aidl/Android.bp +++ b/biometrics/common/aidl/Android.bp @@ -13,7 +13,7 @@ aidl_interface { srcs: [ "android/hardware/biometrics/common/*.aidl", ], - frozen: false, + frozen: true, stability: "vintf", backend: { java: { @@ -36,6 +36,10 @@ aidl_interface { version: "3", imports: [], }, + { + version: "4", + imports: [], + }, ], } diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/.hash b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/.hash new file mode 100644 index 0000000000..fce53f1e81 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/.hash @@ -0,0 +1 @@ +8a6cd86630181a4df6f20056259ec200ffe39209 diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/AuthenticateReason.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/AuthenticateReason.aidl new file mode 100644 index 0000000000..f639ead601 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/AuthenticateReason.aidl @@ -0,0 +1,63 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +union AuthenticateReason { + android.hardware.biometrics.common.AuthenticateReason.Vendor vendorAuthenticateReason; + android.hardware.biometrics.common.AuthenticateReason.Face faceAuthenticateReason; + android.hardware.biometrics.common.AuthenticateReason.Fingerprint fingerprintAuthenticateReason; + @VintfStability + parcelable Vendor { + ParcelableHolder extension; + } + @Backing(type="int") @VintfStability + enum Fingerprint { + UNKNOWN, + } + @Backing(type="int") @VintfStability + enum Face { + UNKNOWN, + STARTED_WAKING_UP, + PRIMARY_BOUNCER_SHOWN, + ASSISTANT_VISIBLE, + ALTERNATE_BIOMETRIC_BOUNCER_SHOWN, + NOTIFICATION_PANEL_CLICKED, + OCCLUDING_APP_REQUESTED, + PICK_UP_GESTURE_TRIGGERED, + QS_EXPANDED, + SWIPE_UP_ON_BOUNCER, + UDFPS_POINTER_DOWN, + } +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/CommonProps.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/CommonProps.aidl new file mode 100644 index 0000000000..1eb8541352 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/CommonProps.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +parcelable CommonProps { + int sensorId; + android.hardware.biometrics.common.SensorStrength sensorStrength = android.hardware.biometrics.common.SensorStrength.CONVENIENCE; + int maxEnrollmentsPerUser; + android.hardware.biometrics.common.ComponentInfo[] componentInfo; +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ComponentInfo.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ComponentInfo.aidl new file mode 100644 index 0000000000..471ed2ba37 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ComponentInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +parcelable ComponentInfo { + String componentId; + String hardwareVersion; + String firmwareVersion; + String serialNumber; + String softwareVersion; +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/DisplayState.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/DisplayState.aidl new file mode 100644 index 0000000000..176e8d603b --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/DisplayState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum DisplayState { + UNKNOWN, + LOCKSCREEN, + NO_UI, + SCREENSAVER, + AOD, +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/FoldState.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/FoldState.aidl new file mode 100644 index 0000000000..06baf00638 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/FoldState.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum FoldState { + UNKNOWN, + HALF_OPENED, + FULLY_OPENED, + FULLY_CLOSED, +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ICancellationSignal.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ICancellationSignal.aidl new file mode 100644 index 0000000000..670114f10a --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/ICancellationSignal.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +interface ICancellationSignal { + oneway void cancel(); +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationContext.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationContext.aidl new file mode 100644 index 0000000000..8d913c8f10 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationContext.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +parcelable OperationContext { + int id = 0; + android.hardware.biometrics.common.OperationReason reason = android.hardware.biometrics.common.OperationReason.UNKNOWN; + /** + * @deprecated use displayState instead. + */ + boolean isAod = false; + boolean isCrypto = false; + android.hardware.biometrics.common.WakeReason wakeReason = android.hardware.biometrics.common.WakeReason.UNKNOWN; + android.hardware.biometrics.common.DisplayState displayState = android.hardware.biometrics.common.DisplayState.UNKNOWN; + @nullable android.hardware.biometrics.common.AuthenticateReason authenticateReason; + android.hardware.biometrics.common.FoldState foldState = android.hardware.biometrics.common.FoldState.UNKNOWN; + @nullable android.hardware.biometrics.common.OperationState operationState; +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationReason.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationReason.aidl new file mode 100644 index 0000000000..188054a45a --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationReason.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum OperationReason { + UNKNOWN, + BIOMETRIC_PROMPT, + KEYGUARD, +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationState.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationState.aidl new file mode 100644 index 0000000000..fca95252fc --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/OperationState.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@VintfStability +union OperationState { + android.hardware.biometrics.common.OperationState.FingerprintOperationState fingerprintOperationState; + android.hardware.biometrics.common.OperationState.FaceOperationState faceOperationState; + @VintfStability + parcelable FingerprintOperationState { + ParcelableHolder extension; + boolean isHardwareIgnoringTouches = false; + } + @VintfStability + parcelable FaceOperationState { + ParcelableHolder extension; + } +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/SensorStrength.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/SensorStrength.aidl new file mode 100644 index 0000000000..c93178167d --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/SensorStrength.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="byte") @VintfStability +enum SensorStrength { + CONVENIENCE, + WEAK, + STRONG, +} diff --git a/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/WakeReason.aidl b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/WakeReason.aidl new file mode 100644 index 0000000000..6a08776280 --- /dev/null +++ b/biometrics/common/aidl/aidl_api/android.hardware.biometrics.common/4/android/hardware/biometrics/common/WakeReason.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum WakeReason { + UNKNOWN, + POWER_BUTTON, + GESTURE, + WAKE_KEY, + WAKE_MOTION, + LID, + DISPLAY_GROUP_ADDED, + TAP, + LIFT, + BIOMETRIC, +} diff --git a/biometrics/fingerprint/aidl/Android.bp b/biometrics/fingerprint/aidl/Android.bp index 1a099a54cb..282a702197 100644 --- a/biometrics/fingerprint/aidl/Android.bp +++ b/biometrics/fingerprint/aidl/Android.bp @@ -48,7 +48,14 @@ aidl_interface { "android.hardware.keymaster-V4", ], }, + { + version: "4", + imports: [ + "android.hardware.biometrics.common-V4", + "android.hardware.keymaster-V4", + ], + }, ], - frozen: false, + frozen: true, } diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/.hash b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/.hash new file mode 100644 index 0000000000..cdd540ed3f --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/.hash @@ -0,0 +1 @@ +41a730a7a6b5aa9cebebce70ee5b5e509b0af6fb diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/AcquiredInfo.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/AcquiredInfo.aidl new file mode 100644 index 0000000000..7075f715fd --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/AcquiredInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@Backing(type="byte") @VintfStability +enum AcquiredInfo { + UNKNOWN, + GOOD, + PARTIAL, + INSUFFICIENT, + SENSOR_DIRTY, + TOO_SLOW, + TOO_FAST, + VENDOR, + START, + TOO_DARK, + TOO_BRIGHT, + IMMOBILE, + RETRYING_CAPTURE, + LIFT_TOO_SOON, + POWER_PRESS, +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/Error.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/Error.aidl new file mode 100644 index 0000000000..9eeaac53ec --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/Error.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@Backing(type="byte") @VintfStability +enum Error { + UNKNOWN, + HW_UNAVAILABLE, + UNABLE_TO_PROCESS, + TIMEOUT, + NO_SPACE, + CANCELED, + UNABLE_TO_REMOVE, + VENDOR, + BAD_CALIBRATION, + POWER_PRESS, +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/FingerprintSensorType.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/FingerprintSensorType.aidl new file mode 100644 index 0000000000..381aaf7365 --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/FingerprintSensorType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@Backing(type="byte") @VintfStability +enum FingerprintSensorType { + UNKNOWN, + REAR, + UNDER_DISPLAY_ULTRASONIC, + UNDER_DISPLAY_OPTICAL, + POWER_BUTTON, + HOME_BUTTON, +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/IFingerprint.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/IFingerprint.aidl new file mode 100644 index 0000000000..0b6f3008ac --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/IFingerprint.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +interface IFingerprint { + android.hardware.biometrics.fingerprint.SensorProps[] getSensorProps(); + android.hardware.biometrics.fingerprint.ISession createSession(in int sensorId, in int userId, in android.hardware.biometrics.fingerprint.ISessionCallback cb); +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISession.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISession.aidl new file mode 100644 index 0000000000..feb6ba3548 --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISession.aidl @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +interface ISession { + void generateChallenge(); + void revokeChallenge(in long challenge); + android.hardware.biometrics.common.ICancellationSignal enroll(in android.hardware.keymaster.HardwareAuthToken hat); + android.hardware.biometrics.common.ICancellationSignal authenticate(in long operationId); + android.hardware.biometrics.common.ICancellationSignal detectInteraction(); + void enumerateEnrollments(); + void removeEnrollments(in int[] enrollmentIds); + void getAuthenticatorId(); + void invalidateAuthenticatorId(); + void resetLockout(in android.hardware.keymaster.HardwareAuthToken hat); + void close(); + /** + * @deprecated use onPointerDownWithContext instead. + */ + void onPointerDown(in int pointerId, in int x, in int y, in float minor, in float major); + /** + * @deprecated use onPointerUpWithContext instead. + */ + void onPointerUp(in int pointerId); + void onUiReady(); + android.hardware.biometrics.common.ICancellationSignal authenticateWithContext(in long operationId, in android.hardware.biometrics.common.OperationContext context); + android.hardware.biometrics.common.ICancellationSignal enrollWithContext(in android.hardware.keymaster.HardwareAuthToken hat, in android.hardware.biometrics.common.OperationContext context); + android.hardware.biometrics.common.ICancellationSignal detectInteractionWithContext(in android.hardware.biometrics.common.OperationContext context); + void onPointerDownWithContext(in android.hardware.biometrics.fingerprint.PointerContext context); + void onPointerUpWithContext(in android.hardware.biometrics.fingerprint.PointerContext context); + void onContextChanged(in android.hardware.biometrics.common.OperationContext context); + void onPointerCancelWithContext(in android.hardware.biometrics.fingerprint.PointerContext context); + /** + * @deprecated use isHardwareIgnoringTouches in OperationContext from onContextChanged instead + */ + void setIgnoreDisplayTouches(in boolean shouldIgnore); +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISessionCallback.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISessionCallback.aidl new file mode 100644 index 0000000000..be18ffed1a --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/ISessionCallback.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +interface ISessionCallback { + void onChallengeGenerated(in long challenge); + void onChallengeRevoked(in long challenge); + void onAcquired(in android.hardware.biometrics.fingerprint.AcquiredInfo info, in int vendorCode); + void onError(in android.hardware.biometrics.fingerprint.Error error, in int vendorCode); + void onEnrollmentProgress(in int enrollmentId, int remaining); + void onAuthenticationSucceeded(in int enrollmentId, in android.hardware.keymaster.HardwareAuthToken hat); + void onAuthenticationFailed(); + void onLockoutTimed(in long durationMillis); + void onLockoutPermanent(); + void onLockoutCleared(); + void onInteractionDetected(); + void onEnrollmentsEnumerated(in int[] enrollmentIds); + void onEnrollmentsRemoved(in int[] enrollmentIds); + void onAuthenticatorIdRetrieved(in long authenticatorId); + void onAuthenticatorIdInvalidated(in long newAuthenticatorId); + void onSessionClosed(); +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/PointerContext.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/PointerContext.aidl new file mode 100644 index 0000000000..d9bf0854ca --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/PointerContext.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@JavaDerive(equals=true) @VintfStability +parcelable PointerContext { + int pointerId = (-1) /* -1 */; + float x = 0f; + float y = 0f; + float minor = 0f; + float major = 0f; + float orientation = 0f; + boolean isAod = false; + long time = 0; + long gestureStart = 0; +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorLocation.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorLocation.aidl new file mode 100644 index 0000000000..965576e822 --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorLocation.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +parcelable SensorLocation { + /** + * @deprecated use the display field instead. This field was never used. + */ + int displayId; + int sensorLocationX; + int sensorLocationY; + int sensorRadius; + String display = ""; + android.hardware.biometrics.fingerprint.SensorShape sensorShape = android.hardware.biometrics.fingerprint.SensorShape.CIRCLE; +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorProps.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorProps.aidl new file mode 100644 index 0000000000..a97d819dba --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorProps.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +parcelable SensorProps { + android.hardware.biometrics.common.CommonProps commonProps; + android.hardware.biometrics.fingerprint.FingerprintSensorType sensorType = android.hardware.biometrics.fingerprint.FingerprintSensorType.UNKNOWN; + android.hardware.biometrics.fingerprint.SensorLocation[] sensorLocations; + boolean supportsNavigationGestures; + boolean supportsDetectInteraction; + boolean halHandlesDisplayTouches; + boolean halControlsIllumination; + @nullable android.hardware.biometrics.fingerprint.TouchDetectionParameters touchDetectionParameters; +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorShape.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorShape.aidl new file mode 100644 index 0000000000..f673b1c806 --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/SensorShape.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@Backing(type="byte") @VintfStability +enum SensorShape { + SQUARE, + CIRCLE, +} diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/TouchDetectionParameters.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/TouchDetectionParameters.aidl new file mode 100644 index 0000000000..2e3ec4f574 --- /dev/null +++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/4/android/hardware/biometrics/fingerprint/TouchDetectionParameters.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.biometrics.fingerprint; +/* @hide */ +@VintfStability +parcelable TouchDetectionParameters { + float targetSize = 1.0f; + float minOverlap = 0.0f; +} diff --git a/bluetooth/audio/aidl/Android.bp b/bluetooth/audio/aidl/Android.bp index feed6f55ca..f8818fda29 100644 --- a/bluetooth/audio/aidl/Android.bp +++ b/bluetooth/audio/aidl/Android.bp @@ -75,9 +75,17 @@ aidl_interface { "android.hardware.audio.common-V2", ], }, + { + version: "4", + imports: [ + "android.hardware.audio.common-V3", + "android.hardware.common-V2", + "android.hardware.common.fmq-V1", + ], + }, ], - frozen: false, + frozen: true, } diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/.hash b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/.hash new file mode 100644 index 0000000000..a1dec3a95e --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/.hash @@ -0,0 +1 @@ +ac25616dda1c45dc2915d3f5ac82687a1a6f6e46 diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfiguration.aidl new file mode 100644 index 0000000000..9e67b1520d --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable A2dpConfiguration { + int remoteSeid; + android.hardware.bluetooth.audio.CodecId id; + android.hardware.bluetooth.audio.CodecParameters parameters; + byte[] configuration; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfigurationHint.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfigurationHint.aidl new file mode 100644 index 0000000000..0a5b489321 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpConfigurationHint.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable A2dpConfigurationHint { + byte[6] bdAddr; + android.hardware.bluetooth.audio.AudioContext audioContext; + @nullable android.hardware.bluetooth.audio.CodecId codecId; + @nullable android.hardware.bluetooth.audio.CodecParameters codecParameters; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpRemoteCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpRemoteCapabilities.aidl new file mode 100644 index 0000000000..9c1e97173a --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpRemoteCapabilities.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable A2dpRemoteCapabilities { + int seid; + android.hardware.bluetooth.audio.CodecId id; + byte[] capabilities; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStatus.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStatus.aidl new file mode 100644 index 0000000000..ac22e2519f --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStatus.aidl @@ -0,0 +1,65 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum A2dpStatus { + OK = 0, + BAD_LENGTH = 0x11u8, + BAD_PAYLOAD_FORMAT = 0x18u8, + INVALID_CODEC_TYPE = 0xC1u8, + NOT_SUPPORTED_CODEC_TYPE = 0xC2u8, + INVALID_SAMPLING_FREQUENCY = 0xC3u8, + NOT_SUPPORTED_SAMPLING_FREQUENCY = 0xC4u8, + INVALID_CHANNEL_MODE = 0xC5u8, + NOT_SUPPORTED_CHANNEL_MODE = 0xC6u8, + INVALID_SUBBANDS = 0xC7u8, + NOT_SUPPORTED_SUBBANDS = 0xC8u8, + INVALID_ALLOCATION_METHOD = 0xC9u8, + NOT_SUPPORTED_ALLOCATION_METHOD = 0xCAu8, + INVALID_MINIMUM_BITPOOL_VALUE = 0xCBu8, + NOT_SUPPORTED_MINIMUM_BITPOOL_VALUE = 0xCCu8, + INVALID_MAXIMUM_BITPOOL_VALUE = 0xCDu8, + NOT_SUPPORTED_MAXIMUM_BITPOOL_VALUE = 0xCEu8, + NOT_SUPPORTED_VBR = 0xD3u8, + NOT_SUPPORTED_BIT_RATE = 0xD5u8, + INVALID_OBJECT_TYPE = 0xD6u8, + NOT_SUPPORTED_OBJECT_TYPE = 0xD7u8, + INVALID_CHANNELS = 0xD8u8, + NOT_SUPPORTED_CHANNELS = 0xD9u8, + INVALID_BLOCK_LENGTH = 0xDDu8, + INVALID_CODEC_PARAMETER = 0xE2u8, + NOT_SUPPORTED_CODEC_PARAMETER = 0xE3u8, + INVALID_DRC = 0xE4u8, + NOT_SUPPORTED_DRC = 0xE5u8, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStreamConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStreamConfiguration.aidl new file mode 100644 index 0000000000..ff5a1bc298 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/A2dpStreamConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable A2dpStreamConfiguration { + int peerMtu; + @nullable byte[1] cpHeaderScmst; + android.hardware.bluetooth.audio.CodecId codecId; + byte[] configuration; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacCapabilities.aidl new file mode 100644 index 0000000000..e548cd326a --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacCapabilities.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AacCapabilities { + android.hardware.bluetooth.audio.AacObjectType[] objectType; + int[] sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; + boolean variableBitRateSupported; + byte[] bitsPerSample; + boolean adaptiveBitRateSupported; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacConfiguration.aidl new file mode 100644 index 0000000000..29ab8ce3d0 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacConfiguration.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AacConfiguration { + android.hardware.bluetooth.audio.AacObjectType objectType; + int sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode channelMode; + boolean variableBitRateEnabled; + byte bitsPerSample; + boolean adaptiveBitRateSupported; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacObjectType.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacObjectType.aidl new file mode 100644 index 0000000000..418dd7a6a5 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AacObjectType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum AacObjectType { + MPEG2_LC, + MPEG4_LC, + MPEG4_LTP, + MPEG4_SCALABLE, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveCapabilities.aidl new file mode 100644 index 0000000000..4e5dfe66c2 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveCapabilities.aidl @@ -0,0 +1,46 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxAdaptiveCapabilities { + int[] sampleRateHz; + android.hardware.bluetooth.audio.AptxAdaptiveChannelMode[] channelMode; + byte[] bitsPerSample; + android.hardware.bluetooth.audio.AptxMode[] aptxMode; + android.hardware.bluetooth.audio.AptxSinkBuffering sinkBufferingMs; + android.hardware.bluetooth.audio.AptxAdaptiveTimeToPlay ttp; + android.hardware.bluetooth.audio.AptxAdaptiveInputMode inputMode; + int inputFadeDurationMs; + byte[] aptxAdaptiveConfigStream; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveChannelMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveChannelMode.aidl new file mode 100644 index 0000000000..675f9f2d23 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveChannelMode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum AptxAdaptiveChannelMode { + JOINT_STEREO = 0, + MONO = 1, + DUAL_MONO = 2, + TWS_STEREO = 4, + UNKNOWN = 0xFF, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveConfiguration.aidl new file mode 100644 index 0000000000..aab05213b4 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveConfiguration.aidl @@ -0,0 +1,46 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxAdaptiveConfiguration { + int sampleRateHz; + android.hardware.bluetooth.audio.AptxAdaptiveChannelMode channelMode; + byte bitsPerSample; + android.hardware.bluetooth.audio.AptxMode aptxMode; + android.hardware.bluetooth.audio.AptxSinkBuffering sinkBufferingMs; + android.hardware.bluetooth.audio.AptxAdaptiveTimeToPlay ttp; + android.hardware.bluetooth.audio.AptxAdaptiveInputMode inputMode; + int inputFadeDurationMs; + byte[] aptxAdaptiveConfigStream; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveInputMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveInputMode.aidl new file mode 100644 index 0000000000..a18303ed75 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveInputMode.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum AptxAdaptiveInputMode { + STEREO = 0x00, + DUAL_MONO = 0x01, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeCapabilities.aidl new file mode 100644 index 0000000000..c9d3cde671 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeCapabilities.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxAdaptiveLeCapabilities { + byte[] pcmBitDepth; + int[] samplingFrequencyHz; + int[] frameDurationUs; + int[] octetsPerFrame; + byte[] blocksPerSdu; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeConfiguration.aidl new file mode 100644 index 0000000000..76df4edba1 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveLeConfiguration.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxAdaptiveLeConfiguration { + byte pcmBitDepth; + int samplingFrequencyHz; + int frameDurationUs; + int octetsPerFrame; + byte blocksPerSdu; + int codecMode; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveTimeToPlay.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveTimeToPlay.aidl new file mode 100644 index 0000000000..35606667cb --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxAdaptiveTimeToPlay.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxAdaptiveTimeToPlay { + byte lowLowLatency; + byte highLowLatency; + byte lowHighQuality; + byte highHighQuality; + byte lowTws; + byte highTws; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxCapabilities.aidl new file mode 100644 index 0000000000..08a38e26e1 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxCapabilities.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxCapabilities { + int[] sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; + byte[] bitsPerSample; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxConfiguration.aidl new file mode 100644 index 0000000000..91e88b32f3 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxConfiguration.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxConfiguration { + int sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode channelMode; + byte bitsPerSample; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxMode.aidl new file mode 100644 index 0000000000..dd8cf08c39 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum AptxMode { + UNKNOWN = 0x00, + HIGH_QUALITY = 0x1000, + LOW_LATENCY = 0x2000, + ULTRA_LOW_LATENCY = 0x4000, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxSinkBuffering.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxSinkBuffering.aidl new file mode 100644 index 0000000000..527418e308 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AptxSinkBuffering.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AptxSinkBuffering { + byte minLowLatency; + byte maxLowLatency; + byte minHighQuality; + byte maxHighQuality; + byte minTws; + byte maxTws; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioCapabilities.aidl new file mode 100644 index 0000000000..8ae716ff23 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioCapabilities.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union AudioCapabilities { + android.hardware.bluetooth.audio.PcmCapabilities pcmCapabilities; + android.hardware.bluetooth.audio.CodecCapabilities a2dpCapabilities; + android.hardware.bluetooth.audio.LeAudioCodecCapabilitiesSetting leAudioCapabilities; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioConfiguration.aidl new file mode 100644 index 0000000000..2c402678b1 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioConfiguration.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union AudioConfiguration { + android.hardware.bluetooth.audio.PcmConfiguration pcmConfig; + android.hardware.bluetooth.audio.CodecConfiguration a2dpConfig; + android.hardware.bluetooth.audio.LeAudioConfiguration leAudioConfig; + android.hardware.bluetooth.audio.LeAudioBroadcastConfiguration leAudioBroadcastConfig; + android.hardware.bluetooth.audio.HfpConfiguration hfpConfig; + android.hardware.bluetooth.audio.A2dpStreamConfiguration a2dp; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioContext.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioContext.aidl new file mode 100644 index 0000000000..5aafeb78d5 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioContext.aidl @@ -0,0 +1,50 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable AudioContext { + int bitmask; + const int UNSPECIFIED = 0x0001; + const int CONVERSATIONAL = 0x0002; + const int MEDIA = 0x0004; + const int GAME = 0x0008; + const int INSTRUCTIONAL = 0x0010; + const int VOICE_ASSISTANTS = 0x0020; + const int LIVE_AUDIO = 0x0040; + const int SOUND_EFFECTS = 0x0080; + const int NOTIFICATIONS = 0x0100; + const int RINGTONE_ALERTS = 0x0200; + const int ALERTS = 0x0400; + const int EMERGENCY_ALARM = 0x0800; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioLocation.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioLocation.aidl new file mode 100644 index 0000000000..941344cdbe --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/AudioLocation.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum AudioLocation { + UNKNOWN = 1, + FRONT_LEFT = (1 << 1) /* 2 */, + FRONT_RIGHT = (1 << 2) /* 4 */, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BluetoothAudioStatus.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BluetoothAudioStatus.aidl new file mode 100644 index 0000000000..c20c057626 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BluetoothAudioStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum BluetoothAudioStatus { + UNKNOWN = 0, + SUCCESS = 1, + UNSUPPORTED_CODEC_CONFIGURATION = 2, + FAILURE = 3, + RECONFIGURATION = 4, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BroadcastCapability.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BroadcastCapability.aidl new file mode 100644 index 0000000000..58710effe7 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/BroadcastCapability.aidl @@ -0,0 +1,50 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable BroadcastCapability { + android.hardware.bluetooth.audio.CodecType codecType; + android.hardware.bluetooth.audio.AudioLocation supportedChannel; + int channelCountPerStream; + android.hardware.bluetooth.audio.BroadcastCapability.LeAudioCodecCapabilities leAudioCodecCapabilities; + @VintfStability + parcelable VendorCapabilities { + ParcelableHolder extension; + } + @VintfStability + union LeAudioCodecCapabilities { + @nullable android.hardware.bluetooth.audio.Lc3Capabilities[] lc3Capabilities; + @nullable android.hardware.bluetooth.audio.BroadcastCapability.VendorCapabilities[] vendorCapabillities; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ChannelMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ChannelMode.aidl new file mode 100644 index 0000000000..2bb5cd8e8b --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ChannelMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum ChannelMode { + UNKNOWN, + MONO, + STEREO, + DUALMONO, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecCapabilities.aidl new file mode 100644 index 0000000000..b00649a62d --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecCapabilities.aidl @@ -0,0 +1,54 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable CodecCapabilities { + android.hardware.bluetooth.audio.CodecType codecType; + android.hardware.bluetooth.audio.CodecCapabilities.Capabilities capabilities; + @VintfStability + parcelable VendorCapabilities { + ParcelableHolder extension; + } + @VintfStability + union Capabilities { + android.hardware.bluetooth.audio.SbcCapabilities sbcCapabilities; + android.hardware.bluetooth.audio.AacCapabilities aacCapabilities; + android.hardware.bluetooth.audio.LdacCapabilities ldacCapabilities; + android.hardware.bluetooth.audio.AptxCapabilities aptxCapabilities; + android.hardware.bluetooth.audio.AptxAdaptiveCapabilities aptxAdaptiveCapabilities; + android.hardware.bluetooth.audio.Lc3Capabilities lc3Capabilities; + android.hardware.bluetooth.audio.CodecCapabilities.VendorCapabilities vendorCapabilities; + @nullable android.hardware.bluetooth.audio.OpusCapabilities opusCapabilities; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecConfiguration.aidl new file mode 100644 index 0000000000..7f5ea48d8a --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecConfiguration.aidl @@ -0,0 +1,59 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable CodecConfiguration { + android.hardware.bluetooth.audio.CodecType codecType; + int encodedAudioBitrate; + int peerMtu; + boolean isScmstEnabled; + android.hardware.bluetooth.audio.CodecConfiguration.CodecSpecific config; + @VintfStability + parcelable VendorConfiguration { + int vendorId; + char codecId; + ParcelableHolder codecConfig; + } + @VintfStability + union CodecSpecific { + android.hardware.bluetooth.audio.SbcConfiguration sbcConfig; + android.hardware.bluetooth.audio.AacConfiguration aacConfig; + android.hardware.bluetooth.audio.LdacConfiguration ldacConfig; + android.hardware.bluetooth.audio.AptxConfiguration aptxConfig; + android.hardware.bluetooth.audio.AptxAdaptiveConfiguration aptxAdaptiveConfig; + android.hardware.bluetooth.audio.Lc3Configuration lc3Config; + android.hardware.bluetooth.audio.CodecConfiguration.VendorConfiguration vendorConfig; + @nullable android.hardware.bluetooth.audio.OpusConfiguration opusConfig; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecId.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecId.aidl new file mode 100644 index 0000000000..f3b4102a30 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecId.aidl @@ -0,0 +1,53 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union CodecId { + android.hardware.bluetooth.audio.CodecId.A2dp a2dp = android.hardware.bluetooth.audio.CodecId.A2dp.SBC; + android.hardware.bluetooth.audio.CodecId.Core core; + android.hardware.bluetooth.audio.CodecId.Vendor vendor; + enum A2dp { + SBC = 0, + AAC = 2, + } + enum Core { + CVSD = 2, + MSBC = 5, + LC3 = 6, + } + parcelable Vendor { + int id; + int codecId; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecInfo.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecInfo.aidl new file mode 100644 index 0000000000..2727d6e840 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecInfo.aidl @@ -0,0 +1,64 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable CodecInfo { + android.hardware.bluetooth.audio.CodecId id; + String name; + android.hardware.bluetooth.audio.CodecInfo.Transport transport; + parcelable A2dp { + byte[] capabilities; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; + int[] samplingFrequencyHz; + int[] bitdepth; + boolean lossless; + } + parcelable Hfp { + int inputDataPath = 1; + int outputDataPath = 1; + boolean useControllerCodec = true; + } + parcelable LeAudio { + android.hardware.bluetooth.audio.ChannelMode[] channelMode; + int[] samplingFrequencyHz; + int[] frameDurationUs; + int[] bitdepth; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + } + union Transport { + android.hardware.bluetooth.audio.CodecInfo.LeAudio leAudio; + android.hardware.bluetooth.audio.CodecInfo.A2dp a2dp; + android.hardware.bluetooth.audio.CodecInfo.Hfp hfp; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecParameters.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecParameters.aidl new file mode 100644 index 0000000000..ac63c289fd --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecParameters.aidl @@ -0,0 +1,45 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable CodecParameters { + android.hardware.bluetooth.audio.ChannelMode channelMode; + int samplingFrequencyHz; + int bitdepth; + int minBitrate; + int maxBitrate; + boolean lowLatency = false; + boolean lossless = false; + byte[] vendorSpecificParameters; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv.aidl new file mode 100644 index 0000000000..60c276b0dd --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv.aidl @@ -0,0 +1,83 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union CodecSpecificCapabilitiesLtv { + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv.SupportedSamplingFrequencies supportedSamplingFrequencies; + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv.SupportedFrameDurations supportedFrameDurations; + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv.SupportedAudioChannelCounts supportedAudioChannelCounts; + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv.SupportedOctetsPerCodecFrame supportedOctetsPerCodecFrame; + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv.SupportedMaxCodecFramesPerSDU supportedMaxCodecFramesPerSDU; + parcelable SupportedSamplingFrequencies { + int bitmask; + const int HZ8000 = 0x0001; + const int HZ11025 = 0x0002; + const int HZ16000 = 0x0004; + const int HZ22050 = 0x0008; + const int HZ24000 = 0x0010; + const int HZ32000 = 0x0020; + const int HZ44100 = 0x0040; + const int HZ48000 = 0x0080; + const int HZ88200 = 0x0100; + const int HZ96000 = 0x0200; + const int HZ176400 = 0x0400; + const int HZ192000 = 0x0800; + const int HZ384000 = 0x1000; + } + parcelable SupportedFrameDurations { + int bitmask; + const int US7500 = 0x01; + const int US10000 = 0x02; + const int US7500PREFERRED = 0x10; + const int US10000PREFERRED = 0x20; + } + parcelable SupportedAudioChannelCounts { + int bitmask; + const int ONE = 0x01; + const int TWO = 0x02; + const int THREE = 0x04; + const int FOUR = 0x08; + const int FIVE = 0x10; + const int SIX = 0x20; + const int SEVEN = 0x40; + const int EIGHT = 0x80; + } + parcelable SupportedOctetsPerCodecFrame { + int min; + int max; + } + parcelable SupportedMaxCodecFramesPerSDU { + int value; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv.aidl new file mode 100644 index 0000000000..943d396aec --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv.aidl @@ -0,0 +1,101 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union CodecSpecificConfigurationLtv { + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv.CodecFrameBlocksPerSDU codecFrameBlocksPerSDU; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv.SamplingFrequency samplingFrequency; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv.FrameDuration frameDuration; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv.AudioChannelAllocation audioChannelAllocation; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv.OctetsPerCodecFrame octetsPerCodecFrame; + @Backing(type="byte") + enum SamplingFrequency { + HZ8000 = 0x01, + HZ11025 = 0x02, + HZ16000 = 0x03, + HZ22050 = 0x04, + HZ24000 = 0x05, + HZ32000 = 0x06, + HZ44100 = 0x07, + HZ48000 = 0x08, + HZ88200 = 0x09, + HZ96000 = 0x0A, + HZ176400 = 0x0B, + HZ192000 = 0x0C, + HZ384000 = 0x0D, + } + @Backing(type="byte") + enum FrameDuration { + US7500 = 0x00, + US10000 = 0x01, + } + parcelable AudioChannelAllocation { + int bitmask; + const int NOT_ALLOWED = 0x00000000; + const int FRONT_LEFT = 0x00000001; + const int FRONT_RIGHT = 0x00000002; + const int FRONT_CENTER = 0x00000004; + const int LOW_FREQUENCY_EFFECTS_1 = 0x00000008; + const int BACK_LEFT = 0x00000010; + const int BACK_RIGHT = 0x00000020; + const int FRONT_LEFT_OF_CENTER = 0x00000040; + const int FRONT_RIGHT_OF_CENTER = 0x00000080; + const int BACK_CENTER = 0x00000100; + const int LOW_FREQUENCY_EFFECTS_2 = 0x00000200; + const int SIDE_LEFT = 0x00000400; + const int SIDE_RIGHT = 0x00000800; + const int TOP_FRONT_LEFT = 0x00001000; + const int TOP_FRONT_RIGHT = 0x00002000; + const int TOP_FRONT_CENTER = 0x00004000; + const int TOP_CENTER = 0x00008000; + const int TOP_BACK_LEFT = 0x00010000; + const int TOP_BACK_RIGHT = 0x00020000; + const int TOP_SIDE_LEFT = 0x00040000; + const int TOP_SIDE_RIGHT = 0x00080000; + const int TOP_BACK_CENTER = 0x00100000; + const int BOTTOM_FRONT_CENTER = 0x00200000; + const int BOTTOM_FRONT_LEFT = 0x00400000; + const int BOTTOM_FRONT_RIGHT = 0x00800000; + const int FRONT_LEFT_WIDE = 0x01000000; + const int FRONT_RIGHT_WIDE = 0x02000000; + const int LEFT_SURROUND = 0x04000000; + const int RIGHT_SURROUND = 0x08000000; + } + parcelable OctetsPerCodecFrame { + int value; + } + parcelable CodecFrameBlocksPerSDU { + int value; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecType.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecType.aidl new file mode 100644 index 0000000000..d4f205e365 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/CodecType.aidl @@ -0,0 +1,49 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum CodecType { + UNKNOWN, + SBC, + AAC, + APTX, + APTX_HD, + LDAC, + LC3, + VENDOR, + APTX_ADAPTIVE, + OPUS, + APTX_ADAPTIVE_LE, + APTX_ADAPTIVE_LEX, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ConfigurationFlags.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ConfigurationFlags.aidl new file mode 100644 index 0000000000..6b3cf723cf --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/ConfigurationFlags.aidl @@ -0,0 +1,45 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable ConfigurationFlags { + int bitmask; + const int NONE = 0x0000; + const int LOSSLESS = 0x0001; + const int LOW_LATENCY = 0x0002; + const int ALLOW_ASYMMETRIC_CONFIGURATIONS = 0x0004; + const int SPATIAL_AUDIO = 0x0008; + const int PROVIDE_ASE_METADATA = 0x0010; + const int MONO_MIC_CONFIGURATION = 0x0020; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/HfpConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/HfpConfiguration.aidl new file mode 100644 index 0000000000..490a05d3f1 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/HfpConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable HfpConfiguration { + android.hardware.bluetooth.audio.CodecId codecId; + int connectionHandle; + boolean nrec; + boolean controllerCodec; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioPort.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioPort.aidl new file mode 100644 index 0000000000..d364371707 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioPort.aidl @@ -0,0 +1,44 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +interface IBluetoothAudioPort { + android.hardware.bluetooth.audio.PresentationPosition getPresentationPosition(); + void startStream(boolean isLowLatency); + void stopStream(); + void suspendStream(); + void updateSourceMetadata(in android.hardware.audio.common.SourceMetadata sourceMetadata); + void updateSinkMetadata(in android.hardware.audio.common.SinkMetadata sinkMetadata); + void setLatencyMode(in android.hardware.bluetooth.audio.LatencyMode latencyMode); +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl new file mode 100644 index 0000000000..8d46c01bda --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl @@ -0,0 +1,199 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +interface IBluetoothAudioProvider { + void endSession(); + android.hardware.common.fmq.MQDescriptor startSession(in android.hardware.bluetooth.audio.IBluetoothAudioPort hostIf, in android.hardware.bluetooth.audio.AudioConfiguration audioConfig, in android.hardware.bluetooth.audio.LatencyMode[] supportedLatencyModes); + void streamStarted(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); + void streamSuspended(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); + void updateAudioConfiguration(in android.hardware.bluetooth.audio.AudioConfiguration audioConfig); + void setLowLatencyModeAllowed(in boolean allowed); + android.hardware.bluetooth.audio.A2dpStatus parseA2dpConfiguration(in android.hardware.bluetooth.audio.CodecId codecId, in byte[] configuration, out android.hardware.bluetooth.audio.CodecParameters codecParameters); + @nullable android.hardware.bluetooth.audio.A2dpConfiguration getA2dpConfiguration(in android.hardware.bluetooth.audio.A2dpRemoteCapabilities[] remoteA2dpCapabilities, in android.hardware.bluetooth.audio.A2dpConfigurationHint hint); + void setCodecPriority(in android.hardware.bluetooth.audio.CodecId codecId, int priority); + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseConfigurationSetting[] getLeAudioAseConfiguration(in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities[] remoteSinkAudioCapabilities, in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities[] remoteSourceAudioCapabilities, in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioConfigurationRequirement[] requirements); + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationPair getLeAudioAseQosConfiguration(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationRequirement qosRequirement); + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sinkConfig, in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sourceConfig); + void onSinkAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata); + void onSourceAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata); + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationSetting getLeAudioBroadcastConfiguration(in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities[] remoteSinkAudioCapabilities, in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationRequirement requirement); + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration getLeAudioBroadcastDatapathConfiguration(in android.hardware.bluetooth.audio.AudioContext audioContext, in android.hardware.bluetooth.audio.LeAudioBroadcastConfiguration.BroadcastStreamMap[] streamMap); + const int CODEC_PRIORITY_DISABLED = (-1) /* -1 */; + const int CODEC_PRIORITY_NONE = 0; + @VintfStability + parcelable LeAudioDeviceCapabilities { + android.hardware.bluetooth.audio.CodecId codecId; + android.hardware.bluetooth.audio.CodecSpecificCapabilitiesLtv[] codecSpecificCapabilities; + @nullable byte[] vendorCodecSpecificCapabilities; + @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata; + } + @VintfStability + parcelable LeAudioDataPathConfiguration { + int dataPathId; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration.DataPathConfiguration dataPathConfiguration; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration.IsoDataPathConfiguration isoDataPathConfiguration; + @VintfStability + parcelable IsoDataPathConfiguration { + android.hardware.bluetooth.audio.CodecId codecId; + boolean isTransparent; + int controllerDelayUs; + @nullable byte[] configuration; + } + @VintfStability + parcelable DataPathConfiguration { + @nullable byte[] configuration; + } + } + @VintfStability + parcelable LeAudioAseQosConfiguration { + int sduIntervalUs; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.Framing framing; + android.hardware.bluetooth.audio.Phy[] phy; + int maxTransportLatencyMs; + int maxSdu; + int retransmissionNum; + } + @Backing(type="byte") @VintfStability + enum Packing { + SEQUENTIAL = 0x00, + INTERLEAVED = 0x01, + } + @Backing(type="byte") @VintfStability + enum Framing { + UNFRAMED = 0x00, + FRAMED = 0x01, + } + @VintfStability + parcelable LeAudioAseConfigurationSetting { + android.hardware.bluetooth.audio.AudioContext audioContext; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.Packing packing; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseConfigurationSetting.AseDirectionConfiguration[] sinkAseConfiguration; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseConfigurationSetting.AseDirectionConfiguration[] sourceAseConfiguration; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + @VintfStability + parcelable AseDirectionConfiguration { + android.hardware.bluetooth.audio.LeAudioAseConfiguration aseConfiguration; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfiguration qosConfiguration; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration dataPathConfiguration; + } + } + @VintfStability + parcelable LeAudioConfigurationRequirement { + android.hardware.bluetooth.audio.AudioContext audioContext; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioConfigurationRequirement.AseDirectionRequirement[] sinkAseRequirement; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioConfigurationRequirement.AseDirectionRequirement[] sourceAseRequirement; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + @VintfStability + parcelable AseDirectionRequirement { + android.hardware.bluetooth.audio.LeAudioAseConfiguration aseConfiguration; + } + } + @VintfStability + parcelable LeAudioAseQosConfigurationRequirement { + android.hardware.bluetooth.audio.AudioContext audioContext; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationRequirement.AseQosDirectionRequirement sinkAseQosRequirement; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationRequirement.AseQosDirectionRequirement sourceAseQosRequirement; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + @VintfStability + parcelable AseQosDirectionRequirement { + android.hardware.bluetooth.audio.IBluetoothAudioProvider.Framing framing; + android.hardware.bluetooth.audio.Phy[] preferredPhy; + int preferredRetransmissionNum; + int maxTransportLatencyMs; + int presentationDelayMinUs; + int presentationDelayMaxUs; + int preferredPresentationDelayMinUs; + int preferredPresentationDelayMaxUs; + android.hardware.bluetooth.audio.LeAudioAseConfiguration aseConfiguration; + } + } + @VintfStability + parcelable LeAudioAseQosConfigurationPair { + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfiguration sinkQosConfiguration; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfiguration sourceQosConfiguration; + } + parcelable LeAudioDataPathConfigurationPair { + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration inputConfig; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration outputConfig; + } + parcelable StreamConfig { + android.hardware.bluetooth.audio.AudioContext audioContext; + android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap; + } + @Backing(type="byte") @VintfStability + enum AseState { + ENABLING = 0x00, + STREAMING = 0x01, + DISABLING = 0x02, + } + @Backing(type="byte") @VintfStability + enum BroadcastQuality { + STANDARD, + HIGH, + } + @VintfStability + parcelable LeAudioBroadcastSubgroupConfigurationRequirement { + android.hardware.bluetooth.audio.AudioContext audioContext; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.BroadcastQuality quality; + int bisNumPerSubgroup; + } + @VintfStability + parcelable LeAudioBroadcastConfigurationRequirement { + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastSubgroupConfigurationRequirement[] subgroupConfigurationRequirements; + } + @VintfStability + parcelable LeAudioSubgroupBisConfiguration { + int numBis; + android.hardware.bluetooth.audio.LeAudioBisConfiguration bisConfiguration; + } + @VintfStability + parcelable LeAudioBroadcastSubgroupConfiguration { + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioSubgroupBisConfiguration[] bisConfigurations; + @nullable byte[] vendorCodecConfiguration; + } + @VintfStability + parcelable LeAudioBroadcastConfigurationSetting { + int sduIntervalUs; + int numBis; + int maxSduOctets; + int maxTransportLatencyMs; + int retransmitionNum; + android.hardware.bluetooth.audio.Phy[] phy; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.Packing packing; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.Framing framing; + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration dataPathConfiguration; + android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastSubgroupConfiguration[] subgroupsConfigurations; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.aidl new file mode 100644 index 0000000000..edb79a3da0 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/IBluetoothAudioProviderFactory.aidl @@ -0,0 +1,46 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +interface IBluetoothAudioProviderFactory { + android.hardware.bluetooth.audio.AudioCapabilities[] getProviderCapabilities(in android.hardware.bluetooth.audio.SessionType sessionType); + android.hardware.bluetooth.audio.IBluetoothAudioProvider openProvider(in android.hardware.bluetooth.audio.SessionType sessionType); + @nullable android.hardware.bluetooth.audio.IBluetoothAudioProviderFactory.ProviderInfo getProviderInfo(in android.hardware.bluetooth.audio.SessionType sessionType); + @VintfStability + parcelable ProviderInfo { + String name; + android.hardware.bluetooth.audio.CodecInfo[] codecInfos; + boolean supportsMultidirectionalCapabilities; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LatencyMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LatencyMode.aidl new file mode 100644 index 0000000000..1140f9e90b --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LatencyMode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="int") @VintfStability +enum LatencyMode { + UNKNOWN, + LOW_LATENCY, + FREE, + DYNAMIC_SPATIAL_AUDIO_SOFTWARE, + DYNAMIC_SPATIAL_AUDIO_HARDWARE, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Capabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Capabilities.aidl new file mode 100644 index 0000000000..cc4449aea9 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Capabilities.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable Lc3Capabilities { + byte[] pcmBitDepth; + int[] samplingFrequencyHz; + int[] frameDurationUs; + int[] octetsPerFrame; + byte[] blocksPerSdu; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Configuration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Configuration.aidl new file mode 100644 index 0000000000..7e8dccff5f --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Lc3Configuration.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable Lc3Configuration { + byte pcmBitDepth; + int samplingFrequencyHz; + int frameDurationUs; + int octetsPerFrame; + byte blocksPerSdu; + android.hardware.bluetooth.audio.ChannelMode channelMode; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacCapabilities.aidl new file mode 100644 index 0000000000..aa4e4c8793 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacCapabilities.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LdacCapabilities { + int[] sampleRateHz; + android.hardware.bluetooth.audio.LdacChannelMode[] channelMode; + android.hardware.bluetooth.audio.LdacQualityIndex[] qualityIndex; + byte[] bitsPerSample; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacChannelMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacChannelMode.aidl new file mode 100644 index 0000000000..3d80c4b127 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacChannelMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum LdacChannelMode { + UNKNOWN, + STEREO, + DUAL, + MONO, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacConfiguration.aidl new file mode 100644 index 0000000000..8a3763800b --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LdacConfiguration { + int sampleRateHz; + android.hardware.bluetooth.audio.LdacChannelMode channelMode; + android.hardware.bluetooth.audio.LdacQualityIndex qualityIndex; + byte bitsPerSample; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacQualityIndex.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacQualityIndex.aidl new file mode 100644 index 0000000000..a332dc5103 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LdacQualityIndex.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum LdacQualityIndex { + HIGH, + MID, + LOW, + ABR, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioAseConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioAseConfiguration.aidl new file mode 100644 index 0000000000..bffc88b352 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioAseConfiguration.aidl @@ -0,0 +1,50 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LeAudioAseConfiguration { + android.hardware.bluetooth.audio.LeAudioAseConfiguration.TargetLatency targetLatency; + android.hardware.bluetooth.audio.Phy targetPhy; + @nullable android.hardware.bluetooth.audio.CodecId codecId; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv[] codecConfiguration; + @nullable byte[] vendorCodecConfiguration; + @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata; + @Backing(type="byte") @VintfStability + enum TargetLatency { + UNDEFINED = 0x00, + LOWER = 0x01, + BALANCED_LATENCY_RELIABILITY = 0x02, + HIGHER_RELIABILITY = 0x03, + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBisConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBisConfiguration.aidl new file mode 100644 index 0000000000..b09d34fec2 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBisConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LeAudioBisConfiguration { + android.hardware.bluetooth.audio.CodecId codecId; + android.hardware.bluetooth.audio.CodecSpecificConfigurationLtv[] codecConfiguration; + byte[] vendorCodecConfiguration; + @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration.aidl new file mode 100644 index 0000000000..efd3b02818 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration.aidl @@ -0,0 +1,48 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LeAudioBroadcastConfiguration { + android.hardware.bluetooth.audio.CodecType codecType; + android.hardware.bluetooth.audio.LeAudioBroadcastConfiguration.BroadcastStreamMap[] streamMap; + @VintfStability + parcelable BroadcastStreamMap { + char streamHandle; + int audioChannelAllocation; + android.hardware.bluetooth.audio.LeAudioCodecConfiguration leAudioCodecConfig; + char pcmStreamId; + @nullable android.hardware.bluetooth.audio.LeAudioBisConfiguration bisConfiguration; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecCapabilitiesSetting.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecCapabilitiesSetting.aidl new file mode 100644 index 0000000000..9818d543ac --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecCapabilitiesSetting.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LeAudioCodecCapabilitiesSetting { + android.hardware.bluetooth.audio.UnicastCapability unicastEncodeCapability; + android.hardware.bluetooth.audio.UnicastCapability unicastDecodeCapability; + android.hardware.bluetooth.audio.BroadcastCapability broadcastCapability; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecConfiguration.aidl new file mode 100644 index 0000000000..031ee679ac --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioCodecConfiguration.aidl @@ -0,0 +1,44 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union LeAudioCodecConfiguration { + android.hardware.bluetooth.audio.Lc3Configuration lc3Config; + android.hardware.bluetooth.audio.LeAudioCodecConfiguration.VendorConfiguration vendorConfig; + android.hardware.bluetooth.audio.AptxAdaptiveLeConfiguration aptxAdaptiveLeConfig; + @VintfStability + parcelable VendorConfiguration { + ParcelableHolder extension; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioConfiguration.aidl new file mode 100644 index 0000000000..25a9797daf --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/LeAudioConfiguration.aidl @@ -0,0 +1,59 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable LeAudioConfiguration { + android.hardware.bluetooth.audio.CodecType codecType; + android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap; + int peerDelayUs; + android.hardware.bluetooth.audio.LeAudioCodecConfiguration leAudioCodecConfig; + @nullable byte[] vendorSpecificMetadata; + @VintfStability + parcelable StreamMap { + char streamHandle; + int audioChannelAllocation; + boolean isStreamActive; + @nullable android.hardware.bluetooth.audio.LeAudioAseConfiguration aseConfiguration; + @nullable android.hardware.bluetooth.audio.ConfigurationFlags flags; + @nullable android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap.BluetoothDeviceAddress bluetoothDeviceAddress; + parcelable BluetoothDeviceAddress { + byte[6] deviceAddress; + android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap.BluetoothDeviceAddress.DeviceAddressType deviceAddressType; + enum DeviceAddressType { + BLE_ADDRESS_PUBLIC = 0x00, + BLE_ADDRESS_RANDOM = 0x01, + } + } + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/MetadataLtv.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/MetadataLtv.aidl new file mode 100644 index 0000000000..5e8a2ae25d --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/MetadataLtv.aidl @@ -0,0 +1,50 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +union MetadataLtv { + android.hardware.bluetooth.audio.MetadataLtv.PreferredAudioContexts preferredAudioContexts; + android.hardware.bluetooth.audio.MetadataLtv.StreamingAudioContexts streamingAudioContexts; + android.hardware.bluetooth.audio.MetadataLtv.VendorSpecific vendorSpecific; + parcelable PreferredAudioContexts { + android.hardware.bluetooth.audio.AudioContext values; + } + parcelable StreamingAudioContexts { + android.hardware.bluetooth.audio.AudioContext values; + } + parcelable VendorSpecific { + int companyId; + byte[] opaqueValue; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusCapabilities.aidl new file mode 100644 index 0000000000..2c04b0f3bb --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusCapabilities.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable OpusCapabilities { + byte[] pcmBitDepth; + int[] samplingFrequencyHz; + int[] frameDurationUs; + int[] octetsPerFrame; + byte[] blocksPerSdu; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusConfiguration.aidl new file mode 100644 index 0000000000..811d32a7ea --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/OpusConfiguration.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable OpusConfiguration { + byte pcmBitDepth; + int samplingFrequencyHz; + int frameDurationUs; + int octetsPerFrame; + byte blocksPerSdu; + android.hardware.bluetooth.audio.ChannelMode channelMode; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmCapabilities.aidl new file mode 100644 index 0000000000..0c2f87d599 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmCapabilities.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable PcmCapabilities { + int[] sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode[] channelMode; + byte[] bitsPerSample; + int[] dataIntervalUs; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmConfiguration.aidl new file mode 100644 index 0000000000..93d7805a33 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PcmConfiguration.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable PcmConfiguration { + int sampleRateHz; + android.hardware.bluetooth.audio.ChannelMode channelMode; + byte bitsPerSample; + int dataIntervalUs; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Phy.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Phy.aidl new file mode 100644 index 0000000000..bfeabcd5a5 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/Phy.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum Phy { + UNDEFINED = 0x00, + ONE_M = 0x01, + TWO_M = 0x02, + CODED = 0x03, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PresentationPosition.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PresentationPosition.aidl new file mode 100644 index 0000000000..7e997e8c8f --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/PresentationPosition.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable PresentationPosition { + long remoteDeviceAudioDelayNanos; + long transmittedOctets; + android.hardware.bluetooth.audio.PresentationPosition.TimeSpec transmittedOctetsTimestamp; + @VintfStability + parcelable TimeSpec { + long tvSec; + long tvNSec; + } +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcAllocMethod.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcAllocMethod.aidl new file mode 100644 index 0000000000..9cf65d57ec --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcAllocMethod.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum SbcAllocMethod { + ALLOC_MD_S, + ALLOC_MD_L, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcCapabilities.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcCapabilities.aidl new file mode 100644 index 0000000000..c8d7e7e74e --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcCapabilities.aidl @@ -0,0 +1,45 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable SbcCapabilities { + int[] sampleRateHz; + android.hardware.bluetooth.audio.SbcChannelMode[] channelMode; + byte[] blockLength; + byte[] numSubbands; + android.hardware.bluetooth.audio.SbcAllocMethod[] allocMethod; + byte[] bitsPerSample; + int minBitpool; + int maxBitpool; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcChannelMode.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcChannelMode.aidl new file mode 100644 index 0000000000..7779aa052f --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcChannelMode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum SbcChannelMode { + UNKNOWN, + JOINT_STEREO, + STEREO, + DUAL, + MONO, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcConfiguration.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcConfiguration.aidl new file mode 100644 index 0000000000..8eab9c3d96 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SbcConfiguration.aidl @@ -0,0 +1,45 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable SbcConfiguration { + int sampleRateHz; + android.hardware.bluetooth.audio.SbcChannelMode channelMode; + byte blockLength; + byte numSubbands; + android.hardware.bluetooth.audio.SbcAllocMethod allocMethod; + byte bitsPerSample; + int minBitpool; + int maxBitpool; +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SessionType.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SessionType.aidl new file mode 100644 index 0000000000..71cca5364f --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/SessionType.aidl @@ -0,0 +1,52 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@Backing(type="byte") @VintfStability +enum SessionType { + UNKNOWN, + A2DP_SOFTWARE_ENCODING_DATAPATH, + A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + HEARING_AID_SOFTWARE_ENCODING_DATAPATH, + LE_AUDIO_SOFTWARE_ENCODING_DATAPATH, + LE_AUDIO_SOFTWARE_DECODING_DATAPATH, + LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH, + LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH, + LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + A2DP_SOFTWARE_DECODING_DATAPATH, + A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH, + HFP_SOFTWARE_ENCODING_DATAPATH, + HFP_SOFTWARE_DECODING_DATAPATH, + HFP_HARDWARE_OFFLOAD_DATAPATH, +} diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/UnicastCapability.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/UnicastCapability.aidl new file mode 100644 index 0000000000..894a2f3148 --- /dev/null +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4/android/hardware/bluetooth/audio/UnicastCapability.aidl @@ -0,0 +1,52 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.audio; +@VintfStability +parcelable UnicastCapability { + android.hardware.bluetooth.audio.CodecType codecType; + android.hardware.bluetooth.audio.AudioLocation supportedChannel; + int deviceCount; + int channelCountPerDevice; + android.hardware.bluetooth.audio.UnicastCapability.LeAudioCodecCapabilities leAudioCodecCapabilities; + @VintfStability + parcelable VendorCapabilities { + ParcelableHolder extension; + } + @VintfStability + union LeAudioCodecCapabilities { + android.hardware.bluetooth.audio.Lc3Capabilities lc3Capabilities; + android.hardware.bluetooth.audio.UnicastCapability.VendorCapabilities vendorCapabillities; + android.hardware.bluetooth.audio.AptxAdaptiveLeCapabilities aptxAdaptiveLeCapabilities; + } +} diff --git a/bluetooth/finder/aidl/Android.bp b/bluetooth/finder/aidl/Android.bp index 25c12877e4..7c83c130fd 100644 --- a/bluetooth/finder/aidl/Android.bp +++ b/bluetooth/finder/aidl/Android.bp @@ -38,4 +38,12 @@ aidl_interface { }, }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash new file mode 100644 index 0000000000..0c1f694c8b --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/.hash @@ -0,0 +1 @@ +078986eb5ef2dd183974ee4c9a79dc9b71bea088 diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl new file mode 100644 index 0000000000..42461c5904 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/Eid.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +parcelable Eid { + byte[20] bytes; +} diff --git a/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl new file mode 100644 index 0000000000..4bc9041499 --- /dev/null +++ b/bluetooth/finder/aidl/aidl_api/android.hardware.bluetooth.finder/1/android/hardware/bluetooth/finder/IBluetoothFinder.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.finder; +@VintfStability +interface IBluetoothFinder { + void sendEids(in android.hardware.bluetooth.finder.Eid[] eids); + void setPoweredOffFinderMode(in boolean enable); + boolean getPoweredOffFinderMode(); +} diff --git a/bluetooth/lmp_event/aidl/Android.bp b/bluetooth/lmp_event/aidl/Android.bp index 6c2f27826b..1e3592bdf4 100644 --- a/bluetooth/lmp_event/aidl/Android.bp +++ b/bluetooth/lmp_event/aidl/Android.bp @@ -30,4 +30,12 @@ aidl_interface { min_sdk_version: "33", }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/.hash b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/.hash new file mode 100644 index 0000000000..8571e31db8 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/.hash @@ -0,0 +1 @@ +e9accf971a83a7829786ee24780fa7a5583b5dae diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/AddressType.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/AddressType.aidl new file mode 100644 index 0000000000..0f239e8055 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/AddressType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@Backing(type="byte") @VintfStability +enum AddressType { + PUBLIC = 0x00, + RANDOM = 0x01, +} diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Direction.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Direction.aidl new file mode 100644 index 0000000000..6f807cc836 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Direction.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@Backing(type="byte") @VintfStability +enum Direction { + TX = 0x00, + RX = 0x01, +} diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEvent.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEvent.aidl new file mode 100644 index 0000000000..3431010d21 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEvent.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@VintfStability +interface IBluetoothLmpEvent { + void registerForLmpEvents(in android.hardware.bluetooth.lmp_event.IBluetoothLmpEventCallback callback, in android.hardware.bluetooth.lmp_event.AddressType addressType, in byte[6] address, in android.hardware.bluetooth.lmp_event.LmpEventId[] lmpEventIds); + void unregisterLmpEvents(in android.hardware.bluetooth.lmp_event.AddressType addressType, in byte[6] address); +} diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEventCallback.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEventCallback.aidl new file mode 100644 index 0000000000..fc6758c608 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/IBluetoothLmpEventCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@VintfStability +interface IBluetoothLmpEventCallback { + void onEventGenerated(in android.hardware.bluetooth.lmp_event.Timestamp timestamp, in android.hardware.bluetooth.lmp_event.AddressType addressType, in byte[6] address, in android.hardware.bluetooth.lmp_event.Direction direction, in android.hardware.bluetooth.lmp_event.LmpEventId lmpEventId, in char connEventCounter); + void onRegistered(in boolean status); +} diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/LmpEventId.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/LmpEventId.aidl new file mode 100644 index 0000000000..4ee95d1147 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/LmpEventId.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@Backing(type="byte") @VintfStability +enum LmpEventId { + CONNECT_IND = 0x00, + LL_PHY_UPDATE_IND = 0x01, +} diff --git a/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Timestamp.aidl b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Timestamp.aidl new file mode 100644 index 0000000000..5ef32ba716 --- /dev/null +++ b/bluetooth/lmp_event/aidl/aidl_api/android.hardware.bluetooth.lmp_event/1/android/hardware/bluetooth/lmp_event/Timestamp.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.lmp_event; +@VintfStability +parcelable Timestamp { + long systemTimeUs; + long bluetoothTimeUs; +} diff --git a/bluetooth/ranging/aidl/Android.bp b/bluetooth/ranging/aidl/Android.bp index 9e53ef6cf1..d0d1b900a2 100644 --- a/bluetooth/ranging/aidl/Android.bp +++ b/bluetooth/ranging/aidl/Android.bp @@ -36,4 +36,12 @@ aidl_interface { min_sdk_version: "33", }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/.hash b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/.hash new file mode 100644 index 0000000000..b0e0cfda25 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/.hash @@ -0,0 +1 @@ +d257bb74ef61a4cbb5854f4663604dd491b4a7bf diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/AddressType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/AddressType.aidl new file mode 100644 index 0000000000..fc417f0dab --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/AddressType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum AddressType { + PUBLIC = 0x00, + RANDOM = 0x01, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/BluetoothChannelSoundingParameters.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/BluetoothChannelSoundingParameters.aidl new file mode 100644 index 0000000000..e8fefbe638 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/BluetoothChannelSoundingParameters.aidl @@ -0,0 +1,49 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable BluetoothChannelSoundingParameters { + android.hardware.bluetooth.ranging.SessionType sessionType; + int aclHandle; + int l2capCid; + int realTimeProcedureDataAttHandle; + android.hardware.bluetooth.ranging.Role role; + boolean localSupportsSoundingPhaseBasedRanging; + boolean remoteSupportsSoundingPhaseBaseRanging; + android.hardware.bluetooth.ranging.Config config; + android.hardware.bluetooth.ranging.DeviceAddress address; + @nullable android.hardware.bluetooth.ranging.VendorSpecificData[] vendorSpecificData; + android.hardware.bluetooth.ranging.LocationType locationType; + android.hardware.bluetooth.ranging.SightType sightType; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoudingRawData.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoudingRawData.aidl new file mode 100644 index 0000000000..8fc77aec31 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoudingRawData.aidl @@ -0,0 +1,48 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable ChannelSoudingRawData { + int procedureCounter; + int[] frequencyCompensation; + boolean aborted; + android.hardware.bluetooth.ranging.ChannelSoundingSingleSideData initiatorData; + android.hardware.bluetooth.ranging.ChannelSoundingSingleSideData reflectorData; + byte[] stepChannels; + @nullable int[] toaTodInitiator; + @nullable int[] todToaReflector; + android.hardware.bluetooth.ranging.ModeType[] stepMode; + byte numAntennaPaths; + long timestampMs; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoundingSingleSideData.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoundingSingleSideData.aidl new file mode 100644 index 0000000000..172ac5e9e8 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ChannelSoundingSingleSideData.aidl @@ -0,0 +1,46 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable ChannelSoundingSingleSideData { + @nullable android.hardware.bluetooth.ranging.StepTonePct[] stepTonePcts; + @nullable byte[] packetQuality; + @nullable byte[] packetRssiDbm; + @nullable android.hardware.bluetooth.ranging.Nadm[] packetNadm; + @nullable int[] measuredFreqOffset; + @nullable android.hardware.bluetooth.ranging.ComplexNumber[] packetPct1; + @nullable android.hardware.bluetooth.ranging.ComplexNumber[] packetPct2; + byte referencePowerDbm; + @nullable byte[] vendorSpecificCsSingleSidedata; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ComplexNumber.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ComplexNumber.aidl new file mode 100644 index 0000000000..4d5ac213ee --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ComplexNumber.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable ComplexNumber { + double real; + double imaginary; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Config.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Config.aidl new file mode 100644 index 0000000000..c9ac99181b --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Config.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable Config { + android.hardware.bluetooth.ranging.ModeType modeType; + android.hardware.bluetooth.ranging.SubModeType subModeType; + android.hardware.bluetooth.ranging.RttType rttType; + byte[10] channelMap; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/CsSecurityLevel.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/CsSecurityLevel.aidl new file mode 100644 index 0000000000..6a31547d87 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/CsSecurityLevel.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum CsSecurityLevel { + NOT_SUPPORTED = 0x00, + ONE = 0x01, + TWO = 0x02, + THREE = 0x03, + FOUR = 0x04, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/DeviceAddress.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/DeviceAddress.aidl new file mode 100644 index 0000000000..69cad5d632 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/DeviceAddress.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable DeviceAddress { + android.hardware.bluetooth.ranging.AddressType addressType; + byte[6] address; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSounding.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSounding.aidl new file mode 100644 index 0000000000..004a48299e --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSounding.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +interface IBluetoothChannelSounding { + @nullable android.hardware.bluetooth.ranging.VendorSpecificData[] getVendorSpecificData(); + @nullable android.hardware.bluetooth.ranging.SessionType[] getSupportedSessionTypes(); + android.hardware.bluetooth.ranging.CsSecurityLevel getMaxSupportedCsSecurityLevel(); + @nullable android.hardware.bluetooth.ranging.IBluetoothChannelSoundingSession openSession(in android.hardware.bluetooth.ranging.BluetoothChannelSoundingParameters params, in android.hardware.bluetooth.ranging.IBluetoothChannelSoundingSessionCallback callback); +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSession.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSession.aidl new file mode 100644 index 0000000000..9f691b4710 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSession.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +interface IBluetoothChannelSoundingSession { + @nullable android.hardware.bluetooth.ranging.VendorSpecificData[] getVendorSpecificReplies(); + android.hardware.bluetooth.ranging.ResultType[] getSupportedResultTypes(); + boolean isAbortedProcedureRequired(); + void writeRawData(in android.hardware.bluetooth.ranging.ChannelSoudingRawData rawData); + void close(android.hardware.bluetooth.ranging.Reason reason); +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSessionCallback.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSessionCallback.aidl new file mode 100644 index 0000000000..d6622de09d --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/IBluetoothChannelSoundingSessionCallback.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +interface IBluetoothChannelSoundingSessionCallback { + void onOpened(android.hardware.bluetooth.ranging.Reason reason); + void onOpenFailed(android.hardware.bluetooth.ranging.Reason reason); + void onResult(in android.hardware.bluetooth.ranging.RangingResult result); + void onClose(android.hardware.bluetooth.ranging.Reason reason); + void onCloseFailed(android.hardware.bluetooth.ranging.Reason reason); +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/LocationType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/LocationType.aidl new file mode 100644 index 0000000000..d95af268c9 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/LocationType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="byte") @VintfStability +enum LocationType { + UNKNOWN = 0x00, + INDOOR = 0x01, + OUTDOOR = 0x02, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ModeType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ModeType.aidl new file mode 100644 index 0000000000..1e8ae91037 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ModeType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="byte") @VintfStability +enum ModeType { + ZERO = 0x00, + ONE = 0x01, + TWO = 0x02, + THREE = 0x03, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Nadm.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Nadm.aidl new file mode 100644 index 0000000000..a0aa47b16d --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Nadm.aidl @@ -0,0 +1,45 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="byte") @VintfStability +enum Nadm { + ATTACK_IS_EXTREMELY_UNLIKELY = 0x00, + ATTACK_IS_VERY_UNLIKELY = 0x01, + ATTACK_IS_UNLIKELY = 0x02, + ATTACK_IS_POSSIBLE = 0x03, + ATTACK_IS_LIKELY = 0x04, + ATTACK_IS_VERY_LIKELY = 0x05, + ATTACK_IS_EXTREMELY_LIKELY = 0x06, + UNKNOWN = 0xFFu8, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RangingResult.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RangingResult.aidl new file mode 100644 index 0000000000..d092b80628 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RangingResult.aidl @@ -0,0 +1,48 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable RangingResult { + double resultMeters; + double errorMeters; + double azimuthDegrees; + double errorAzimuthDegrees; + double altitudeDegrees; + double errorAltitudeDegrees; + double delaySpreadMeters; + byte confidenceLevel; + android.hardware.bluetooth.ranging.Nadm detectedAttackLevel; + double velocityMetersPerSecond; + @nullable byte[] vendorSpecificCsRangingResultsData; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Reason.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Reason.aidl new file mode 100644 index 0000000000..ddd44fe90b --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Reason.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum Reason { + LOCAL_STACK_REQUEST, + HAL_INITIATED, + HARDWARE_INITIATED, + ERROR_INVALID_PARAMETER, + ERROR_UNKNOWN, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ResultType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ResultType.aidl new file mode 100644 index 0000000000..b3e098cc6d --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/ResultType.aidl @@ -0,0 +1,47 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum ResultType { + RESULT_METERS = 0x00, + ERROR_METERS = 0x01, + AZIMUTH_DEGREES = 0x02, + ERROR_AZIMUTH_DEGREES = 0x03, + ALTITUDE_DEGREES = 0x04, + ERROR_ALTITUDE_DEGREES = 0x05, + DELAY_SPREAD_METERS = 0x06, + CONFIDENCE_LEVEL = 0x07, + SECURITY_LEVEL = 0x08, + VELOCITY = 0x09, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Role.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Role.aidl new file mode 100644 index 0000000000..61ee1aa432 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/Role.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum Role { + INITIATOR = 0, + REFLECTOR = 1, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RttType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RttType.aidl new file mode 100644 index 0000000000..e662c07c2b --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/RttType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum RttType { + AA_COARSE = 0x00, + WITH_32_BIT_SOUNDING_SEQUENCE = 0x01, + WITH_96_BIT_SOUNDING_SEQUENCE = 0x02, + WITH_32_BIT_RANDOM_SEQUENCE = 0x03, + WITH_64_BIT_RANDOM_SEQUENCE = 0x04, + WITH_96_BIT_RANDOM_SEQUENCE = 0x05, + WITH_128_BIT_RANDOM_SEQUENCE = 0x06, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SessionType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SessionType.aidl new file mode 100644 index 0000000000..d43022f023 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SessionType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="int") @VintfStability +enum SessionType { + SOFTWARE_STACK_DATA_PARSING = 0, + HARDWARE_OFFLOAD_DATA_PARSING = 1, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SightType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SightType.aidl new file mode 100644 index 0000000000..6e96ba4bea --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SightType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="byte") @VintfStability +enum SightType { + UNKNOWN = 0x00, + LINE_OF_SIGHT = 0x01, + NON_LINE_OF_SIGHT = 0x02, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/StepTonePct.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/StepTonePct.aidl new file mode 100644 index 0000000000..412574856e --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/StepTonePct.aidl @@ -0,0 +1,53 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable StepTonePct { + List tonePcts; + byte[] toneQualityIndicator; + byte toneExtensionAntennaIndex; + const int TONE_QUALITY_GOOD = 0; + const int TONE_QUALITY_MEDIUM = 1; + const int TONE_QUALITY_LOW = 2; + const int TONE_QUALITY_UNAVAILABLE = 3; + const int EXTENSION_SLOT_NONE = 0; + const int EXTENSION_SLOT_TONE_NOT_EXPECTED_TO_BE_PRESENT = 1; + const int EXTENSION_SLOT_TONE_EXPECTED_TO_BE_PRESENT = 2; + const int EXTENSION_SLOT_SHIFT_AMOUNT = 4; + const byte TONE_EXTENSION_ANTENNA_1 = 0x0; + const byte TONE_EXTENSION_ANTENNA_2 = 0x1; + const byte TONE_EXTENSION_ANTENNA_3 = 0x2; + const byte TONE_EXTENSION_ANTENNA_4 = 0x3; + const byte TONE_EXTENSION_UNUSED = 0xFFu8; +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SubModeType.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SubModeType.aidl new file mode 100644 index 0000000000..b72a97d090 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/SubModeType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@Backing(type="byte") @VintfStability +enum SubModeType { + ONE = 0x01, + TWO = 0x02, + THREE = 0x03, + UNUSED = 0xffu8, +} diff --git a/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/VendorSpecificData.aidl b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/VendorSpecificData.aidl new file mode 100644 index 0000000000..13bf696092 --- /dev/null +++ b/bluetooth/ranging/aidl/aidl_api/android.hardware.bluetooth.ranging/1/android/hardware/bluetooth/ranging/VendorSpecificData.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.bluetooth.ranging; +@VintfStability +parcelable VendorSpecificData { + byte[16] characteristicUuid; + byte[] opaqueValue; +} diff --git a/broadcastradio/aidl/Android.bp b/broadcastradio/aidl/Android.bp index e8bc5eb6d8..187f2830eb 100644 --- a/broadcastradio/aidl/Android.bp +++ b/broadcastradio/aidl/Android.bp @@ -42,7 +42,12 @@ aidl_interface { version: "1", imports: [], }, + { + version: "2", + imports: [], + }, + ], - frozen: false, + frozen: true, } diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/.hash b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/.hash new file mode 100644 index 0000000000..747c764e12 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/.hash @@ -0,0 +1 @@ +bff68a8bc8b7cc191ab62bee10f7df8e79494467 diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmBandRange.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmBandRange.aidl new file mode 100644 index 0000000000..ca511aa13a --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmBandRange.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AmFmBandRange { + int lowerBound; + int upperBound; + int spacing; + int seekSpacing; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmRegionConfig.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmRegionConfig.aidl new file mode 100644 index 0000000000..b96def32f8 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AmFmRegionConfig.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable AmFmRegionConfig { + android.hardware.broadcastradio.AmFmBandRange[] ranges; + int fmDeemphasis; + int fmRds; + const int DEEMPHASIS_D50 = (1 << 0) /* 1 */; + const int DEEMPHASIS_D75 = (1 << 1) /* 2 */; + const int RDS = (1 << 0) /* 1 */; + const int RBDS = (1 << 1) /* 2 */; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Announcement.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Announcement.aidl new file mode 100644 index 0000000000..bbdd86f7dc --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Announcement.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Announcement { + android.hardware.broadcastradio.ProgramSelector selector; + android.hardware.broadcastradio.AnnouncementType type = android.hardware.broadcastradio.AnnouncementType.INVALID; + android.hardware.broadcastradio.VendorKeyValue[] vendorInfo; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AnnouncementType.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AnnouncementType.aidl new file mode 100644 index 0000000000..1d187fe0b2 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/AnnouncementType.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@Backing(type="byte") @JavaDerive(equals=true, toString=true) @VintfStability +enum AnnouncementType { + INVALID = 0, + EMERGENCY = 1, + WARNING, + TRAFFIC, + WEATHER, + NEWS, + EVENT, + SPORT, + MISC, +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ConfigFlag.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ConfigFlag.aidl new file mode 100644 index 0000000000..d6d33bca50 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ConfigFlag.aidl @@ -0,0 +1,51 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@Backing(type="int") @JavaDerive(equals=true, toString=true) @VintfStability +enum ConfigFlag { + FORCE_MONO = 1, + /** + * @deprecated Use {link #FORCE_ANALOG_FM} instead + */ + FORCE_ANALOG, + FORCE_DIGITAL, + RDS_AF, + RDS_REG, + DAB_DAB_LINKING, + DAB_FM_LINKING, + DAB_DAB_SOFT_LINKING, + DAB_FM_SOFT_LINKING, + FORCE_ANALOG_FM, + FORCE_ANALOG_AM, +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/DabTableEntry.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/DabTableEntry.aidl new file mode 100644 index 0000000000..162f4abd62 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/DabTableEntry.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable DabTableEntry { + String label; + int frequencyKhz; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/HdSubChannel.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/HdSubChannel.aidl new file mode 100644 index 0000000000..dd0613459c --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/HdSubChannel.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@Backing(type="int") @JavaDerive(equals=true, toString=true) @VintfStability +enum HdSubChannel { + HD1 = 0, + HD2 = 1, + HD3 = 2, + HD4 = 3, + HD5 = 4, + HD6 = 5, + HD7 = 6, + HD8 = 7, +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IAnnouncementListener.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IAnnouncementListener.aidl new file mode 100644 index 0000000000..346af5807d --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IAnnouncementListener.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@VintfStability +interface IAnnouncementListener { + oneway void onListUpdated(in android.hardware.broadcastradio.Announcement[] announcements); +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IBroadcastRadio.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IBroadcastRadio.aidl new file mode 100644 index 0000000000..39eb04c105 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IBroadcastRadio.aidl @@ -0,0 +1,58 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@VintfStability +interface IBroadcastRadio { + android.hardware.broadcastradio.Properties getProperties(); + android.hardware.broadcastradio.AmFmRegionConfig getAmFmRegionConfig(in boolean full); + android.hardware.broadcastradio.DabTableEntry[] getDabRegionConfig(); + void setTunerCallback(in android.hardware.broadcastradio.ITunerCallback callback); + void unsetTunerCallback(); + void tune(in android.hardware.broadcastradio.ProgramSelector program); + void seek(in boolean directionUp, in boolean skipSubChannel); + void step(in boolean directionUp); + void cancel(); + void startProgramListUpdates(in android.hardware.broadcastradio.ProgramFilter filter); + void stopProgramListUpdates(); + boolean isConfigFlagSet(in android.hardware.broadcastradio.ConfigFlag flag); + void setConfigFlag(in android.hardware.broadcastradio.ConfigFlag flag, in boolean value); + android.hardware.broadcastradio.VendorKeyValue[] setParameters(in android.hardware.broadcastradio.VendorKeyValue[] parameters); + android.hardware.broadcastradio.VendorKeyValue[] getParameters(in String[] keys); + byte[] getImage(in int id); + android.hardware.broadcastradio.ICloseHandle registerAnnouncementListener(in android.hardware.broadcastradio.IAnnouncementListener listener, in android.hardware.broadcastradio.AnnouncementType[] enabled); + const int INVALID_IMAGE = 0; + const int ANTENNA_STATE_CHANGE_TIMEOUT_MS = 100; + const int LIST_COMPLETE_TIMEOUT_MS = 300000; + const int TUNER_TIMEOUT_MS = 30000; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ICloseHandle.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ICloseHandle.aidl new file mode 100644 index 0000000000..75e7f2a4c0 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ICloseHandle.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@VintfStability +interface ICloseHandle { + void close(); +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ITunerCallback.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ITunerCallback.aidl new file mode 100644 index 0000000000..f5badade46 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ITunerCallback.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@VintfStability +interface ITunerCallback { + oneway void onTuneFailed(in android.hardware.broadcastradio.Result result, in android.hardware.broadcastradio.ProgramSelector selector); + oneway void onCurrentProgramInfoChanged(in android.hardware.broadcastradio.ProgramInfo info); + oneway void onProgramListUpdated(in android.hardware.broadcastradio.ProgramListChunk chunk); + oneway void onAntennaStateChange(in boolean connected); + oneway void onConfigFlagUpdated(in android.hardware.broadcastradio.ConfigFlag flag, in boolean value); + oneway void onParametersUpdated(in android.hardware.broadcastradio.VendorKeyValue[] parameters); +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IdentifierType.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IdentifierType.aidl new file mode 100644 index 0000000000..ed41af00bc --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/IdentifierType.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@Backing(type="int") @JavaDerive(equals=true, toString=true) @VintfStability +enum IdentifierType { + VENDOR_START = 1000, + VENDOR_END = 1999, + INVALID = 0, + AMFM_FREQUENCY_KHZ, + RDS_PI, + HD_STATION_ID_EXT, + HD_STATION_NAME, + DAB_SID_EXT, + DAB_ENSEMBLE, + DAB_SCID, + DAB_FREQUENCY_KHZ, + DRMO_SERVICE_ID, + DRMO_FREQUENCY_KHZ, + /** + * @deprecated SiriusXM Satellite Radio is not supported. + */ + SXM_SERVICE_ID = (DRMO_FREQUENCY_KHZ + 2) /* 12 */, + /** + * @deprecated SiriusXM Satellite Radio is not supported. + */ + SXM_CHANNEL, + HD_STATION_LOCATION, +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Metadata.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Metadata.aidl new file mode 100644 index 0000000000..b4a1efa488 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Metadata.aidl @@ -0,0 +1,61 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +union Metadata { + String rdsPs; + int rdsPty; + int rbdsPty; + String rdsRt; + String songTitle; + String songArtist; + String songAlbum; + int stationIcon; + int albumArt; + String programName; + String dabEnsembleName; + String dabEnsembleNameShort; + String dabServiceName; + String dabServiceNameShort; + String dabComponentName; + String dabComponentNameShort; + String genre; + String commentShortDescription; + String commentActualText; + String commercial; + String[] ufids; + String hdStationNameShort; + String hdStationNameLong; + int hdSubChannelsAvailable; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramFilter.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramFilter.aidl new file mode 100644 index 0000000000..9edeb8d5c6 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramFilter.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ProgramFilter { + android.hardware.broadcastradio.IdentifierType[] identifierTypes; + android.hardware.broadcastradio.ProgramIdentifier[] identifiers; + boolean includeCategories; + boolean excludeModifications; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramIdentifier.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramIdentifier.aidl new file mode 100644 index 0000000000..66763508ad --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramIdentifier.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ProgramIdentifier { + android.hardware.broadcastradio.IdentifierType type = android.hardware.broadcastradio.IdentifierType.INVALID; + long value; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramInfo.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramInfo.aidl new file mode 100644 index 0000000000..997cdd7dd0 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramInfo.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ProgramInfo { + android.hardware.broadcastradio.ProgramSelector selector; + android.hardware.broadcastradio.ProgramIdentifier logicallyTunedTo; + android.hardware.broadcastradio.ProgramIdentifier physicallyTunedTo; + @nullable android.hardware.broadcastradio.ProgramIdentifier[] relatedContent; + int infoFlags; + int signalQuality; + android.hardware.broadcastradio.Metadata[] metadata; + android.hardware.broadcastradio.VendorKeyValue[] vendorInfo; + const int FLAG_LIVE = (1 << 0) /* 1 */; + const int FLAG_MUTED = (1 << 1) /* 2 */; + const int FLAG_TRAFFIC_PROGRAM = (1 << 2) /* 4 */; + const int FLAG_TRAFFIC_ANNOUNCEMENT = (1 << 3) /* 8 */; + const int FLAG_TUNABLE = (1 << 4) /* 16 */; + const int FLAG_STEREO = (1 << 5) /* 32 */; + const int FLAG_SIGNAL_ACQUISITION = (1 << 6) /* 64 */; + const int FLAG_HD_SIS_ACQUISITION = (1 << 7) /* 128 */; + const int FLAG_HD_AUDIO_ACQUISITION = (1 << 8) /* 256 */; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramListChunk.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramListChunk.aidl new file mode 100644 index 0000000000..5d53b99302 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramListChunk.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ProgramListChunk { + boolean purge; + boolean complete; + android.hardware.broadcastradio.ProgramInfo[] modified; + @nullable android.hardware.broadcastradio.ProgramIdentifier[] removed; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramSelector.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramSelector.aidl new file mode 100644 index 0000000000..9af1dc8880 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/ProgramSelector.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable ProgramSelector { + android.hardware.broadcastradio.ProgramIdentifier primaryId; + android.hardware.broadcastradio.ProgramIdentifier[] secondaryIds; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Properties.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Properties.aidl new file mode 100644 index 0000000000..643b819d8a --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Properties.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable Properties { + String maker; + String product; + String version; + String serial; + android.hardware.broadcastradio.IdentifierType[] supportedIdentifierTypes; + android.hardware.broadcastradio.VendorKeyValue[] vendorInfo; +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Result.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Result.aidl new file mode 100644 index 0000000000..b0fc018cb7 --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/Result.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@Backing(type="int") @JavaDerive(equals=true, toString=true) @VintfStability +enum Result { + OK = 0, + INTERNAL_ERROR, + INVALID_ARGUMENTS, + INVALID_STATE, + NOT_SUPPORTED, + TIMEOUT, + CANCELED, + UNKNOWN_ERROR, +} diff --git a/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/VendorKeyValue.aidl b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/VendorKeyValue.aidl new file mode 100644 index 0000000000..3c6b19438f --- /dev/null +++ b/broadcastradio/aidl/aidl_api/android.hardware.broadcastradio/2/android/hardware/broadcastradio/VendorKeyValue.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.broadcastradio; +@JavaDerive(equals=true, toString=true) @VintfStability +parcelable VendorKeyValue { + String key; + String value; +} diff --git a/camera/device/aidl/Android.bp b/camera/device/aidl/Android.bp index e4006e7d10..78aefac997 100644 --- a/camera/device/aidl/Android.bp +++ b/camera/device/aidl/Android.bp @@ -12,7 +12,7 @@ aidl_interface { name: "android.hardware.camera.device", vendor_available: true, srcs: ["android/hardware/camera/device/*.aidl"], - frozen: false, + frozen: true, stability: "vintf", imports: [ "android.hardware.common-V2", @@ -51,6 +51,16 @@ aidl_interface { "android.hardware.graphics.common-V5", ], }, + { + version: "3", + imports: [ + "android.hardware.common-V2", + "android.hardware.common.fmq-V1", + "android.hardware.camera.common-V1", + "android.hardware.camera.metadata-V3", + "android.hardware.graphics.common-V5", + ], + }, ], diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/.hash b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/.hash new file mode 100644 index 0000000000..9760601073 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/.hash @@ -0,0 +1 @@ +ac7c7f74993871015f73daff1ea0c7f4d4f85ca7 diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferCache.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferCache.aidl new file mode 100644 index 0000000000..9439172d6b --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferCache.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable BufferCache { + int streamId; + long bufferId; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequest.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequest.aidl new file mode 100644 index 0000000000..c40a24aa79 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequest.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable BufferRequest { + int streamId; + int numBuffersRequested; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequestStatus.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequestStatus.aidl new file mode 100644 index 0000000000..72fb61ba29 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferRequestStatus.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum BufferRequestStatus { + OK = 0, + FAILED_PARTIAL = 1, + FAILED_CONFIGURING = 2, + FAILED_ILLEGAL_ARGUMENTS = 3, + FAILED_UNKNOWN = 4, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferStatus.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferStatus.aidl new file mode 100644 index 0000000000..43a2b35e74 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/BufferStatus.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum BufferStatus { + OK = 0, + ERROR = 1, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlob.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlob.aidl new file mode 100644 index 0000000000..520181c87f --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlob.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable CameraBlob { + android.hardware.camera.device.CameraBlobId blobId; + int blobSizeBytes; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlobId.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlobId.aidl new file mode 100644 index 0000000000..24083ad512 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraBlobId.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum CameraBlobId { + JPEG = 0x00FF, + JPEG_APP_SEGMENTS = 0x100, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraMetadata.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraMetadata.aidl new file mode 100644 index 0000000000..b96d69e1b8 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraMetadata.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable CameraMetadata { + byte[] metadata; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraOfflineSessionInfo.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraOfflineSessionInfo.aidl new file mode 100644 index 0000000000..1ad8e115c8 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CameraOfflineSessionInfo.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable CameraOfflineSessionInfo { + android.hardware.camera.device.OfflineStream[] offlineStreams; + android.hardware.camera.device.OfflineRequest[] offlineRequests; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureRequest.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureRequest.aidl new file mode 100644 index 0000000000..6b5b256571 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureRequest.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable CaptureRequest { + int frameNumber; + long fmqSettingsSize; + android.hardware.camera.device.CameraMetadata settings; + android.hardware.camera.device.StreamBuffer inputBuffer; + int inputWidth; + int inputHeight; + android.hardware.camera.device.StreamBuffer[] outputBuffers; + android.hardware.camera.device.PhysicalCameraSetting[] physicalCameraSettings; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureResult.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureResult.aidl new file mode 100644 index 0000000000..a820e2c463 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/CaptureResult.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable CaptureResult { + int frameNumber; + long fmqResultSize; + android.hardware.camera.device.CameraMetadata result; + android.hardware.camera.device.StreamBuffer[] outputBuffers; + android.hardware.camera.device.StreamBuffer inputBuffer; + int partialResult; + android.hardware.camera.device.PhysicalCameraMetadata[] physicalCameraMetadata; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ConfigureStreamsRet.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ConfigureStreamsRet.aidl new file mode 100644 index 0000000000..670f7d272b --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ConfigureStreamsRet.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable ConfigureStreamsRet { + android.hardware.camera.device.HalStream[] halStreams; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorCode.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorCode.aidl new file mode 100644 index 0000000000..2f9887a7a5 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorCode.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum ErrorCode { + ERROR_DEVICE = 1, + ERROR_REQUEST = 2, + ERROR_RESULT = 3, + ERROR_BUFFER = 4, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorMsg.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorMsg.aidl new file mode 100644 index 0000000000..b2e9512bbf --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ErrorMsg.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable ErrorMsg { + int frameNumber; + int errorStreamId; + android.hardware.camera.device.ErrorCode errorCode; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/HalStream.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/HalStream.aidl new file mode 100644 index 0000000000..3ae261d4d2 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/HalStream.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable HalStream { + int id; + android.hardware.graphics.common.PixelFormat overrideFormat; + android.hardware.graphics.common.BufferUsage producerUsage; + android.hardware.graphics.common.BufferUsage consumerUsage; + int maxBuffers; + android.hardware.graphics.common.Dataspace overrideDataSpace; + String physicalCameraId; + boolean supportOffline; + boolean enableHalBufferManager; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDevice.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDevice.aidl new file mode 100644 index 0000000000..f73483a4b3 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDevice.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +interface ICameraDevice { + android.hardware.camera.device.CameraMetadata getCameraCharacteristics(); + android.hardware.camera.device.CameraMetadata getPhysicalCameraCharacteristics(in String physicalCameraId); + android.hardware.camera.common.CameraResourceCost getResourceCost(); + boolean isStreamCombinationSupported(in android.hardware.camera.device.StreamConfiguration streams); + android.hardware.camera.device.ICameraDeviceSession open(in android.hardware.camera.device.ICameraDeviceCallback callback); + android.hardware.camera.device.ICameraInjectionSession openInjectionSession(in android.hardware.camera.device.ICameraDeviceCallback callback); + void setTorchMode(boolean on); + void turnOnTorchWithStrengthLevel(int torchStrength); + int getTorchStrengthLevel(); + android.hardware.camera.device.CameraMetadata constructDefaultRequestSettings(in android.hardware.camera.device.RequestTemplate type); + boolean isStreamCombinationWithSettingsSupported(in android.hardware.camera.device.StreamConfiguration streams); + android.hardware.camera.device.CameraMetadata getSessionCharacteristics(in android.hardware.camera.device.StreamConfiguration sessionConfig); +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceCallback.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceCallback.aidl new file mode 100644 index 0000000000..7b79c6c87a --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceCallback.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +interface ICameraDeviceCallback { + void notify(in android.hardware.camera.device.NotifyMsg[] msgs); + void processCaptureResult(in android.hardware.camera.device.CaptureResult[] results); + android.hardware.camera.device.BufferRequestStatus requestStreamBuffers(in android.hardware.camera.device.BufferRequest[] bufReqs, out android.hardware.camera.device.StreamBufferRet[] buffers); + void returnStreamBuffers(in android.hardware.camera.device.StreamBuffer[] buffers); +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceSession.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceSession.aidl new file mode 100644 index 0000000000..b6ae734392 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraDeviceSession.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +interface ICameraDeviceSession { + void close(); + android.hardware.camera.device.HalStream[] configureStreams(in android.hardware.camera.device.StreamConfiguration requestedConfiguration); + android.hardware.camera.device.CameraMetadata constructDefaultRequestSettings(in android.hardware.camera.device.RequestTemplate type); + void flush(); + android.hardware.common.fmq.MQDescriptor getCaptureRequestMetadataQueue(); + android.hardware.common.fmq.MQDescriptor getCaptureResultMetadataQueue(); + boolean isReconfigurationRequired(in android.hardware.camera.device.CameraMetadata oldSessionParams, in android.hardware.camera.device.CameraMetadata newSessionParams); + int processCaptureRequest(in android.hardware.camera.device.CaptureRequest[] requests, in android.hardware.camera.device.BufferCache[] cachesToRemove); + oneway void signalStreamFlush(in int[] streamIds, in int streamConfigCounter); + android.hardware.camera.device.ICameraOfflineSession switchToOffline(in int[] streamsToKeep, out android.hardware.camera.device.CameraOfflineSessionInfo offlineSessionInfo); + void repeatingRequestEnd(in int frameNumber, in int[] streamIds); + android.hardware.camera.device.ConfigureStreamsRet configureStreamsV2(in android.hardware.camera.device.StreamConfiguration requestedConfiguration); +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraInjectionSession.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraInjectionSession.aidl new file mode 100644 index 0000000000..80f74f331c --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraInjectionSession.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +interface ICameraInjectionSession { + void configureInjectionStreams(in android.hardware.camera.device.StreamConfiguration requestedConfiguration, in android.hardware.camera.device.CameraMetadata characteristics); + android.hardware.camera.device.ICameraDeviceSession getCameraDeviceSession(); +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraOfflineSession.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraOfflineSession.aidl new file mode 100644 index 0000000000..727d856fc8 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ICameraOfflineSession.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +interface ICameraOfflineSession { + void close(); + android.hardware.common.fmq.MQDescriptor getCaptureResultMetadataQueue(); + void setCallback(in android.hardware.camera.device.ICameraDeviceCallback cb); +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/NotifyMsg.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/NotifyMsg.aidl new file mode 100644 index 0000000000..3ad7e52e63 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/NotifyMsg.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +union NotifyMsg { + android.hardware.camera.device.ErrorMsg error; + android.hardware.camera.device.ShutterMsg shutter; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineRequest.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineRequest.aidl new file mode 100644 index 0000000000..6e6f29d6fc --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineRequest.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable OfflineRequest { + int frameNumber; + int[] pendingStreams; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineStream.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineStream.aidl new file mode 100644 index 0000000000..54cb1fed0e --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/OfflineStream.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable OfflineStream { + int id; + int numOutstandingBuffers; + long[] circulatingBufferIds; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraMetadata.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraMetadata.aidl new file mode 100644 index 0000000000..3d66ab8713 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraMetadata.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable PhysicalCameraMetadata { + long fmqMetadataSize; + String physicalCameraId; + android.hardware.camera.device.CameraMetadata metadata; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraSetting.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraSetting.aidl new file mode 100644 index 0000000000..a6c241d453 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/PhysicalCameraSetting.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable PhysicalCameraSetting { + long fmqSettingsSize; + String physicalCameraId; + android.hardware.camera.device.CameraMetadata settings; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/RequestTemplate.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/RequestTemplate.aidl new file mode 100644 index 0000000000..1f87aa338d --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/RequestTemplate.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum RequestTemplate { + PREVIEW = 1, + STILL_CAPTURE = 2, + VIDEO_RECORD = 3, + VIDEO_SNAPSHOT = 4, + ZERO_SHUTTER_LAG = 5, + MANUAL = 6, + VENDOR_TEMPLATE_START = 0x40000000, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ShutterMsg.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ShutterMsg.aidl new file mode 100644 index 0000000000..ce059ac0db --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/ShutterMsg.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable ShutterMsg { + int frameNumber; + long timestamp; + long readoutTimestamp; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/Stream.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/Stream.aidl new file mode 100644 index 0000000000..5057663e65 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/Stream.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable Stream { + int id; + android.hardware.camera.device.StreamType streamType; + int width; + int height; + android.hardware.graphics.common.PixelFormat format; + android.hardware.graphics.common.BufferUsage usage; + android.hardware.graphics.common.Dataspace dataSpace; + android.hardware.camera.device.StreamRotation rotation; + String physicalCameraId; + int bufferSize; + int groupId; + android.hardware.camera.metadata.SensorPixelMode[] sensorPixelModesUsed; + android.hardware.camera.metadata.RequestAvailableDynamicRangeProfilesMap dynamicRangeProfile; + android.hardware.camera.metadata.ScalerAvailableStreamUseCases useCase; + int colorSpace; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffer.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffer.aidl new file mode 100644 index 0000000000..8fabf032db --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffer.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable StreamBuffer { + int streamId; + long bufferId; + android.hardware.common.NativeHandle buffer; + android.hardware.camera.device.BufferStatus status; + android.hardware.common.NativeHandle acquireFence; + android.hardware.common.NativeHandle releaseFence; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRequestError.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRequestError.aidl new file mode 100644 index 0000000000..f450149635 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRequestError.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum StreamBufferRequestError { + NO_BUFFER_AVAILABLE = 1, + MAX_BUFFER_EXCEEDED = 2, + STREAM_DISCONNECTED = 3, + UNKNOWN_ERROR = 4, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRet.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRet.aidl new file mode 100644 index 0000000000..3998cc34fa --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBufferRet.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable StreamBufferRet { + int streamId; + android.hardware.camera.device.StreamBuffersVal val; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffersVal.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffersVal.aidl new file mode 100644 index 0000000000..bebc9fcced --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamBuffersVal.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +union StreamBuffersVal { + android.hardware.camera.device.StreamBufferRequestError error = android.hardware.camera.device.StreamBufferRequestError.UNKNOWN_ERROR; + android.hardware.camera.device.StreamBuffer[] buffers; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfiguration.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfiguration.aidl new file mode 100644 index 0000000000..97fd067b8d --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfiguration.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@VintfStability +parcelable StreamConfiguration { + android.hardware.camera.device.Stream[] streams; + android.hardware.camera.device.StreamConfigurationMode operationMode; + android.hardware.camera.device.CameraMetadata sessionParams; + int streamConfigCounter; + boolean multiResolutionInputImage; + long logId = 0; +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfigurationMode.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfigurationMode.aidl new file mode 100644 index 0000000000..ef7ec25d07 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamConfigurationMode.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum StreamConfigurationMode { + NORMAL_MODE = 0, + CONSTRAINED_HIGH_SPEED_MODE = 1, + VENDOR_MODE_0 = 0x8000, + VENDOR_MODE_1, + VENDOR_MODE_2, + VENDOR_MODE_3, + VENDOR_MODE_4, + VENDOR_MODE_5, + VENDOR_MODE_6, + VENDOR_MODE_7, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamRotation.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamRotation.aidl new file mode 100644 index 0000000000..2ef4274f88 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamRotation.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum StreamRotation { + ROTATION_0 = 0, + ROTATION_90 = 1, + ROTATION_180 = 2, + ROTATION_270 = 3, +} diff --git a/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamType.aidl b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamType.aidl new file mode 100644 index 0000000000..0f13fe8be7 --- /dev/null +++ b/camera/device/aidl/aidl_api/android.hardware.camera.device/3/android/hardware/camera/device/StreamType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.device; +@Backing(type="int") @VintfStability +enum StreamType { + OUTPUT = 0, + INPUT = 1, +} diff --git a/camera/metadata/aidl/Android.bp b/camera/metadata/aidl/Android.bp index 374eefcaaa..ae8ba14256 100644 --- a/camera/metadata/aidl/Android.bp +++ b/camera/metadata/aidl/Android.bp @@ -12,7 +12,7 @@ aidl_interface { name: "android.hardware.camera.metadata", vendor_available: true, srcs: ["android/hardware/camera/metadata/*.aidl"], - frozen: false, + frozen: true, stability: "vintf", backend: { cpp: { @@ -34,6 +34,10 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/.hash b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/.hash new file mode 100644 index 0000000000..961b3dd108 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/.hash @@ -0,0 +1 @@ +c0c7370cf1dd22d0e7416ddb1cb942dd0035e59a diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLensFacing.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLensFacing.aidl new file mode 100644 index 0000000000..18917f7752 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLensFacing.aidl @@ -0,0 +1,56 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum AutomotiveLensFacing { + ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER, + ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT, + ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR, + ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT, + ANDROID_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER, + ANDROID_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLocation.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLocation.aidl new file mode 100644 index 0000000000..ad6003f3b1 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/AutomotiveLocation.aidl @@ -0,0 +1,52 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum AutomotiveLocation { + ANDROID_AUTOMOTIVE_LOCATION_INTERIOR, + ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER, + ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT, + ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_REAR, + ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT, + ANDROID_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT, + ANDROID_AUTOMOTIVE_LOCATION_EXTRA_OTHER, + ANDROID_AUTOMOTIVE_LOCATION_EXTRA_FRONT, + ANDROID_AUTOMOTIVE_LOCATION_EXTRA_REAR, + ANDROID_AUTOMOTIVE_LOCATION_EXTRA_LEFT, + ANDROID_AUTOMOTIVE_LOCATION_EXTRA_RIGHT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/BlackLevelLock.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/BlackLevelLock.aidl new file mode 100644 index 0000000000..1f3e76f0b8 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/BlackLevelLock.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum BlackLevelLock { + ANDROID_BLACK_LEVEL_LOCK_OFF, + ANDROID_BLACK_LEVEL_LOCK_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSection.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSection.aidl new file mode 100644 index 0000000000..138101b4cb --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSection.aidl @@ -0,0 +1,76 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum CameraMetadataSection { + ANDROID_COLOR_CORRECTION, + ANDROID_CONTROL, + ANDROID_DEMOSAIC, + ANDROID_EDGE, + ANDROID_FLASH, + ANDROID_FLASH_INFO, + ANDROID_HOT_PIXEL, + ANDROID_JPEG, + ANDROID_LENS, + ANDROID_LENS_INFO, + ANDROID_NOISE_REDUCTION, + ANDROID_QUIRKS, + ANDROID_REQUEST, + ANDROID_SCALER, + ANDROID_SENSOR, + ANDROID_SENSOR_INFO, + ANDROID_SHADING, + ANDROID_STATISTICS, + ANDROID_STATISTICS_INFO, + ANDROID_TONEMAP, + ANDROID_LED, + ANDROID_INFO, + ANDROID_BLACK_LEVEL, + ANDROID_SYNC, + ANDROID_REPROCESS, + ANDROID_DEPTH, + ANDROID_LOGICAL_MULTI_CAMERA, + ANDROID_DISTORTION_CORRECTION, + ANDROID_HEIC, + ANDROID_HEIC_INFO, + ANDROID_AUTOMOTIVE, + ANDROID_AUTOMOTIVE_LENS, + ANDROID_EXTENSION, + ANDROID_JPEGR, + VENDOR_SECTION = 0x8000, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSectionStart.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSectionStart.aidl new file mode 100644 index 0000000000..85eee08a45 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataSectionStart.aidl @@ -0,0 +1,76 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum CameraMetadataSectionStart { + ANDROID_COLOR_CORRECTION_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_COLOR_CORRECTION << 16) /* 0 */, + ANDROID_CONTROL_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_CONTROL << 16) /* 65536 */, + ANDROID_DEMOSAIC_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_DEMOSAIC << 16) /* 131072 */, + ANDROID_EDGE_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_EDGE << 16) /* 196608 */, + ANDROID_FLASH_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_FLASH << 16) /* 262144 */, + ANDROID_FLASH_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_FLASH_INFO << 16) /* 327680 */, + ANDROID_HOT_PIXEL_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_HOT_PIXEL << 16) /* 393216 */, + ANDROID_JPEG_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_JPEG << 16) /* 458752 */, + ANDROID_LENS_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_LENS << 16) /* 524288 */, + ANDROID_LENS_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_LENS_INFO << 16) /* 589824 */, + ANDROID_NOISE_REDUCTION_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_NOISE_REDUCTION << 16) /* 655360 */, + ANDROID_QUIRKS_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_QUIRKS << 16) /* 720896 */, + ANDROID_REQUEST_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_REQUEST << 16) /* 786432 */, + ANDROID_SCALER_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_SCALER << 16) /* 851968 */, + ANDROID_SENSOR_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_SENSOR << 16) /* 917504 */, + ANDROID_SENSOR_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_SENSOR_INFO << 16) /* 983040 */, + ANDROID_SHADING_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_SHADING << 16) /* 1048576 */, + ANDROID_STATISTICS_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_STATISTICS << 16) /* 1114112 */, + ANDROID_STATISTICS_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_STATISTICS_INFO << 16) /* 1179648 */, + ANDROID_TONEMAP_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_TONEMAP << 16) /* 1245184 */, + ANDROID_LED_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_LED << 16) /* 1310720 */, + ANDROID_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_INFO << 16) /* 1376256 */, + ANDROID_BLACK_LEVEL_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_BLACK_LEVEL << 16) /* 1441792 */, + ANDROID_SYNC_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_SYNC << 16) /* 1507328 */, + ANDROID_REPROCESS_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_REPROCESS << 16) /* 1572864 */, + ANDROID_DEPTH_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_DEPTH << 16) /* 1638400 */, + ANDROID_LOGICAL_MULTI_CAMERA_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_LOGICAL_MULTI_CAMERA << 16) /* 1703936 */, + ANDROID_DISTORTION_CORRECTION_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_DISTORTION_CORRECTION << 16) /* 1769472 */, + ANDROID_HEIC_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_HEIC << 16) /* 1835008 */, + ANDROID_HEIC_INFO_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_HEIC_INFO << 16) /* 1900544 */, + ANDROID_AUTOMOTIVE_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_AUTOMOTIVE << 16) /* 1966080 */, + ANDROID_AUTOMOTIVE_LENS_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_AUTOMOTIVE_LENS << 16) /* 2031616 */, + ANDROID_EXTENSION_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_EXTENSION << 16) /* 2097152 */, + ANDROID_JPEGR_START = (android.hardware.camera.metadata.CameraMetadataSection.ANDROID_JPEGR << 16) /* 2162688 */, + VENDOR_SECTION_START = (android.hardware.camera.metadata.CameraMetadataSection.VENDOR_SECTION << 16) /* -2147483648 */, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataTag.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataTag.aidl new file mode 100644 index 0000000000..9321ec0e37 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/CameraMetadataTag.aidl @@ -0,0 +1,356 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum CameraMetadataTag { + ANDROID_COLOR_CORRECTION_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_COLOR_CORRECTION_START /* 0 */, + ANDROID_COLOR_CORRECTION_TRANSFORM, + ANDROID_COLOR_CORRECTION_GAINS, + ANDROID_COLOR_CORRECTION_ABERRATION_MODE, + ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES, + ANDROID_CONTROL_AE_ANTIBANDING_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_CONTROL_START /* 65536 */, + ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, + ANDROID_CONTROL_AE_LOCK, + ANDROID_CONTROL_AE_MODE, + ANDROID_CONTROL_AE_REGIONS, + ANDROID_CONTROL_AE_TARGET_FPS_RANGE, + ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, + ANDROID_CONTROL_AF_MODE, + ANDROID_CONTROL_AF_REGIONS, + ANDROID_CONTROL_AF_TRIGGER, + ANDROID_CONTROL_AWB_LOCK, + ANDROID_CONTROL_AWB_MODE, + ANDROID_CONTROL_AWB_REGIONS, + ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_EFFECT_MODE, + ANDROID_CONTROL_MODE, + ANDROID_CONTROL_SCENE_MODE, + ANDROID_CONTROL_VIDEO_STABILIZATION_MODE, + ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES, + ANDROID_CONTROL_AE_AVAILABLE_MODES, + ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, + ANDROID_CONTROL_AE_COMPENSATION_RANGE, + ANDROID_CONTROL_AE_COMPENSATION_STEP, + ANDROID_CONTROL_AF_AVAILABLE_MODES, + ANDROID_CONTROL_AVAILABLE_EFFECTS, + ANDROID_CONTROL_AVAILABLE_SCENE_MODES, + ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES, + ANDROID_CONTROL_AWB_AVAILABLE_MODES, + ANDROID_CONTROL_MAX_REGIONS, + ANDROID_CONTROL_SCENE_MODE_OVERRIDES, + ANDROID_CONTROL_AE_PRECAPTURE_ID, + ANDROID_CONTROL_AE_STATE, + ANDROID_CONTROL_AF_STATE, + ANDROID_CONTROL_AF_TRIGGER_ID, + ANDROID_CONTROL_AWB_STATE, + ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS, + ANDROID_CONTROL_AE_LOCK_AVAILABLE, + ANDROID_CONTROL_AWB_LOCK_AVAILABLE, + ANDROID_CONTROL_AVAILABLE_MODES, + ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE, + ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST, + ANDROID_CONTROL_ENABLE_ZSL, + ANDROID_CONTROL_AF_SCENE_CHANGE, + ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES, + ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES, + ANDROID_CONTROL_EXTENDED_SCENE_MODE, + ANDROID_CONTROL_ZOOM_RATIO_RANGE, + ANDROID_CONTROL_ZOOM_RATIO, + ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_CONTROL_SETTINGS_OVERRIDE = 65588, + ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES, + ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER, + ANDROID_CONTROL_AUTOFRAMING, + ANDROID_CONTROL_AUTOFRAMING_AVAILABLE, + ANDROID_CONTROL_AUTOFRAMING_STATE, + ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE, + ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE, + ANDROID_DEMOSAIC_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_DEMOSAIC_START /* 131072 */, + ANDROID_EDGE_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_EDGE_START /* 196608 */, + ANDROID_EDGE_STRENGTH, + ANDROID_EDGE_AVAILABLE_EDGE_MODES, + ANDROID_FLASH_FIRING_POWER = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_FLASH_START /* 262144 */, + ANDROID_FLASH_FIRING_TIME, + ANDROID_FLASH_MODE, + ANDROID_FLASH_COLOR_TEMPERATURE, + ANDROID_FLASH_MAX_ENERGY, + ANDROID_FLASH_STATE, + ANDROID_FLASH_STRENGTH_LEVEL, + ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL, + ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL, + ANDROID_FLASH_TORCH_STRENGTH_MAX_LEVEL, + ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL, + ANDROID_FLASH_INFO_AVAILABLE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_FLASH_INFO_START /* 327680 */, + ANDROID_FLASH_INFO_CHARGE_DURATION, + ANDROID_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL, + ANDROID_FLASH_INFO_STRENGTH_DEFAULT_LEVEL, + ANDROID_HOT_PIXEL_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_HOT_PIXEL_START /* 393216 */, + ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES, + ANDROID_JPEG_GPS_COORDINATES = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_JPEG_START /* 458752 */, + ANDROID_JPEG_GPS_PROCESSING_METHOD, + ANDROID_JPEG_GPS_TIMESTAMP, + ANDROID_JPEG_ORIENTATION, + ANDROID_JPEG_QUALITY, + ANDROID_JPEG_THUMBNAIL_QUALITY, + ANDROID_JPEG_THUMBNAIL_SIZE, + ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES, + ANDROID_JPEG_MAX_SIZE, + ANDROID_JPEG_SIZE, + ANDROID_LENS_APERTURE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_LENS_START /* 524288 */, + ANDROID_LENS_FILTER_DENSITY, + ANDROID_LENS_FOCAL_LENGTH, + ANDROID_LENS_FOCUS_DISTANCE, + ANDROID_LENS_OPTICAL_STABILIZATION_MODE, + ANDROID_LENS_FACING, + ANDROID_LENS_POSE_ROTATION, + ANDROID_LENS_POSE_TRANSLATION, + ANDROID_LENS_FOCUS_RANGE, + ANDROID_LENS_STATE, + ANDROID_LENS_INTRINSIC_CALIBRATION, + ANDROID_LENS_RADIAL_DISTORTION, + ANDROID_LENS_POSE_REFERENCE, + ANDROID_LENS_DISTORTION, + ANDROID_LENS_DISTORTION_MAXIMUM_RESOLUTION, + ANDROID_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION, + ANDROID_LENS_INFO_AVAILABLE_APERTURES = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_LENS_INFO_START /* 589824 */, + ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES, + ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS, + ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION, + ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE, + ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE, + ANDROID_LENS_INFO_SHADING_MAP_SIZE, + ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION, + ANDROID_NOISE_REDUCTION_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_NOISE_REDUCTION_START /* 655360 */, + ANDROID_NOISE_REDUCTION_STRENGTH, + ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES, + ANDROID_QUIRKS_METERING_CROP_REGION = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_QUIRKS_START /* 720896 */, + ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO, + ANDROID_QUIRKS_USE_ZSL_FORMAT, + ANDROID_QUIRKS_USE_PARTIAL_RESULT, + ANDROID_QUIRKS_PARTIAL_RESULT, + ANDROID_REQUEST_FRAME_COUNT = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_REQUEST_START /* 786432 */, + ANDROID_REQUEST_ID, + ANDROID_REQUEST_INPUT_STREAMS, + ANDROID_REQUEST_METADATA_MODE, + ANDROID_REQUEST_OUTPUT_STREAMS, + ANDROID_REQUEST_TYPE, + ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS, + ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS, + ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS, + ANDROID_REQUEST_PIPELINE_DEPTH, + ANDROID_REQUEST_PIPELINE_MAX_DEPTH, + ANDROID_REQUEST_PARTIAL_RESULT_COUNT, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES, + ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS, + ANDROID_REQUEST_AVAILABLE_RESULT_KEYS, + ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, + ANDROID_REQUEST_AVAILABLE_SESSION_KEYS, + ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS, + ANDROID_REQUEST_CHARACTERISTIC_KEYS_NEEDING_PERMISSION, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP, + ANDROID_REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE, + ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP, + ANDROID_SCALER_CROP_REGION = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SCALER_START /* 851968 */, + ANDROID_SCALER_AVAILABLE_FORMATS, + ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS, + ANDROID_SCALER_AVAILABLE_JPEG_SIZES, + ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, + ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS, + ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES, + ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS, + ANDROID_SCALER_AVAILABLE_RAW_SIZES, + ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP, + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS, + ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS, + ANDROID_SCALER_AVAILABLE_STALL_DURATIONS, + ANDROID_SCALER_CROPPING_TYPE, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP, + ANDROID_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES, + ANDROID_SCALER_ROTATE_AND_CROP, + ANDROID_SCALER_DEFAULT_SECURE_IMAGE_SIZE, + ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS, + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP_MAXIMUM_RESOLUTION, + ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES = 851994, + ANDROID_SCALER_RAW_CROP_REGION, + ANDROID_SENSOR_EXPOSURE_TIME = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SENSOR_START /* 917504 */, + ANDROID_SENSOR_FRAME_DURATION, + ANDROID_SENSOR_SENSITIVITY, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1, + ANDROID_SENSOR_REFERENCE_ILLUMINANT2, + ANDROID_SENSOR_CALIBRATION_TRANSFORM1, + ANDROID_SENSOR_CALIBRATION_TRANSFORM2, + ANDROID_SENSOR_COLOR_TRANSFORM1, + ANDROID_SENSOR_COLOR_TRANSFORM2, + ANDROID_SENSOR_FORWARD_MATRIX1, + ANDROID_SENSOR_FORWARD_MATRIX2, + ANDROID_SENSOR_BASE_GAIN_FACTOR, + ANDROID_SENSOR_BLACK_LEVEL_PATTERN, + ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY, + ANDROID_SENSOR_ORIENTATION, + ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS, + ANDROID_SENSOR_TIMESTAMP, + ANDROID_SENSOR_TEMPERATURE, + ANDROID_SENSOR_NEUTRAL_COLOR_POINT, + ANDROID_SENSOR_NOISE_PROFILE, + ANDROID_SENSOR_PROFILE_HUE_SAT_MAP, + ANDROID_SENSOR_PROFILE_TONE_CURVE, + ANDROID_SENSOR_GREEN_SPLIT, + ANDROID_SENSOR_TEST_PATTERN_DATA, + ANDROID_SENSOR_TEST_PATTERN_MODE, + ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES, + ANDROID_SENSOR_ROLLING_SHUTTER_SKEW, + ANDROID_SENSOR_OPTICAL_BLACK_REGIONS, + ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL, + ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL, + ANDROID_SENSOR_OPAQUE_RAW_SIZE, + ANDROID_SENSOR_OPAQUE_RAW_SIZE_MAXIMUM_RESOLUTION, + ANDROID_SENSOR_PIXEL_MODE, + ANDROID_SENSOR_RAW_BINNING_FACTOR_USED, + ANDROID_SENSOR_READOUT_TIMESTAMP, + ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SENSOR_INFO_START /* 983040 */, + ANDROID_SENSOR_INFO_SENSITIVITY_RANGE, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT, + ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE, + ANDROID_SENSOR_INFO_MAX_FRAME_DURATION, + ANDROID_SENSOR_INFO_PHYSICAL_SIZE, + ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE, + ANDROID_SENSOR_INFO_WHITE_LEVEL, + ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE, + ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED, + ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE, + ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION, + ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION, + ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION, + ANDROID_SENSOR_INFO_BINNING_FACTOR, + ANDROID_SHADING_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SHADING_START /* 1048576 */, + ANDROID_SHADING_STRENGTH, + ANDROID_SHADING_AVAILABLE_MODES, + ANDROID_STATISTICS_FACE_DETECT_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_STATISTICS_START /* 1114112 */, + ANDROID_STATISTICS_HISTOGRAM_MODE, + ANDROID_STATISTICS_SHARPNESS_MAP_MODE, + ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE, + ANDROID_STATISTICS_FACE_IDS, + ANDROID_STATISTICS_FACE_LANDMARKS, + ANDROID_STATISTICS_FACE_RECTANGLES, + ANDROID_STATISTICS_FACE_SCORES, + ANDROID_STATISTICS_HISTOGRAM, + ANDROID_STATISTICS_SHARPNESS_MAP, + ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP, + ANDROID_STATISTICS_LENS_SHADING_MAP, + ANDROID_STATISTICS_PREDICTED_COLOR_GAINS, + ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM, + ANDROID_STATISTICS_SCENE_FLICKER, + ANDROID_STATISTICS_HOT_PIXEL_MAP, + ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, + ANDROID_STATISTICS_OIS_DATA_MODE, + ANDROID_STATISTICS_OIS_TIMESTAMPS, + ANDROID_STATISTICS_OIS_X_SHIFTS, + ANDROID_STATISTICS_OIS_Y_SHIFTS, + ANDROID_STATISTICS_LENS_INTRINSIC_TIMESTAMPS, + ANDROID_STATISTICS_LENS_INTRINSIC_SAMPLES, + ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_STATISTICS_INFO_START /* 1179648 */, + ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT, + ANDROID_STATISTICS_INFO_MAX_FACE_COUNT, + ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT, + ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE, + ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE, + ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES, + ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES, + ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES, + ANDROID_TONEMAP_CURVE_BLUE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_TONEMAP_START /* 1245184 */, + ANDROID_TONEMAP_CURVE_GREEN, + ANDROID_TONEMAP_CURVE_RED, + ANDROID_TONEMAP_MODE, + ANDROID_TONEMAP_MAX_CURVE_POINTS, + ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES, + ANDROID_TONEMAP_GAMMA, + ANDROID_TONEMAP_PRESET_CURVE, + ANDROID_LED_TRANSMIT = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_LED_START /* 1310720 */, + ANDROID_LED_AVAILABLE_LEDS, + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_INFO_START /* 1376256 */, + ANDROID_INFO_VERSION, + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION, + ANDROID_INFO_DEVICE_STATE_ORIENTATIONS, + ANDROID_BLACK_LEVEL_LOCK = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_BLACK_LEVEL_START /* 1441792 */, + ANDROID_SYNC_FRAME_NUMBER = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_SYNC_START /* 1507328 */, + ANDROID_SYNC_MAX_LATENCY, + ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_REPROCESS_START /* 1572864 */, + ANDROID_REPROCESS_MAX_CAPTURE_STALL, + ANDROID_DEPTH_MAX_DEPTH_SAMPLES = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_DEPTH_START /* 1638400 */, + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS, + ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS, + ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS, + ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE, + ANDROID_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS, + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_LOGICAL_MULTI_CAMERA_START /* 1703936 */, + ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE, + ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID, + ANDROID_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION, + ANDROID_DISTORTION_CORRECTION_MODE = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_DISTORTION_CORRECTION_START /* 1769472 */, + ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES, + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_HEIC_START /* 1835008 */, + ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS, + ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS, + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_HEIC_INFO_SUPPORTED = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_HEIC_INFO_START /* 1900544 */, + ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT, + ANDROID_AUTOMOTIVE_LOCATION = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_AUTOMOTIVE_START /* 1966080 */, + ANDROID_AUTOMOTIVE_LENS_FACING = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_AUTOMOTIVE_LENS_START /* 2031616 */, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS = android.hardware.camera.metadata.CameraMetadataSectionStart.ANDROID_JPEGR_START /* 2162688 */, + ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION, + ANDROID_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl new file mode 100644 index 0000000000..0b976f3d8b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionAberrationMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ColorCorrectionAberrationMode { + ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF, + ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST, + ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionMode.aidl new file mode 100644 index 0000000000..2381605719 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ColorCorrectionMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ColorCorrectionMode { + ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX, + ANDROID_COLOR_CORRECTION_MODE_FAST, + ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl new file mode 100644 index 0000000000..0d5aad9a92 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeAntibandingMode.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAeAntibandingMode { + ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF, + ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ, + ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ, + ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLock.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLock.aidl new file mode 100644 index 0000000000..766b835dc1 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLock.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAeLock { + ANDROID_CONTROL_AE_LOCK_OFF, + ANDROID_CONTROL_AE_LOCK_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLockAvailable.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLockAvailable.aidl new file mode 100644 index 0000000000..a22c93e379 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeLockAvailable.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAeLockAvailable { + ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE, + ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeMode.aidl new file mode 100644 index 0000000000..c1423aa87e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeMode.aidl @@ -0,0 +1,48 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAeMode { + ANDROID_CONTROL_AE_MODE_OFF, + ANDROID_CONTROL_AE_MODE_ON, + ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH, + ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH, + ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE, + ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH, + ANDROID_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl new file mode 100644 index 0000000000..20382c0b3c --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAePrecaptureTrigger.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAePrecaptureTrigger { + ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE, + ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START, + ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeState.aidl new file mode 100644 index 0000000000..e52eafe0d7 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAeState.aidl @@ -0,0 +1,47 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAeState { + ANDROID_CONTROL_AE_STATE_INACTIVE, + ANDROID_CONTROL_AE_STATE_SEARCHING, + ANDROID_CONTROL_AE_STATE_CONVERGED, + ANDROID_CONTROL_AE_STATE_LOCKED, + ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED, + ANDROID_CONTROL_AE_STATE_PRECAPTURE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfMode.aidl new file mode 100644 index 0000000000..6cd46c68db --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfMode.aidl @@ -0,0 +1,47 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAfMode { + ANDROID_CONTROL_AF_MODE_OFF, + ANDROID_CONTROL_AF_MODE_AUTO, + ANDROID_CONTROL_AF_MODE_MACRO, + ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO, + ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE, + ANDROID_CONTROL_AF_MODE_EDOF, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfSceneChange.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfSceneChange.aidl new file mode 100644 index 0000000000..ba853a1270 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfSceneChange.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAfSceneChange { + ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED, + ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfState.aidl new file mode 100644 index 0000000000..25b6a1c01e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfState.aidl @@ -0,0 +1,48 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAfState { + ANDROID_CONTROL_AF_STATE_INACTIVE, + ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN, + ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED, + ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN, + ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED, + ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED, + ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfTrigger.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfTrigger.aidl new file mode 100644 index 0000000000..9d61b2d4dc --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAfTrigger.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAfTrigger { + ANDROID_CONTROL_AF_TRIGGER_IDLE, + ANDROID_CONTROL_AF_TRIGGER_START, + ANDROID_CONTROL_AF_TRIGGER_CANCEL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframing.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframing.aidl new file mode 100644 index 0000000000..2daf00b586 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframing.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAutoframing { + ANDROID_CONTROL_AUTOFRAMING_OFF, + ANDROID_CONTROL_AUTOFRAMING_ON, + ANDROID_CONTROL_AUTOFRAMING_AUTO, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl new file mode 100644 index 0000000000..ab91bb444b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingAvailable.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAutoframingAvailable { + ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_FALSE, + ANDROID_CONTROL_AUTOFRAMING_AVAILABLE_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingState.aidl new file mode 100644 index 0000000000..db0d288fc4 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAutoframingState.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAutoframingState { + ANDROID_CONTROL_AUTOFRAMING_STATE_INACTIVE, + ANDROID_CONTROL_AUTOFRAMING_STATE_FRAMING, + ANDROID_CONTROL_AUTOFRAMING_STATE_CONVERGED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLock.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLock.aidl new file mode 100644 index 0000000000..949b5e89f2 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLock.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAwbLock { + ANDROID_CONTROL_AWB_LOCK_OFF, + ANDROID_CONTROL_AWB_LOCK_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl new file mode 100644 index 0000000000..80c4c3175f --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbLockAvailable.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAwbLockAvailable { + ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE, + ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbMode.aidl new file mode 100644 index 0000000000..6ed9ece7aa --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbMode.aidl @@ -0,0 +1,50 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAwbMode { + ANDROID_CONTROL_AWB_MODE_OFF, + ANDROID_CONTROL_AWB_MODE_AUTO, + ANDROID_CONTROL_AWB_MODE_INCANDESCENT, + ANDROID_CONTROL_AWB_MODE_FLUORESCENT, + ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT, + ANDROID_CONTROL_AWB_MODE_DAYLIGHT, + ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT, + ANDROID_CONTROL_AWB_MODE_TWILIGHT, + ANDROID_CONTROL_AWB_MODE_SHADE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbState.aidl new file mode 100644 index 0000000000..c5b02d5ed6 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlAwbState.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlAwbState { + ANDROID_CONTROL_AWB_STATE_INACTIVE, + ANDROID_CONTROL_AWB_STATE_SEARCHING, + ANDROID_CONTROL_AWB_STATE_CONVERGED, + ANDROID_CONTROL_AWB_STATE_LOCKED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlCaptureIntent.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlCaptureIntent.aidl new file mode 100644 index 0000000000..fa1c0a98ec --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlCaptureIntent.aidl @@ -0,0 +1,49 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlCaptureIntent { + ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM, + ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW, + ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE, + ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD, + ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT, + ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG, + ANDROID_CONTROL_CAPTURE_INTENT_MANUAL, + ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEffectMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEffectMode.aidl new file mode 100644 index 0000000000..471deed753 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEffectMode.aidl @@ -0,0 +1,50 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlEffectMode { + ANDROID_CONTROL_EFFECT_MODE_OFF, + ANDROID_CONTROL_EFFECT_MODE_MONO, + ANDROID_CONTROL_EFFECT_MODE_NEGATIVE, + ANDROID_CONTROL_EFFECT_MODE_SOLARIZE, + ANDROID_CONTROL_EFFECT_MODE_SEPIA, + ANDROID_CONTROL_EFFECT_MODE_POSTERIZE, + ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD, + ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD, + ANDROID_CONTROL_EFFECT_MODE_AQUA, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEnableZsl.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEnableZsl.aidl new file mode 100644 index 0000000000..3f2d4a32d1 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlEnableZsl.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlEnableZsl { + ANDROID_CONTROL_ENABLE_ZSL_FALSE, + ANDROID_CONTROL_ENABLE_ZSL_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl new file mode 100644 index 0000000000..7838288884 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlExtendedSceneMode.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlExtendedSceneMode { + ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED = 0, + ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE, + ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS, + ANDROID_CONTROL_EXTENDED_SCENE_MODE_VENDOR_START = 0x40, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlLowLightBoostState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlLowLightBoostState.aidl new file mode 100644 index 0000000000..f8ae0130de --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlLowLightBoostState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlLowLightBoostState { + ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE, + ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlMode.aidl new file mode 100644 index 0000000000..c5a8172a07 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlMode.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlMode { + ANDROID_CONTROL_MODE_OFF, + ANDROID_CONTROL_MODE_AUTO, + ANDROID_CONTROL_MODE_USE_SCENE_MODE, + ANDROID_CONTROL_MODE_OFF_KEEP_STATE, + ANDROID_CONTROL_MODE_USE_EXTENDED_SCENE_MODE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSceneMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSceneMode.aidl new file mode 100644 index 0000000000..62c67e3f3d --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSceneMode.aidl @@ -0,0 +1,63 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlSceneMode { + ANDROID_CONTROL_SCENE_MODE_DISABLED = 0, + ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY, + ANDROID_CONTROL_SCENE_MODE_ACTION, + ANDROID_CONTROL_SCENE_MODE_PORTRAIT, + ANDROID_CONTROL_SCENE_MODE_LANDSCAPE, + ANDROID_CONTROL_SCENE_MODE_NIGHT, + ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT, + ANDROID_CONTROL_SCENE_MODE_THEATRE, + ANDROID_CONTROL_SCENE_MODE_BEACH, + ANDROID_CONTROL_SCENE_MODE_SNOW, + ANDROID_CONTROL_SCENE_MODE_SUNSET, + ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO, + ANDROID_CONTROL_SCENE_MODE_FIREWORKS, + ANDROID_CONTROL_SCENE_MODE_SPORTS, + ANDROID_CONTROL_SCENE_MODE_PARTY, + ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT, + ANDROID_CONTROL_SCENE_MODE_BARCODE, + ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO, + ANDROID_CONTROL_SCENE_MODE_HDR, + ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT, + ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START = 100, + ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END = 127, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSettingsOverride.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSettingsOverride.aidl new file mode 100644 index 0000000000..404bbfa50c --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlSettingsOverride.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlSettingsOverride { + ANDROID_CONTROL_SETTINGS_OVERRIDE_OFF, + ANDROID_CONTROL_SETTINGS_OVERRIDE_ZOOM, + ANDROID_CONTROL_SETTINGS_OVERRIDE_VENDOR_START = 0x4000, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl new file mode 100644 index 0000000000..2b199eff0e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ControlVideoStabilizationMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ControlVideoStabilizationMode { + ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF, + ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON, + ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DemosaicMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DemosaicMode.aidl new file mode 100644 index 0000000000..577000933b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DemosaicMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DemosaicMode { + ANDROID_DEMOSAIC_MODE_FAST, + ANDROID_DEMOSAIC_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl new file mode 100644 index 0000000000..0cce2da7a5 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DepthAvailableDepthStreamConfigurations { + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl new file mode 100644 index 0000000000..9be06db77a --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDepthStreamConfigurationsMaximumResolution.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DepthAvailableDepthStreamConfigurationsMaximumResolution { + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT, + ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl new file mode 100644 index 0000000000..c6aebaad0a --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DepthAvailableDynamicDepthStreamConfigurations { + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl new file mode 100644 index 0000000000..4d5161d800 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DepthAvailableDynamicDepthStreamConfigurationsMaximumResolution { + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT, + ANDROID_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl new file mode 100644 index 0000000000..f7b69cd289 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DepthDepthIsExclusive.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DepthDepthIsExclusive { + ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE, + ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DistortionCorrectionMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DistortionCorrectionMode.aidl new file mode 100644 index 0000000000..6e965f64f0 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/DistortionCorrectionMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum DistortionCorrectionMode { + ANDROID_DISTORTION_CORRECTION_MODE_OFF, + ANDROID_DISTORTION_CORRECTION_MODE_FAST, + ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/EdgeMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/EdgeMode.aidl new file mode 100644 index 0000000000..fdd32f429a --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/EdgeMode.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum EdgeMode { + ANDROID_EDGE_MODE_OFF, + ANDROID_EDGE_MODE_FAST, + ANDROID_EDGE_MODE_HIGH_QUALITY, + ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashInfoAvailable.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashInfoAvailable.aidl new file mode 100644 index 0000000000..83292fee4c --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashInfoAvailable.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum FlashInfoAvailable { + ANDROID_FLASH_INFO_AVAILABLE_FALSE, + ANDROID_FLASH_INFO_AVAILABLE_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashMode.aidl new file mode 100644 index 0000000000..e18ea3c076 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum FlashMode { + ANDROID_FLASH_MODE_OFF, + ANDROID_FLASH_MODE_SINGLE, + ANDROID_FLASH_MODE_TORCH, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashState.aidl new file mode 100644 index 0000000000..4343d4f1d6 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/FlashState.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum FlashState { + ANDROID_FLASH_STATE_UNAVAILABLE, + ANDROID_FLASH_STATE_CHARGING, + ANDROID_FLASH_STATE_READY, + ANDROID_FLASH_STATE_FIRED, + ANDROID_FLASH_STATE_PARTIAL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl new file mode 100644 index 0000000000..3957267612 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum HeicAvailableHeicStreamConfigurations { + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl new file mode 100644 index 0000000000..4eda5386d8 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicAvailableHeicStreamConfigurationsMaximumResolution.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum HeicAvailableHeicStreamConfigurationsMaximumResolution { + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT, + ANDROID_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicInfoSupported.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicInfoSupported.aidl new file mode 100644 index 0000000000..7079bbf82b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HeicInfoSupported.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum HeicInfoSupported { + ANDROID_HEIC_INFO_SUPPORTED_FALSE, + ANDROID_HEIC_INFO_SUPPORTED_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HotPixelMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HotPixelMode.aidl new file mode 100644 index 0000000000..50b3446208 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/HotPixelMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum HotPixelMode { + ANDROID_HOT_PIXEL_MODE_OFF, + ANDROID_HOT_PIXEL_MODE_FAST, + ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl new file mode 100644 index 0000000000..2c31cff5a7 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedBufferManagementVersion.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum InfoSupportedBufferManagementVersion { + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_AIDL_DEVICE, + ANDROID_INFO_SUPPORTED_BUFFER_MANAGEMENT_VERSION_SESSION_CONFIGURABLE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl new file mode 100644 index 0000000000..3b5064757b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/InfoSupportedHardwareLevel.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum InfoSupportedHardwareLevel { + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED, + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL, + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY, + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3, + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl new file mode 100644 index 0000000000..cf9dbb72b9 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum JpegrAvailableJpegRStreamConfigurations { + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl new file mode 100644 index 0000000000..0a95e1f3a9 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/JpegrAvailableJpegRStreamConfigurationsMaximumResolution.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum JpegrAvailableJpegRStreamConfigurationsMaximumResolution { + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT, + ANDROID_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedAvailableLeds.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedAvailableLeds.aidl new file mode 100644 index 0000000000..b3beb2d144 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedAvailableLeds.aidl @@ -0,0 +1,42 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LedAvailableLeds { + ANDROID_LED_AVAILABLE_LEDS_TRANSMIT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedTransmit.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedTransmit.aidl new file mode 100644 index 0000000000..0cbf239c94 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LedTransmit.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LedTransmit { + ANDROID_LED_TRANSMIT_OFF, + ANDROID_LED_TRANSMIT_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensFacing.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensFacing.aidl new file mode 100644 index 0000000000..d15674dc11 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensFacing.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LensFacing { + ANDROID_LENS_FACING_FRONT, + ANDROID_LENS_FACING_BACK, + ANDROID_LENS_FACING_EXTERNAL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl new file mode 100644 index 0000000000..937347b1fd --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensInfoFocusDistanceCalibration.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LensInfoFocusDistanceCalibration { + ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED, + ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE, + ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl new file mode 100644 index 0000000000..550d9f3209 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensOpticalStabilizationMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LensOpticalStabilizationMode { + ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF, + ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensPoseReference.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensPoseReference.aidl new file mode 100644 index 0000000000..6a3799df39 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensPoseReference.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LensPoseReference { + ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA, + ANDROID_LENS_POSE_REFERENCE_GYROSCOPE, + ANDROID_LENS_POSE_REFERENCE_UNDEFINED, + ANDROID_LENS_POSE_REFERENCE_AUTOMOTIVE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensState.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensState.aidl new file mode 100644 index 0000000000..4f9895607d --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LensState.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LensState { + ANDROID_LENS_STATE_STATIONARY, + ANDROID_LENS_STATE_MOVING, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl new file mode 100644 index 0000000000..5eb5759b9e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/LogicalMultiCameraSensorSyncType.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum LogicalMultiCameraSensorSyncType { + ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE, + ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/NoiseReductionMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/NoiseReductionMode.aidl new file mode 100644 index 0000000000..8b589ce819 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/NoiseReductionMode.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum NoiseReductionMode { + ANDROID_NOISE_REDUCTION_MODE_OFF, + ANDROID_NOISE_REDUCTION_MODE_FAST, + ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY, + ANDROID_NOISE_REDUCTION_MODE_MINIMAL, + ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/QuirksPartialResult.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/QuirksPartialResult.aidl new file mode 100644 index 0000000000..8ab6a05700 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/QuirksPartialResult.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum QuirksPartialResult { + ANDROID_QUIRKS_PARTIAL_RESULT_FINAL, + ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl new file mode 100644 index 0000000000..0564db8da9 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableCapabilities.aidl @@ -0,0 +1,62 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum RequestAvailableCapabilities { + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE, + ANDROID_REQUEST_AVAILABLE_CAPABILITIES_COLOR_SPACE_PROFILES, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl new file mode 100644 index 0000000000..74606bf110 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableColorSpaceProfilesMap.aidl @@ -0,0 +1,45 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="long") @VintfStability +enum RequestAvailableColorSpaceProfilesMap { + ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED = (-1L) /* -1 */, + ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB = 0L, + ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3 = 7L, + ANDROID_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG = 16L, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl new file mode 100644 index 0000000000..45ffb1be1a --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestAvailableDynamicRangeProfilesMap.aidl @@ -0,0 +1,54 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="long") @VintfStability +enum RequestAvailableDynamicRangeProfilesMap { + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD = 0x1L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10 = 0x2L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10 = 0x4L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS = 0x8L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF = 0x10L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO = 0x20L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM = 0x40L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO = 0x80L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF = 0x100L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO = 0x200L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM = 0x400L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO = 0x800L, + ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX = 0x1000L, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestMetadataMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestMetadataMode.aidl new file mode 100644 index 0000000000..cede79950c --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestMetadataMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum RequestMetadataMode { + ANDROID_REQUEST_METADATA_MODE_NONE, + ANDROID_REQUEST_METADATA_MODE_FULL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestType.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestType.aidl new file mode 100644 index 0000000000..6b4ae71862 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/RequestType.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum RequestType { + ANDROID_REQUEST_TYPE_CAPTURE, + ANDROID_REQUEST_TYPE_REPROCESS, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableFormats.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableFormats.aidl new file mode 100644 index 0000000000..fdc2f60887 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableFormats.aidl @@ -0,0 +1,51 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerAvailableFormats { + ANDROID_SCALER_AVAILABLE_FORMATS_RAW16 = 0x20, + ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE = 0x24, + ANDROID_SCALER_AVAILABLE_FORMATS_YV12 = 0x32315659, + ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP = 0x11, + ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED = 0x22, + ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 = 0x23, + ANDROID_SCALER_AVAILABLE_FORMATS_BLOB = 0x21, + ANDROID_SCALER_AVAILABLE_FORMATS_RAW10 = 0x25, + ANDROID_SCALER_AVAILABLE_FORMATS_RAW12 = 0x26, + ANDROID_SCALER_AVAILABLE_FORMATS_Y8 = 0x20203859, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl new file mode 100644 index 0000000000..741a99d839 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableRecommendedStreamConfigurations.aidl @@ -0,0 +1,50 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerAvailableRecommendedStreamConfigurations { + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW = 0x0, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD = 0x1, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT = 0x2, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT = 0x3, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL = 0x4, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW = 0x5, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT = 0x6, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT = 0x8, + ANDROID_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START = 0x18, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl new file mode 100644 index 0000000000..4e2899d46e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerAvailableStreamConfigurations { + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl new file mode 100644 index 0000000000..fb15815dfe --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamConfigurationsMaximumResolution.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerAvailableStreamConfigurationsMaximumResolution { + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT, + ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl new file mode 100644 index 0000000000..ff92f9efd2 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerAvailableStreamUseCases.aidl @@ -0,0 +1,49 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="long") @VintfStability +enum ScalerAvailableStreamUseCases { + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT = 0x0L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW = 0x1L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE = 0x2L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD = 0x3L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL = 0x4L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL = 0x5L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW = 0x6L, + ANDROID_SCALER_AVAILABLE_STREAM_USE_CASES_VENDOR_START = 0x10000L, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerCroppingType.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerCroppingType.aidl new file mode 100644 index 0000000000..60782e4650 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerCroppingType.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerCroppingType { + ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY, + ANDROID_SCALER_CROPPING_TYPE_FREEFORM, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl new file mode 100644 index 0000000000..e09d89c182 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerMultiResolutionStreamSupported.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerMultiResolutionStreamSupported { + ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE, + ANDROID_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl new file mode 100644 index 0000000000..64a022018b --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerPhysicalCameraMultiResolutionStreamConfigurations.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerPhysicalCameraMultiResolutionStreamConfigurations { + ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT, + ANDROID_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl new file mode 100644 index 0000000000..bf5380eea4 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ScalerRotateAndCrop.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ScalerRotateAndCrop { + ANDROID_SCALER_ROTATE_AND_CROP_NONE, + ANDROID_SCALER_ROTATE_AND_CROP_90, + ANDROID_SCALER_ROTATE_AND_CROP_180, + ANDROID_SCALER_ROTATE_AND_CROP_270, + ANDROID_SCALER_ROTATE_AND_CROP_AUTO, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl new file mode 100644 index 0000000000..c96f3c5e91 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoColorFilterArrangement.aidl @@ -0,0 +1,48 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorInfoColorFilterArrangement { + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO, + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl new file mode 100644 index 0000000000..0153731bbc --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoLensShadingApplied.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorInfoLensShadingApplied { + ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE, + ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl new file mode 100644 index 0000000000..9a00cf155e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorInfoTimestampSource.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorInfoTimestampSource { + ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN, + ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorPixelMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorPixelMode.aidl new file mode 100644 index 0000000000..5f055d6b23 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorPixelMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorPixelMode { + ANDROID_SENSOR_PIXEL_MODE_DEFAULT, + ANDROID_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl new file mode 100644 index 0000000000..851dae0f8e --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorRawBinningFactorUsed.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorRawBinningFactorUsed { + ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_TRUE, + ANDROID_SENSOR_RAW_BINNING_FACTOR_USED_FALSE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl new file mode 100644 index 0000000000..11be18ef06 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReadoutTimestamp.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorReadoutTimestamp { + ANDROID_SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED, + ANDROID_SENSOR_READOUT_TIMESTAMP_HARDWARE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl new file mode 100644 index 0000000000..cd22d2e35d --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorReferenceIlluminant1.aidl @@ -0,0 +1,60 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorReferenceIlluminant1 { + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55 = 20, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65 = 21, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75 = 22, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50 = 23, + ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorTestPatternMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorTestPatternMode.aidl new file mode 100644 index 0000000000..98f0ebe855 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SensorTestPatternMode.aidl @@ -0,0 +1,48 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SensorTestPatternMode { + ANDROID_SENSOR_TEST_PATTERN_MODE_OFF, + ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR, + ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS, + ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY, + ANDROID_SENSOR_TEST_PATTERN_MODE_PN9, + ANDROID_SENSOR_TEST_PATTERN_MODE_BLACK, + ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ShadingMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ShadingMode.aidl new file mode 100644 index 0000000000..ffc6a560ad --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/ShadingMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum ShadingMode { + ANDROID_SHADING_MODE_OFF, + ANDROID_SHADING_MODE_FAST, + ANDROID_SHADING_MODE_HIGH_QUALITY, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl new file mode 100644 index 0000000000..48c6797a02 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsFaceDetectMode.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsFaceDetectMode { + ANDROID_STATISTICS_FACE_DETECT_MODE_OFF, + ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE, + ANDROID_STATISTICS_FACE_DETECT_MODE_FULL, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHistogramMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHistogramMode.aidl new file mode 100644 index 0000000000..354518b2cc --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHistogramMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsHistogramMode { + ANDROID_STATISTICS_HISTOGRAM_MODE_OFF, + ANDROID_STATISTICS_HISTOGRAM_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl new file mode 100644 index 0000000000..b96e4be645 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsHotPixelMapMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsHotPixelMapMode { + ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF, + ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl new file mode 100644 index 0000000000..7d0b0823e4 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsLensShadingMapMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsLensShadingMapMode { + ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF, + ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsOisDataMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsOisDataMode.aidl new file mode 100644 index 0000000000..b80889bdec --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsOisDataMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsOisDataMode { + ANDROID_STATISTICS_OIS_DATA_MODE_OFF, + ANDROID_STATISTICS_OIS_DATA_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl new file mode 100644 index 0000000000..a9268c07b1 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSceneFlicker.aidl @@ -0,0 +1,44 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsSceneFlicker { + ANDROID_STATISTICS_SCENE_FLICKER_NONE, + ANDROID_STATISTICS_SCENE_FLICKER_50HZ, + ANDROID_STATISTICS_SCENE_FLICKER_60HZ, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl new file mode 100644 index 0000000000..09a2003887 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/StatisticsSharpnessMapMode.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum StatisticsSharpnessMapMode { + ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF, + ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncFrameNumber.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncFrameNumber.aidl new file mode 100644 index 0000000000..230f57e67f --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncFrameNumber.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SyncFrameNumber { + ANDROID_SYNC_FRAME_NUMBER_CONVERGING = (-1) /* -1 */, + ANDROID_SYNC_FRAME_NUMBER_UNKNOWN = (-2) /* -2 */, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncMaxLatency.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncMaxLatency.aidl new file mode 100644 index 0000000000..d484f45e77 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/SyncMaxLatency.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum SyncMaxLatency { + ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0, + ANDROID_SYNC_MAX_LATENCY_UNKNOWN = (-1) /* -1 */, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapMode.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapMode.aidl new file mode 100644 index 0000000000..e729166000 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapMode.aidl @@ -0,0 +1,46 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum TonemapMode { + ANDROID_TONEMAP_MODE_CONTRAST_CURVE, + ANDROID_TONEMAP_MODE_FAST, + ANDROID_TONEMAP_MODE_HIGH_QUALITY, + ANDROID_TONEMAP_MODE_GAMMA_VALUE, + ANDROID_TONEMAP_MODE_PRESET_CURVE, +} diff --git a/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapPresetCurve.aidl b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapPresetCurve.aidl new file mode 100644 index 0000000000..2e5fbd3ad0 --- /dev/null +++ b/camera/metadata/aidl/aidl_api/android.hardware.camera.metadata/3/android/hardware/camera/metadata/TonemapPresetCurve.aidl @@ -0,0 +1,43 @@ +/* + * 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. + *//* + * Autogenerated from camera metadata definitions in + * /system/media/camera/docs/metadata_definitions.xml + * *** DO NOT EDIT BY HAND *** + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.metadata; +@Backing(type="int") @VintfStability +enum TonemapPresetCurve { + ANDROID_TONEMAP_PRESET_CURVE_SRGB, + ANDROID_TONEMAP_PRESET_CURVE_REC709, +} diff --git a/camera/provider/aidl/Android.bp b/camera/provider/aidl/Android.bp index b0bd8d9162..38a8936001 100644 --- a/camera/provider/aidl/Android.bp +++ b/camera/provider/aidl/Android.bp @@ -18,7 +18,7 @@ aidl_interface { "android.hardware.camera.device-V3", "android.hardware.camera.common-V1", ], - frozen: false, + frozen: true, stability: "vintf", backend: { java: { @@ -43,6 +43,13 @@ aidl_interface { "android.hardware.camera.common-V1", ], }, + { + version: "3", + imports: [ + "android.hardware.camera.device-V3", + "android.hardware.camera.common-V1", + ], + }, ], diff --git a/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/.hash b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/.hash new file mode 100644 index 0000000000..01eca5d0e7 --- /dev/null +++ b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/.hash @@ -0,0 +1 @@ +261437c3d7d6ad09d5560eee5196a28c0b27106e diff --git a/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/CameraIdAndStreamCombination.aidl b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/CameraIdAndStreamCombination.aidl new file mode 100644 index 0000000000..df77c40a28 --- /dev/null +++ b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/CameraIdAndStreamCombination.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.provider; +@VintfStability +parcelable CameraIdAndStreamCombination { + String cameraId; + android.hardware.camera.device.StreamConfiguration streamConfiguration; +} diff --git a/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ConcurrentCameraIdCombination.aidl b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ConcurrentCameraIdCombination.aidl new file mode 100644 index 0000000000..334fb2c827 --- /dev/null +++ b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ConcurrentCameraIdCombination.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.provider; +@VintfStability +parcelable ConcurrentCameraIdCombination { + List combination; +} diff --git a/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProvider.aidl b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProvider.aidl new file mode 100644 index 0000000000..2f0184f639 --- /dev/null +++ b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProvider.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.provider; +@VintfStability +interface ICameraProvider { + void setCallback(android.hardware.camera.provider.ICameraProviderCallback callback); + android.hardware.camera.common.VendorTagSection[] getVendorTags(); + String[] getCameraIdList(); + android.hardware.camera.device.ICameraDevice getCameraDeviceInterface(String cameraDeviceName); + void notifyDeviceStateChange(long deviceState); + android.hardware.camera.provider.ConcurrentCameraIdCombination[] getConcurrentCameraIds(); + boolean isConcurrentStreamCombinationSupported(in android.hardware.camera.provider.CameraIdAndStreamCombination[] configs); + const long DEVICE_STATE_NORMAL = 0; + const long DEVICE_STATE_BACK_COVERED = (1 << 0) /* 1 */; + const long DEVICE_STATE_FRONT_COVERED = (1 << 1) /* 2 */; + const long DEVICE_STATE_FOLDED = (1 << 2) /* 4 */; +} diff --git a/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProviderCallback.aidl b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProviderCallback.aidl new file mode 100644 index 0000000000..d3c53f5bc2 --- /dev/null +++ b/camera/provider/aidl/aidl_api/android.hardware.camera.provider/3/android/hardware/camera/provider/ICameraProviderCallback.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.camera.provider; +@VintfStability +interface ICameraProviderCallback { + void cameraDeviceStatusChange(String cameraDeviceName, android.hardware.camera.common.CameraDeviceStatus newStatus); + void torchModeStatusChange(String cameraDeviceName, android.hardware.camera.common.TorchModeStatus newStatus); + void physicalCameraDeviceStatusChange(String cameraDeviceName, String physicalCameraDeviceName, android.hardware.camera.common.CameraDeviceStatus newStatus); +} diff --git a/compatibility_matrices/Android.bp b/compatibility_matrices/Android.bp index dd502ba687..2b694427fb 100644 --- a/compatibility_matrices/Android.bp +++ b/compatibility_matrices/Android.bp @@ -82,3 +82,14 @@ vintf_compatibility_matrix { "kernel_config_v_6.6", ], } + +vintf_compatibility_matrix { + name: "framework_compatibility_matrix.202504.xml", + stem: "compatibility_matrix.202504.xml", + srcs: ["compatibility_matrix.202504.xml"], + kernel_configs: [ + "kernel_config_w_6.1", + "kernel_config_w_6.6", + ], + +} diff --git a/compatibility_matrices/Android.mk b/compatibility_matrices/Android.mk index 639abf920a..ab57b8c875 100644 --- a/compatibility_matrices/Android.mk +++ b/compatibility_matrices/Android.mk @@ -105,13 +105,14 @@ my_system_matrix_deps := \ framework_compatibility_matrix.6.xml \ framework_compatibility_matrix.7.xml \ framework_compatibility_matrix.8.xml \ + framework_compatibility_matrix.202404.xml \ framework_compatibility_matrix.device.xml \ # Only allow the use of the unreleased compatibility matrix when we can use unfrozen # interfaces (in the `next` release configuration). ifeq ($(RELEASE_AIDL_USE_UNFROZEN),true) my_system_matrix_deps += \ - framework_compatibility_matrix.202404.xml \ + framework_compatibility_matrix.202504.xml \ endif diff --git a/compatibility_matrices/compatibility_matrix.202504.xml b/compatibility_matrices/compatibility_matrix.202504.xml new file mode 100644 index 0000000000..62756bdc31 --- /dev/null +++ b/compatibility_matrices/compatibility_matrix.202504.xml @@ -0,0 +1,693 @@ + + + android.hardware.audio.core + 1-2 + + IModule + default + a2dp + bluetooth + hearing_aid + msd + r_submix + stub + usb + + + IConfig + default + + + + android.hardware.audio.effect + 1-2 + + IFactory + default + + + + android.hardware.audio.sounddose + 1-2 + + ISoundDoseFactory + default + + + + android.hardware.authsecret + 1 + + IAuthSecret + default + + + + android.hardware.automotive.audiocontrol + 2-4 + + IAudioControl + default + + + + android.hardware.automotive.can + 1 + + ICanController + default + + + + android.hardware.automotive.evs + 1-2 + + IEvsEnumerator + [a-z]+/[0-9]+ + + + + android.hardware.macsec + 1 + + IMacsecPskPlugin + default + + + + android.hardware.automotive.occupant_awareness + 1 + + IOccupantAwareness + default + + + + android.hardware.automotive.vehicle + 1-3 + + IVehicle + default + + + + android.hardware.automotive.remoteaccess + 1-2 + + IRemoteAccess + default + + + + android.hardware.automotive.ivn + + IIvnAndroidDevice + default + + + + android.hardware.biometrics.face + 3-4 + + IFace + default + virtual + + + + android.hardware.biometrics.fingerprint + 3-4 + + IFingerprint + default + virtual + + + + android.hardware.bluetooth + + IBluetoothHci + default + + + + android.hardware.bluetooth.audio + 3-4 + + IBluetoothAudioProviderFactory + default + + + + android.hardware.bluetooth.ranging + 1 + + IBluetoothChannelSounding + default + + + + android.hardware.bluetooth.finder + 1 + + IBluetoothFinder + default + + + + android.hardware.bluetooth.lmp_event + 1 + + IBluetoothLmpEvent + default + + + + android.hardware.boot + + IBootControl + default + + + + android.hardware.broadcastradio + 1-2 + + IBroadcastRadio + .* + + + + android.hardware.camera.provider + 1-3 + + ICameraProvider + [^/]+/[0-9]+ + + + + android.hardware.cas + + IMediaCasService + default + + + + android.hardware.confirmationui + 1 + + IConfirmationUI + default + + + + android.hardware.contexthub + 3 + + IContextHub + default + + + + android.hardware.drm + 1 + + IDrmFactory + .* + + + + android.hardware.dumpstate + + IDumpstateDevice + default + + + + android.hardware.gatekeeper + 1 + + IGatekeeper + default + + + + android.hardware.gnss + 2-4 + + IGnss + default + + + + android.hardware.graphics.allocator + 1-2 + + IAllocator + default + + + + android.hardware.graphics.composer3 + 3 + + IComposer + default + + + + android.hardware.health + 3 + + IHealth + default + + + + android.hardware.health.storage + 1 + + IStorage + default + + + + android.hardware.identity + 1-5 + + IIdentityCredentialStore + default + + + + android.hardware.net.nlinterceptor + + IInterceptor + default + + + + android.hardware.oemlock + 1 + + IOemLock + default + + + + android.hardware.ir + 1 + + IConsumerIr + default + + + + android.hardware.input.processor + 1 + + IInputProcessor + default + + + + android.hardware.security.secretkeeper + 1 + + ISecretkeeper + default + nonsecure + + + + android.hardware.security.keymint + 1-3 + + IKeyMintDevice + default + strongbox + + + + android.hardware.security.keymint + 1-3 + + IRemotelyProvisionedComponent + default + strongbox + + + + android.hardware.light + 2 + + ILights + default + + + + android.hardware.media.c2 + 1 + + IComponentStore + default[0-9]* + vendor[0-9]*_software + + + + android.hardware.memtrack + 1 + + IMemtrack + default + + + + android.hardware.neuralnetworks + 1-4 + + IDevice + .* + + + + android.hardware.nfc + + INfc + default + + + + android.hardware.power + 5 + + IPower + default + + + + android.hardware.power.stats + 2 + + IPowerStats + default + + + + android.hardware.radio.config + 3 + + IRadioConfig + default + + + + android.hardware.radio.data + 3 + + IRadioData + slot1 + slot2 + slot3 + + + + android.hardware.radio.messaging + 3 + + IRadioMessaging + slot1 + slot2 + slot3 + + + + android.hardware.radio.modem + 3 + + IRadioModem + slot1 + slot2 + slot3 + + + + android.hardware.radio.network + 3 + + IRadioNetwork + slot1 + slot2 + slot3 + + + + android.hardware.radio.sim + 3 + + IRadioSim + slot1 + slot2 + slot3 + + + + android.hardware.radio.sap + 1 + + ISap + slot1 + slot2 + slot3 + + + + android.hardware.radio.voice + 3 + + IRadioVoice + slot1 + slot2 + slot3 + + + + android.hardware.radio.ims + 2 + + IRadioIms + slot1 + slot2 + slot3 + + + + android.hardware.radio.ims.media + 2 + + IImsMedia + default + + + + android.hardware.rebootescrow + 1 + + IRebootEscrow + default + + + + android.hardware.secure_element + 1 + + ISecureElement + eSE[1-9][0-9]* + SIM[1-9][0-9]* + + + + android.hardware.security.authgraph + 1 + + IAuthGraphKeyExchange + nonsecure + + + + android.hardware.security.secureclock + 1 + + ISecureClock + default + + + + android.hardware.security.sharedsecret + 1 + + ISharedSecret + default + strongbox + + + + android.hardware.sensors + 2 + + ISensors + default + + + + android.hardware.soundtrigger3 + 1-2 + + ISoundTriggerHw + default + + + + android.hardware.tetheroffload + 1 + + IOffload + default + + + + android.hardware.thermal + 2 + + IThermal + default + + + + android.hardware.threadnetwork + 1 + + IThreadChip + chip[0-9]+ + + + + android.hardware.tv.hdmi.cec + 1 + + IHdmiCec + default + + + + android.hardware.tv.hdmi.earc + 1 + + IEArc + default + + + + android.hardware.tv.hdmi.connection + 1 + + IHdmiConnection + default + + + + android.hardware.tv.tuner + 1-2 + + ITuner + default + + + + android.hardware.tv.input + 1-2 + + ITvInput + default + + + + android.hardware.usb + 1-3 + + IUsb + default + + + + android.hardware.usb.gadget + + IUsbGadget + default + + + + android.hardware.vibrator + 1-2 + + IVibrator + default + + + + android.hardware.vibrator + 1-2 + + IVibratorManager + default + + + + android.hardware.weaver + 2 + + IWeaver + default + + + + android.hardware.wifi + 1-2 + + IWifi + default + + + + android.hardware.uwb + 1 + + IUwb + default + + + + android.hardware.wifi.hostapd + 1-2 + + IHostapd + default + + + + android.hardware.wifi.supplicant + 2-3 + + ISupplicant + default + + + + + mapper + 5.0 + + .* + + + diff --git a/contexthub/aidl/Android.bp b/contexthub/aidl/Android.bp index 5905c8c477..202813c610 100644 --- a/contexthub/aidl/Android.bp +++ b/contexthub/aidl/Android.bp @@ -48,8 +48,12 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], - frozen: false, + frozen: true, } diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/.hash b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/.hash new file mode 100644 index 0000000000..bc4df3abd5 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/.hash @@ -0,0 +1 @@ +03f1982c8e20e58494a4ff8c9736b1c257dfeb6c diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/AsyncEventType.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/AsyncEventType.aidl new file mode 100644 index 0000000000..8e0ff89c12 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/AsyncEventType.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@Backing(type="int") @VintfStability +enum AsyncEventType { + RESTARTED = 1, +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubInfo.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubInfo.aidl new file mode 100644 index 0000000000..c99169eb6f --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubInfo.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable ContextHubInfo { + String name; + String vendor; + String toolchain; + int id; + float peakMips; + int maxSupportedMessageLengthBytes; + long chrePlatformId; + byte chreApiMajorVersion; + byte chreApiMinorVersion; + char chrePatchVersion; + String[] supportedPermissions; + boolean supportsReliableMessages; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubMessage.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubMessage.aidl new file mode 100644 index 0000000000..a6951a8f16 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ContextHubMessage.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable ContextHubMessage { + long nanoappId; + char hostEndPoint; + int messageType; + byte[] messageBody; + String[] permissions; + boolean isReliable; + int messageSequenceNumber; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ErrorCode.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ErrorCode.aidl new file mode 100644 index 0000000000..8924658357 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/ErrorCode.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@Backing(type="byte") @VintfStability +enum ErrorCode { + OK = 0, + TRANSIENT_ERROR, + PERMANENT_ERROR, + PERMISSION_DENIED, + DESTINATION_NOT_FOUND, +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/HostEndpointInfo.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/HostEndpointInfo.aidl new file mode 100644 index 0000000000..dabdbb6648 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/HostEndpointInfo.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable HostEndpointInfo { + char hostEndpointId; + android.hardware.contexthub.HostEndpointInfo.Type type; + @nullable String packageName; + @nullable String attributionTag; + @Backing(type="int") @VintfStability + enum Type { + FRAMEWORK = 1, + APP = 2, + NATIVE = 3, + } +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHub.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHub.aidl new file mode 100644 index 0000000000..7341e0ec75 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHub.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +interface IContextHub { + List getContextHubs(); + void loadNanoapp(in int contextHubId, in android.hardware.contexthub.NanoappBinary appBinary, in int transactionId); + void unloadNanoapp(in int contextHubId, in long appId, in int transactionId); + void disableNanoapp(in int contextHubId, in long appId, in int transactionId); + void enableNanoapp(in int contextHubId, in long appId, in int transactionId); + void onSettingChanged(in android.hardware.contexthub.Setting setting, in boolean enabled); + void queryNanoapps(in int contextHubId); + void registerCallback(in int contextHubId, in android.hardware.contexthub.IContextHubCallback cb); + void sendMessageToHub(in int contextHubId, in android.hardware.contexthub.ContextHubMessage message); + void onHostEndpointConnected(in android.hardware.contexthub.HostEndpointInfo hostEndpointInfo); + void onHostEndpointDisconnected(char hostEndpointId); + long[] getPreloadedNanoappIds(in int contextHubId); + void onNanSessionStateChanged(in android.hardware.contexthub.NanSessionStateUpdate update); + void setTestMode(in boolean enable); + void sendMessageDeliveryStatusToHub(in int contextHubId, in android.hardware.contexthub.MessageDeliveryStatus messageDeliveryStatus); + const int EX_CONTEXT_HUB_UNSPECIFIED = (-1) /* -1 */; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHubCallback.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHubCallback.aidl new file mode 100644 index 0000000000..70f69c608b --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/IContextHubCallback.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +interface IContextHubCallback { + void handleNanoappInfo(in android.hardware.contexthub.NanoappInfo[] appInfo); + void handleContextHubMessage(in android.hardware.contexthub.ContextHubMessage msg, in String[] msgContentPerms); + void handleContextHubAsyncEvent(in android.hardware.contexthub.AsyncEventType evt); + void handleTransactionResult(in int transactionId, in boolean success); + void handleNanSessionRequest(in android.hardware.contexthub.NanSessionRequest request); + void handleMessageDeliveryStatus(in char hostEndpointId, in android.hardware.contexthub.MessageDeliveryStatus messageDeliveryStatus); + byte[16] getUuid(); + String getName(); + const int CONTEXTHUB_NAN_TRANSACTION_TIMEOUT_MS = 10000; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/MessageDeliveryStatus.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/MessageDeliveryStatus.aidl new file mode 100644 index 0000000000..40dac13f1c --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/MessageDeliveryStatus.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable MessageDeliveryStatus { + int messageSequenceNumber; + android.hardware.contexthub.ErrorCode errorCode; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionRequest.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionRequest.aidl new file mode 100644 index 0000000000..d539707ccc --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionRequest.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable NanSessionRequest { + boolean enable; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionStateUpdate.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionStateUpdate.aidl new file mode 100644 index 0000000000..80771e2365 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanSessionStateUpdate.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable NanSessionStateUpdate { + boolean state; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappBinary.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappBinary.aidl new file mode 100644 index 0000000000..fdf38601a9 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappBinary.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable NanoappBinary { + long nanoappId; + int nanoappVersion; + int flags; + byte targetChreApiMajorVersion; + byte targetChreApiMinorVersion; + byte[] customBinary; + const int FLAG_SIGNED = (1 << 0) /* 1 */; + const int FLAG_ENCRYPTED = (1 << 1) /* 2 */; + const int FLAG_TCM_CAPABLE = (1 << 2) /* 4 */; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappInfo.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappInfo.aidl new file mode 100644 index 0000000000..7175d7f329 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable NanoappInfo { + long nanoappId; + int nanoappVersion; + boolean enabled; + String[] permissions; + android.hardware.contexthub.NanoappRpcService[] rpcServices; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappRpcService.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappRpcService.aidl new file mode 100644 index 0000000000..a6a1644195 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/NanoappRpcService.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@VintfStability +parcelable NanoappRpcService { + long id; + int version; +} diff --git a/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/Setting.aidl b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/Setting.aidl new file mode 100644 index 0000000000..aeb720b779 --- /dev/null +++ b/contexthub/aidl/aidl_api/android.hardware.contexthub/3/android/hardware/contexthub/Setting.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.contexthub; +@Backing(type="byte") @VintfStability +enum Setting { + LOCATION = 1, + WIFI_MAIN, + WIFI_SCANNING, + AIRPLANE_MODE, + MICROPHONE, + BT_MAIN, + BT_SCANNING, +} diff --git a/gnss/aidl/Android.bp b/gnss/aidl/Android.bp index 611c7e0683..47fc3af6d0 100644 --- a/gnss/aidl/Android.bp +++ b/gnss/aidl/Android.bp @@ -50,8 +50,12 @@ aidl_interface { version: "3", imports: [], }, + { + version: "4", + imports: [], + }, ], - frozen: false, + frozen: true, } diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/.hash b/gnss/aidl/aidl_api/android.hardware.gnss/4/.hash new file mode 100644 index 0000000000..e5cdc1166a --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/.hash @@ -0,0 +1 @@ +3552d3a7d21e743a59aa62eb395be44dddc0797e diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/BlocklistedSource.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/BlocklistedSource.aidl new file mode 100644 index 0000000000..ccb2b281db --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/BlocklistedSource.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable BlocklistedSource { + android.hardware.gnss.GnssConstellationType constellation = android.hardware.gnss.GnssConstellationType.UNKNOWN; + int svid; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/CorrelationVector.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/CorrelationVector.aidl new file mode 100644 index 0000000000..b9590036db --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/CorrelationVector.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable CorrelationVector { + double frequencyOffsetMps; + double samplingWidthM; + double samplingStartM; + int[] magnitude; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/ElapsedRealtime.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/ElapsedRealtime.aidl new file mode 100644 index 0000000000..5d7f51e342 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/ElapsedRealtime.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable ElapsedRealtime { + int flags; + long timestampNs; + double timeUncertaintyNs; + const int HAS_TIMESTAMP_NS = (1 << 0) /* 1 */; + const int HAS_TIME_UNCERTAINTY_NS = (1 << 1) /* 2 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssClock.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssClock.aidl new file mode 100644 index 0000000000..63edd44a19 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssClock.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssClock { + int gnssClockFlags; + int leapSecond; + long timeNs; + double timeUncertaintyNs; + long fullBiasNs; + double biasNs; + double biasUncertaintyNs; + double driftNsps; + double driftUncertaintyNsps; + int hwClockDiscontinuityCount; + android.hardware.gnss.GnssSignalType referenceSignalTypeForIsb; + const int HAS_LEAP_SECOND = (1 << 0) /* 1 */; + const int HAS_TIME_UNCERTAINTY = (1 << 1) /* 2 */; + const int HAS_FULL_BIAS = (1 << 2) /* 4 */; + const int HAS_BIAS = (1 << 3) /* 8 */; + const int HAS_BIAS_UNCERTAINTY = (1 << 4) /* 16 */; + const int HAS_DRIFT = (1 << 5) /* 32 */; + const int HAS_DRIFT_UNCERTAINTY = (1 << 6) /* 64 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssConstellationType.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssConstellationType.aidl new file mode 100644 index 0000000000..fee2ef67c3 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssConstellationType.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@Backing(type="int") @VintfStability +enum GnssConstellationType { + UNKNOWN = 0, + GPS = 1, + SBAS = 2, + GLONASS = 3, + QZSS = 4, + BEIDOU = 5, + GALILEO = 6, + IRNSS = 7, +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssData.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssData.aidl new file mode 100644 index 0000000000..54e3b2165e --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssData.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssData { + android.hardware.gnss.GnssMeasurement[] measurements; + android.hardware.gnss.GnssClock clock; + android.hardware.gnss.ElapsedRealtime elapsedRealtime; + android.hardware.gnss.GnssData.GnssAgc[] gnssAgcs = {}; + boolean isFullTracking; + @VintfStability + parcelable GnssAgc { + double agcLevelDb; + android.hardware.gnss.GnssConstellationType constellation = android.hardware.gnss.GnssConstellationType.UNKNOWN; + long carrierFrequencyHz; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssLocation.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssLocation.aidl new file mode 100644 index 0000000000..e64d98a297 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssLocation.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssLocation { + int gnssLocationFlags; + double latitudeDegrees; + double longitudeDegrees; + double altitudeMeters; + double speedMetersPerSec; + double bearingDegrees; + double horizontalAccuracyMeters; + double verticalAccuracyMeters; + double speedAccuracyMetersPerSecond; + double bearingAccuracyDegrees; + long timestampMillis; + android.hardware.gnss.ElapsedRealtime elapsedRealtime; + const int HAS_LAT_LONG = 0x0001; + const int HAS_ALTITUDE = 0x0002; + const int HAS_SPEED = 0x0004; + const int HAS_BEARING = 0x0008; + const int HAS_HORIZONTAL_ACCURACY = 0x0010; + const int HAS_VERTICAL_ACCURACY = 0x0020; + const int HAS_SPEED_ACCURACY = 0x0040; + const int HAS_BEARING_ACCURACY = 0x0080; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMeasurement.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMeasurement.aidl new file mode 100644 index 0000000000..a2594af99a --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMeasurement.aidl @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssMeasurement { + int flags; + int svid; + android.hardware.gnss.GnssSignalType signalType; + double timeOffsetNs; + int state; + long receivedSvTimeInNs; + long receivedSvTimeUncertaintyInNs; + double antennaCN0DbHz; + double basebandCN0DbHz; + double pseudorangeRateMps; + double pseudorangeRateUncertaintyMps; + int accumulatedDeltaRangeState; + double accumulatedDeltaRangeM; + double accumulatedDeltaRangeUncertaintyM; + long carrierCycles; + double carrierPhase; + double carrierPhaseUncertainty; + android.hardware.gnss.GnssMultipathIndicator multipathIndicator = android.hardware.gnss.GnssMultipathIndicator.UNKNOWN; + double snrDb; + double agcLevelDb; + double fullInterSignalBiasNs; + double fullInterSignalBiasUncertaintyNs; + double satelliteInterSignalBiasNs; + double satelliteInterSignalBiasUncertaintyNs; + android.hardware.gnss.SatellitePvt satellitePvt; + android.hardware.gnss.CorrelationVector[] correlationVectors; + const int HAS_SNR = (1 << 0) /* 1 */; + const int HAS_CARRIER_FREQUENCY = (1 << 9) /* 512 */; + const int HAS_CARRIER_CYCLES = (1 << 10) /* 1024 */; + const int HAS_CARRIER_PHASE = (1 << 11) /* 2048 */; + const int HAS_CARRIER_PHASE_UNCERTAINTY = (1 << 12) /* 4096 */; + const int HAS_AUTOMATIC_GAIN_CONTROL = (1 << 13) /* 8192 */; + const int HAS_FULL_ISB = (1 << 16) /* 65536 */; + const int HAS_FULL_ISB_UNCERTAINTY = (1 << 17) /* 131072 */; + const int HAS_SATELLITE_ISB = (1 << 18) /* 262144 */; + const int HAS_SATELLITE_ISB_UNCERTAINTY = (1 << 19) /* 524288 */; + const int HAS_SATELLITE_PVT = (1 << 20) /* 1048576 */; + const int HAS_CORRELATION_VECTOR = (1 << 21) /* 2097152 */; + const int STATE_UNKNOWN = 0; + const int STATE_CODE_LOCK = (1 << 0) /* 1 */; + const int STATE_BIT_SYNC = (1 << 1) /* 2 */; + const int STATE_SUBFRAME_SYNC = (1 << 2) /* 4 */; + const int STATE_TOW_DECODED = (1 << 3) /* 8 */; + const int STATE_MSEC_AMBIGUOUS = (1 << 4) /* 16 */; + const int STATE_SYMBOL_SYNC = (1 << 5) /* 32 */; + const int STATE_GLO_STRING_SYNC = (1 << 6) /* 64 */; + const int STATE_GLO_TOD_DECODED = (1 << 7) /* 128 */; + const int STATE_BDS_D2_BIT_SYNC = (1 << 8) /* 256 */; + const int STATE_BDS_D2_SUBFRAME_SYNC = (1 << 9) /* 512 */; + const int STATE_GAL_E1BC_CODE_LOCK = (1 << 10) /* 1024 */; + const int STATE_GAL_E1C_2ND_CODE_LOCK = (1 << 11) /* 2048 */; + const int STATE_GAL_E1B_PAGE_SYNC = (1 << 12) /* 4096 */; + const int STATE_SBAS_SYNC = (1 << 13) /* 8192 */; + const int STATE_TOW_KNOWN = (1 << 14) /* 16384 */; + const int STATE_GLO_TOD_KNOWN = (1 << 15) /* 32768 */; + const int STATE_2ND_CODE_LOCK = (1 << 16) /* 65536 */; + const int ADR_STATE_UNKNOWN = 0; + const int ADR_STATE_VALID = (1 << 0) /* 1 */; + const int ADR_STATE_RESET = (1 << 1) /* 2 */; + const int ADR_STATE_CYCLE_SLIP = (1 << 2) /* 4 */; + const int ADR_STATE_HALF_CYCLE_RESOLVED = (1 << 3) /* 8 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMultipathIndicator.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMultipathIndicator.aidl new file mode 100644 index 0000000000..62ade9c3e8 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssMultipathIndicator.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@Backing(type="int") @VintfStability +enum GnssMultipathIndicator { + UNKNOWN = 0, + PRESENT = 1, + NOT_PRESENT = 2, +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssPowerStats.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssPowerStats.aidl new file mode 100644 index 0000000000..c4a9e6179e --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssPowerStats.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssPowerStats { + android.hardware.gnss.ElapsedRealtime elapsedRealtime; + double totalEnergyMilliJoule; + double singlebandTrackingModeEnergyMilliJoule; + double multibandTrackingModeEnergyMilliJoule; + double singlebandAcquisitionModeEnergyMilliJoule; + double multibandAcquisitionModeEnergyMilliJoule; + double[] otherModesEnergyMilliJoule; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssSignalType.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssSignalType.aidl new file mode 100644 index 0000000000..a17f933e76 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/GnssSignalType.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable GnssSignalType { + android.hardware.gnss.GnssConstellationType constellation = android.hardware.gnss.GnssConstellationType.UNKNOWN; + double carrierFrequencyHz; + @utf8InCpp String codeType; + const @utf8InCpp String CODE_TYPE_A = "A"; + const @utf8InCpp String CODE_TYPE_B = "B"; + const @utf8InCpp String CODE_TYPE_C = "C"; + const @utf8InCpp String CODE_TYPE_D = "D"; + const @utf8InCpp String CODE_TYPE_E = "E"; + const @utf8InCpp String CODE_TYPE_I = "I"; + const @utf8InCpp String CODE_TYPE_L = "L"; + const @utf8InCpp String CODE_TYPE_M = "M"; + const @utf8InCpp String CODE_TYPE_N = "N"; + const @utf8InCpp String CODE_TYPE_P = "P"; + const @utf8InCpp String CODE_TYPE_Q = "Q"; + const @utf8InCpp String CODE_TYPE_S = "S"; + const @utf8InCpp String CODE_TYPE_W = "W"; + const @utf8InCpp String CODE_TYPE_X = "X"; + const @utf8InCpp String CODE_TYPE_Y = "Y"; + const @utf8InCpp String CODE_TYPE_Z = "Z"; + const @utf8InCpp String CODE_TYPE_UNKNOWN = "UNKNOWN"; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnss.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnss.aidl new file mode 100644 index 0000000000..639539ad65 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnss.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IAGnss { + void setCallback(in android.hardware.gnss.IAGnssCallback callback); + void dataConnClosed(); + void dataConnFailed(); + void setServer(in android.hardware.gnss.IAGnssCallback.AGnssType type, in @utf8InCpp String hostname, in int port); + void dataConnOpen(in long networkHandle, in @utf8InCpp String apn, in android.hardware.gnss.IAGnss.ApnIpType apnIpType); + @Backing(type="int") @VintfStability + enum ApnIpType { + INVALID = 0, + IPV4 = 1, + IPV6 = 2, + IPV4V6 = 3, + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssCallback.aidl new file mode 100644 index 0000000000..b2da8d9583 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssCallback.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IAGnssCallback { + void agnssStatusCb(in android.hardware.gnss.IAGnssCallback.AGnssType type, in android.hardware.gnss.IAGnssCallback.AGnssStatusValue status); + @Backing(type="int") @VintfStability + enum AGnssType { + SUPL = 1, + C2K = 2, + SUPL_EIMS = 3, + SUPL_IMS = 4, + } + @Backing(type="int") @VintfStability + enum AGnssStatusValue { + REQUEST_AGNSS_DATA_CONN = 1, + RELEASE_AGNSS_DATA_CONN = 2, + AGNSS_DATA_CONNECTED = 3, + AGNSS_DATA_CONN_DONE = 4, + AGNSS_DATA_CONN_FAILED = 5, + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRil.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRil.aidl new file mode 100644 index 0000000000..c8634ec2b0 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRil.aidl @@ -0,0 +1,81 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IAGnssRil { + void setCallback(in android.hardware.gnss.IAGnssRilCallback callback); + void setRefLocation(in android.hardware.gnss.IAGnssRil.AGnssRefLocation agnssReflocation); + void setSetId(in android.hardware.gnss.IAGnssRil.SetIdType type, in @utf8InCpp String setid); + void updateNetworkState(in android.hardware.gnss.IAGnssRil.NetworkAttributes attributes); + void injectNiSuplMessageData(in byte[] msgData, in int slotIndex); + const int NETWORK_CAPABILITY_NOT_METERED = 0x01; + const int NETWORK_CAPABILITY_NOT_ROAMING = 0x02; + @Backing(type="int") @VintfStability + enum AGnssRefLocationType { + GSM_CELLID = 1, + UMTS_CELLID = 2, + LTE_CELLID = 4, + NR_CELLID = 8, + } + @Backing(type="int") @VintfStability + enum SetIdType { + NONE = 0, + IMSI = 1, + MSISDM = 2, + } + @VintfStability + parcelable AGnssRefLocationCellID { + android.hardware.gnss.IAGnssRil.AGnssRefLocationType type; + int mcc; + int mnc; + int lac; + long cid; + int tac; + int pcid; + int arfcn; + } + @VintfStability + parcelable AGnssRefLocation { + android.hardware.gnss.IAGnssRil.AGnssRefLocationType type; + android.hardware.gnss.IAGnssRil.AGnssRefLocationCellID cellID; + } + @VintfStability + parcelable NetworkAttributes { + long networkHandle; + boolean isConnected; + int capabilities; + @utf8InCpp String apn; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRilCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRilCallback.aidl new file mode 100644 index 0000000000..3717026622 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IAGnssRilCallback.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IAGnssRilCallback { + void requestSetIdCb(in int setIdflag); + void requestRefLocCb(); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnss.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnss.aidl new file mode 100644 index 0000000000..d1aaf2c457 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnss.aidl @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnss { + void setCallback(in android.hardware.gnss.IGnssCallback callback); + void close(); + @nullable android.hardware.gnss.IGnssPsds getExtensionPsds(); + android.hardware.gnss.IGnssConfiguration getExtensionGnssConfiguration(); + android.hardware.gnss.IGnssMeasurementInterface getExtensionGnssMeasurement(); + android.hardware.gnss.IGnssPowerIndication getExtensionGnssPowerIndication(); + @nullable android.hardware.gnss.IGnssBatching getExtensionGnssBatching(); + @nullable android.hardware.gnss.IGnssGeofence getExtensionGnssGeofence(); + @nullable android.hardware.gnss.IGnssNavigationMessageInterface getExtensionGnssNavigationMessage(); + android.hardware.gnss.IAGnss getExtensionAGnss(); + android.hardware.gnss.IAGnssRil getExtensionAGnssRil(); + android.hardware.gnss.IGnssDebug getExtensionGnssDebug(); + android.hardware.gnss.visibility_control.IGnssVisibilityControl getExtensionGnssVisibilityControl(); + void start(); + void stop(); + void injectTime(in long timeMs, in long timeReferenceMs, in int uncertaintyMs); + void injectLocation(in android.hardware.gnss.GnssLocation location); + void injectBestLocation(in android.hardware.gnss.GnssLocation location); + void deleteAidingData(in android.hardware.gnss.IGnss.GnssAidingData aidingDataFlags); + void setPositionMode(in android.hardware.gnss.IGnss.PositionModeOptions options); + android.hardware.gnss.IGnssAntennaInfo getExtensionGnssAntennaInfo(); + @nullable android.hardware.gnss.measurement_corrections.IMeasurementCorrectionsInterface getExtensionMeasurementCorrections(); + void startSvStatus(); + void stopSvStatus(); + void startNmea(); + void stopNmea(); + const int ERROR_INVALID_ARGUMENT = 1; + const int ERROR_ALREADY_INIT = 2; + const int ERROR_GENERIC = 3; + @Backing(type="int") @VintfStability + enum GnssPositionMode { + STANDALONE = 0, + MS_BASED = 1, + MS_ASSISTED = 2, + } + @Backing(type="int") @VintfStability + enum GnssPositionRecurrence { + RECURRENCE_PERIODIC = 0, + RECURRENCE_SINGLE = 1, + } + @Backing(type="int") @VintfStability + enum GnssAidingData { + EPHEMERIS = 0x0001, + ALMANAC = 0x0002, + POSITION = 0x0004, + TIME = 0x0008, + IONO = 0x0010, + UTC = 0x0020, + HEALTH = 0x0040, + SVDIR = 0x0080, + SVSTEER = 0x0100, + SADATA = 0x0200, + RTI = 0x0400, + CELLDB_INFO = 0x8000, + ALL = 0xFFFF, + } + @VintfStability + parcelable PositionModeOptions { + android.hardware.gnss.IGnss.GnssPositionMode mode; + android.hardware.gnss.IGnss.GnssPositionRecurrence recurrence; + int minIntervalMs; + int preferredAccuracyMeters; + int preferredTimeMs; + boolean lowPowerMode; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfo.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfo.aidl new file mode 100644 index 0000000000..43ad328e5c --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssAntennaInfo { + void setCallback(in android.hardware.gnss.IGnssAntennaInfoCallback callback); + void close(); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfoCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfoCallback.aidl new file mode 100644 index 0000000000..eb6abe55f8 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssAntennaInfoCallback.aidl @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssAntennaInfoCallback { + void gnssAntennaInfoCb(in android.hardware.gnss.IGnssAntennaInfoCallback.GnssAntennaInfo[] gnssAntennaInfos); + @VintfStability + parcelable Row { + double[] row; + } + @VintfStability + parcelable Coord { + double x; + double xUncertainty; + double y; + double yUncertainty; + double z; + double zUncertainty; + } + @VintfStability + parcelable GnssAntennaInfo { + long carrierFrequencyHz; + android.hardware.gnss.IGnssAntennaInfoCallback.Coord phaseCenterOffsetCoordinateMillimeters; + android.hardware.gnss.IGnssAntennaInfoCallback.Row[] phaseCenterVariationCorrectionMillimeters; + android.hardware.gnss.IGnssAntennaInfoCallback.Row[] phaseCenterVariationCorrectionUncertaintyMillimeters; + android.hardware.gnss.IGnssAntennaInfoCallback.Row[] signalGainCorrectionDbi; + android.hardware.gnss.IGnssAntennaInfoCallback.Row[] signalGainCorrectionUncertaintyDbi; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatching.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatching.aidl new file mode 100644 index 0000000000..a021f55918 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatching.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssBatching { + void init(in android.hardware.gnss.IGnssBatchingCallback callback); + int getBatchSize(); + void start(in android.hardware.gnss.IGnssBatching.Options options); + void flush(); + void stop(); + void cleanup(); + const int WAKEUP_ON_FIFO_FULL = 0x01; + @VintfStability + parcelable Options { + long periodNanos; + float minDistanceMeters; + int flags; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatchingCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatchingCallback.aidl new file mode 100644 index 0000000000..b12a8bd519 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssBatchingCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssBatchingCallback { + void gnssLocationBatchCb(in android.hardware.gnss.GnssLocation[] locations); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssCallback.aidl new file mode 100644 index 0000000000..61710d3e25 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssCallback.aidl @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssCallback { + void gnssSetCapabilitiesCb(in int capabilities); + void gnssStatusCb(in android.hardware.gnss.IGnssCallback.GnssStatusValue status); + void gnssSvStatusCb(in android.hardware.gnss.IGnssCallback.GnssSvInfo[] svInfoList); + void gnssLocationCb(in android.hardware.gnss.GnssLocation location); + void gnssNmeaCb(in long timestamp, in @utf8InCpp String nmea); + void gnssAcquireWakelockCb(); + void gnssReleaseWakelockCb(); + void gnssSetSystemInfoCb(in android.hardware.gnss.IGnssCallback.GnssSystemInfo info); + void gnssRequestTimeCb(); + void gnssRequestLocationCb(in boolean independentFromGnss, in boolean isUserEmergency); + void gnssSetSignalTypeCapabilitiesCb(in android.hardware.gnss.GnssSignalType[] gnssSignalTypes); + const int CAPABILITY_SCHEDULING = (1 << 0) /* 1 */; + const int CAPABILITY_MSB = (1 << 1) /* 2 */; + const int CAPABILITY_MSA = (1 << 2) /* 4 */; + const int CAPABILITY_SINGLE_SHOT = (1 << 3) /* 8 */; + const int CAPABILITY_ON_DEMAND_TIME = (1 << 4) /* 16 */; + const int CAPABILITY_GEOFENCING = (1 << 5) /* 32 */; + const int CAPABILITY_MEASUREMENTS = (1 << 6) /* 64 */; + const int CAPABILITY_NAV_MESSAGES = (1 << 7) /* 128 */; + const int CAPABILITY_LOW_POWER_MODE = (1 << 8) /* 256 */; + const int CAPABILITY_SATELLITE_BLOCKLIST = (1 << 9) /* 512 */; + const int CAPABILITY_MEASUREMENT_CORRECTIONS = (1 << 10) /* 1024 */; + const int CAPABILITY_ANTENNA_INFO = (1 << 11) /* 2048 */; + const int CAPABILITY_CORRELATION_VECTOR = (1 << 12) /* 4096 */; + const int CAPABILITY_SATELLITE_PVT = (1 << 13) /* 8192 */; + const int CAPABILITY_MEASUREMENT_CORRECTIONS_FOR_DRIVING = (1 << 14) /* 16384 */; + const int CAPABILITY_ACCUMULATED_DELTA_RANGE = (1 << 15) /* 32768 */; + @Backing(type="int") @VintfStability + enum GnssStatusValue { + NONE = 0, + SESSION_BEGIN = 1, + SESSION_END = 2, + ENGINE_ON = 3, + ENGINE_OFF = 4, + } + @Backing(type="int") @VintfStability + enum GnssSvFlags { + NONE = 0, + HAS_EPHEMERIS_DATA = (1 << 0) /* 1 */, + HAS_ALMANAC_DATA = (1 << 1) /* 2 */, + USED_IN_FIX = (1 << 2) /* 4 */, + HAS_CARRIER_FREQUENCY = (1 << 3) /* 8 */, + } + @VintfStability + parcelable GnssSvInfo { + int svid; + android.hardware.gnss.GnssConstellationType constellation; + float cN0Dbhz; + float basebandCN0DbHz; + float elevationDegrees; + float azimuthDegrees; + long carrierFrequencyHz; + int svFlag; + } + @VintfStability + parcelable GnssSystemInfo { + int yearOfHw; + @utf8InCpp String name; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssConfiguration.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssConfiguration.aidl new file mode 100644 index 0000000000..70df11afa9 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssConfiguration.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssConfiguration { + void setSuplVersion(in int version); + void setSuplMode(in int mode); + void setLppProfile(in int lppProfile); + void setGlonassPositioningProtocol(in int protocol); + void setEmergencySuplPdn(in boolean enable); + void setEsExtensionSec(in int emergencyExtensionSeconds); + void setBlocklist(in android.hardware.gnss.BlocklistedSource[] blocklist); + const int SUPL_MODE_MSB = 0x01; + const int SUPL_MODE_MSA = 0x02; + const int LPP_PROFILE_USER_PLANE = 0x01; + const int LPP_PROFILE_CONTROL_PLANE = 0x02; + const int GLONASS_POS_PROTOCOL_RRC_CPLANE = 0x01; + const int GLONASS_POS_PROTOCOL_RRLP_UPLANE = 0x02; + const int GLONASS_POS_PROTOCOL_LPP_UPLANE = 0x04; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssDebug.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssDebug.aidl new file mode 100644 index 0000000000..591b53301f --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssDebug.aidl @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssDebug { + android.hardware.gnss.IGnssDebug.DebugData getDebugData(); + @Backing(type="int") @VintfStability + enum SatelliteEphemerisType { + EPHEMERIS = 0, + ALMANAC_ONLY = 1, + NOT_AVAILABLE = 2, + } + @Backing(type="int") @VintfStability + enum SatelliteEphemerisHealth { + GOOD = 0, + BAD = 1, + UNKNOWN = 2, + } + @VintfStability + parcelable TimeDebug { + long timeEstimateMs; + float timeUncertaintyNs; + float frequencyUncertaintyNsPerSec; + } + @VintfStability + parcelable PositionDebug { + boolean valid; + double latitudeDegrees; + double longitudeDegrees; + float altitudeMeters; + float speedMetersPerSec; + float bearingDegrees; + double horizontalAccuracyMeters; + double verticalAccuracyMeters; + double speedAccuracyMetersPerSecond; + double bearingAccuracyDegrees; + float ageSeconds; + } + @VintfStability + parcelable SatelliteData { + int svid; + android.hardware.gnss.GnssConstellationType constellation; + android.hardware.gnss.IGnssDebug.SatelliteEphemerisType ephemerisType; + android.hardware.gnss.SatellitePvt.SatelliteEphemerisSource ephemerisSource; + android.hardware.gnss.IGnssDebug.SatelliteEphemerisHealth ephemerisHealth; + float ephemerisAgeSeconds; + boolean serverPredictionIsAvailable; + float serverPredictionAgeSeconds; + } + @VintfStability + parcelable DebugData { + android.hardware.gnss.IGnssDebug.PositionDebug position; + android.hardware.gnss.IGnssDebug.TimeDebug time; + List satelliteDataArray; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofence.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofence.aidl new file mode 100644 index 0000000000..5065ad49c8 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofence.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssGeofence { + void setCallback(in android.hardware.gnss.IGnssGeofenceCallback callback); + void addGeofence(in int geofenceId, in double latitudeDegrees, in double longitudeDegrees, in double radiusMeters, in int lastTransition, in int monitorTransitions, in int notificationResponsivenessMs, in int unknownTimerMs); + void pauseGeofence(in int geofenceId); + void resumeGeofence(in int geofenceId, in int monitorTransitions); + void removeGeofence(in int geofenceId); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofenceCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofenceCallback.aidl new file mode 100644 index 0000000000..90f9ebce43 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssGeofenceCallback.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssGeofenceCallback { + void gnssGeofenceTransitionCb(in int geofenceId, in android.hardware.gnss.GnssLocation location, in int transition, in long timestampMillis); + void gnssGeofenceStatusCb(in int availability, in android.hardware.gnss.GnssLocation lastLocation); + void gnssGeofenceAddCb(in int geofenceId, in int status); + void gnssGeofenceRemoveCb(in int geofenceId, in int status); + void gnssGeofencePauseCb(in int geofenceId, in int status); + void gnssGeofenceResumeCb(in int geofenceId, in int status); + const int ENTERED = (1 << 0) /* 1 */; + const int EXITED = (1 << 1) /* 2 */; + const int UNCERTAIN = (1 << 2) /* 4 */; + const int UNAVAILABLE = (1 << 0) /* 1 */; + const int AVAILABLE = (1 << 1) /* 2 */; + const int OPERATION_SUCCESS = 0; + const int ERROR_TOO_MANY_GEOFENCES = (-100) /* -100 */; + const int ERROR_ID_EXISTS = (-101) /* -101 */; + const int ERROR_ID_UNKNOWN = (-102) /* -102 */; + const int ERROR_INVALID_TRANSITION = (-103) /* -103 */; + const int ERROR_GENERIC = (-149) /* -149 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementCallback.aidl new file mode 100644 index 0000000000..624a7ae84d --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssMeasurementCallback { + void gnssMeasurementCb(in android.hardware.gnss.GnssData data); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementInterface.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementInterface.aidl new file mode 100644 index 0000000000..6fe6a6c6fd --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssMeasurementInterface.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssMeasurementInterface { + void setCallback(in android.hardware.gnss.IGnssMeasurementCallback callback, in boolean enableFullTracking, in boolean enableCorrVecOutputs); + void close(); + void setCallbackWithOptions(in android.hardware.gnss.IGnssMeasurementCallback callback, in android.hardware.gnss.IGnssMeasurementInterface.Options options); + @VintfStability + parcelable Options { + boolean enableFullTracking; + boolean enableCorrVecOutputs; + int intervalMs; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageCallback.aidl new file mode 100644 index 0000000000..f6a8fef7ac --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageCallback.aidl @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssNavigationMessageCallback { + void gnssNavigationMessageCb(in android.hardware.gnss.IGnssNavigationMessageCallback.GnssNavigationMessage message); + @VintfStability + parcelable GnssNavigationMessage { + int svid; + android.hardware.gnss.IGnssNavigationMessageCallback.GnssNavigationMessage.GnssNavigationMessageType type; + int status; + int messageId; + int submessageId; + byte[] data; + const int STATUS_PARITY_PASSED = (1 << 0) /* 1 */; + const int STATUS_PARITY_REBUILT = (1 << 1) /* 2 */; + const int STATUS_UNKNOWN = 0; + @Backing(type="int") @VintfStability + enum GnssNavigationMessageType { + UNKNOWN = 0, + GPS_L1CA = 0x0101, + GPS_L2CNAV = 0x0102, + GPS_L5CNAV = 0x0103, + SBS = 0x0201, + GPS_CNAV2 = 0x0104, + GLO_L1CA = 0x0301, + QZS_L1CA = 0x0401, + BDS_D1 = 0x0501, + BDS_D2 = 0x0502, + BDS_CNAV1 = 0x0503, + BDS_CNAV2 = 0x0504, + GAL_I = 0x0601, + GAL_F = 0x0602, + /** + * @deprecated Use IRN_L5 instead. + */ + IRN_L5CA = 0x0701, + IRN_L5 = 0x0702, + IRN_L1 = 0x0703, + } + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageInterface.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageInterface.aidl new file mode 100644 index 0000000000..187773dd81 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssNavigationMessageInterface.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssNavigationMessageInterface { + void setCallback(in android.hardware.gnss.IGnssNavigationMessageCallback callback); + void close(); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndication.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndication.aidl new file mode 100644 index 0000000000..f77dbfff86 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndication.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssPowerIndication { + void setCallback(in android.hardware.gnss.IGnssPowerIndicationCallback callback); + oneway void requestGnssPowerStats(); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndicationCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndicationCallback.aidl new file mode 100644 index 0000000000..07b10ad201 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPowerIndicationCallback.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssPowerIndicationCallback { + void setCapabilitiesCb(in int capabilities); + oneway void gnssPowerStatsCb(in android.hardware.gnss.GnssPowerStats gnssPowerStats); + const int CAPABILITY_TOTAL = (1 << 0) /* 1 */; + const int CAPABILITY_SINGLEBAND_TRACKING = (1 << 1) /* 2 */; + const int CAPABILITY_MULTIBAND_TRACKING = (1 << 2) /* 4 */; + const int CAPABILITY_SINGLEBAND_ACQUISITION = (1 << 3) /* 8 */; + const int CAPABILITY_MULTIBAND_ACQUISITION = (1 << 4) /* 16 */; + const int CAPABILITY_OTHER_MODES = (1 << 5) /* 32 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsds.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsds.aidl new file mode 100644 index 0000000000..3aee798b33 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsds.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssPsds { + void injectPsdsData(in android.hardware.gnss.PsdsType psdsType, in byte[] psdsData); + void setCallback(in android.hardware.gnss.IGnssPsdsCallback callback); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsdsCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsdsCallback.aidl new file mode 100644 index 0000000000..dadc9fb092 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/IGnssPsdsCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +interface IGnssPsdsCallback { + void downloadRequestCb(in android.hardware.gnss.PsdsType psdsType); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/PsdsType.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/PsdsType.aidl new file mode 100644 index 0000000000..60b15d63eb --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/PsdsType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@Backing(type="int") @VintfStability +enum PsdsType { + LONG_TERM = 1, + NORMAL = 2, + REALTIME = 3, +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteClockInfo.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteClockInfo.aidl new file mode 100644 index 0000000000..05f7733280 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteClockInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable SatelliteClockInfo { + double satHardwareCodeBiasMeters; + double satTimeCorrectionMeters; + double satClkDriftMps; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePositionEcef.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePositionEcef.aidl new file mode 100644 index 0000000000..3d4f7ff6e2 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePositionEcef.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable SatellitePositionEcef { + double posXMeters; + double posYMeters; + double posZMeters; + double ureMeters; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePvt.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePvt.aidl new file mode 100644 index 0000000000..ae65f39e3a --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatellitePvt.aidl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable SatellitePvt { + int flags; + android.hardware.gnss.SatellitePositionEcef satPosEcef; + android.hardware.gnss.SatelliteVelocityEcef satVelEcef; + android.hardware.gnss.SatelliteClockInfo satClockInfo; + double ionoDelayMeters; + double tropoDelayMeters; + long timeOfClockSeconds; + int issueOfDataClock; + long timeOfEphemerisSeconds; + int issueOfDataEphemeris; + android.hardware.gnss.SatellitePvt.SatelliteEphemerisSource ephemerisSource = android.hardware.gnss.SatellitePvt.SatelliteEphemerisSource.OTHER; + const int HAS_POSITION_VELOCITY_CLOCK_INFO = (1 << 0) /* 1 */; + const int HAS_IONO = (1 << 1) /* 2 */; + const int HAS_TROPO = (1 << 2) /* 4 */; + @Backing(type="int") @VintfStability + enum SatelliteEphemerisSource { + DEMODULATED = 0, + SERVER_NORMAL = 1, + SERVER_LONG_TERM = 2, + OTHER = 3, + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteVelocityEcef.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteVelocityEcef.aidl new file mode 100644 index 0000000000..94d0b344b7 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/SatelliteVelocityEcef.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss; +/* @hide */ +@VintfStability +parcelable SatelliteVelocityEcef { + double velXMps; + double velYMps; + double velZMps; + double ureRateMps; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsCallback.aidl new file mode 100644 index 0000000000..61909d05f7 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsCallback.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.measurement_corrections; +/* @hide */ +@VintfStability +interface IMeasurementCorrectionsCallback { + void setCapabilitiesCb(in int capabilities); + const int CAPABILITY_LOS_SATS = (1 << 0) /* 1 */; + const int CAPABILITY_EXCESS_PATH_LENGTH = (1 << 1) /* 2 */; + const int CAPABILITY_REFLECTING_PLANE = (1 << 2) /* 4 */; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsInterface.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsInterface.aidl new file mode 100644 index 0000000000..bd305345f6 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/IMeasurementCorrectionsInterface.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.measurement_corrections; +/* @hide */ +@VintfStability +interface IMeasurementCorrectionsInterface { + void setCorrections(in android.hardware.gnss.measurement_corrections.MeasurementCorrections corrections); + void setCallback(in android.hardware.gnss.measurement_corrections.IMeasurementCorrectionsCallback callback); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/MeasurementCorrections.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/MeasurementCorrections.aidl new file mode 100644 index 0000000000..35fd79e57e --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/MeasurementCorrections.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.measurement_corrections; +/* @hide */ +@VintfStability +parcelable MeasurementCorrections { + double latitudeDegrees; + double longitudeDegrees; + double altitudeMeters; + double horizontalPositionUncertaintyMeters; + double verticalPositionUncertaintyMeters; + long toaGpsNanosecondsOfWeek; + android.hardware.gnss.measurement_corrections.SingleSatCorrection[] satCorrections; + boolean hasEnvironmentBearing; + float environmentBearingDegrees; + float environmentBearingUncertaintyDegrees; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/ReflectingPlane.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/ReflectingPlane.aidl new file mode 100644 index 0000000000..90c9e03336 --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/ReflectingPlane.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.measurement_corrections; +/* @hide */ +@VintfStability +parcelable ReflectingPlane { + double latitudeDegrees; + double longitudeDegrees; + double altitudeMeters; + double reflectingPlaneAzimuthDegrees; +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/SingleSatCorrection.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/SingleSatCorrection.aidl new file mode 100644 index 0000000000..72d32e434c --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/measurement_corrections/SingleSatCorrection.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.measurement_corrections; +/* @hide */ +@VintfStability +parcelable SingleSatCorrection { + int singleSatCorrectionFlags; + android.hardware.gnss.GnssConstellationType constellation; + int svid; + long carrierFrequencyHz; + float probSatIsLos; + float combinedExcessPathLengthMeters; + float combinedExcessPathLengthUncertaintyMeters; + float combinedAttenuationDb; + android.hardware.gnss.measurement_corrections.SingleSatCorrection.ExcessPathInfo[] excessPathInfos; + const int SINGLE_SAT_CORRECTION_HAS_SAT_IS_LOS_PROBABILITY = 0x0001; + const int SINGLE_SAT_CORRECTION_HAS_COMBINED_EXCESS_PATH_LENGTH = 0x0002; + const int SINGLE_SAT_CORRECTION_HAS_COMBINED_EXCESS_PATH_LENGTH_UNC = 0x0004; + const int SINGLE_SAT_CORRECTION_HAS_COMBINED_ATTENUATION = 0x0010; + @VintfStability + parcelable ExcessPathInfo { + int excessPathInfoFlags; + float excessPathLengthMeters; + float excessPathLengthUncertaintyMeters; + android.hardware.gnss.measurement_corrections.ReflectingPlane reflectingPlane; + float attenuationDb; + const int EXCESS_PATH_INFO_HAS_EXCESS_PATH_LENGTH = 0x0001; + const int EXCESS_PATH_INFO_HAS_EXCESS_PATH_LENGTH_UNC = 0x0002; + const int EXCESS_PATH_INFO_HAS_REFLECTING_PLANE = 0x0004; + const int EXCESS_PATH_INFO_HAS_ATTENUATION = 0x0008; + } +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControl.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControl.aidl new file mode 100644 index 0000000000..d7a7a9651f --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControl.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.visibility_control; +/* @hide */ +@VintfStability +interface IGnssVisibilityControl { + void enableNfwLocationAccess(in @utf8InCpp String[] proxyApps); + void setCallback(in android.hardware.gnss.visibility_control.IGnssVisibilityControlCallback callback); +} diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback.aidl new file mode 100644 index 0000000000..c9b96f50bb --- /dev/null +++ b/gnss/aidl/aidl_api/android.hardware.gnss/4/android/hardware/gnss/visibility_control/IGnssVisibilityControlCallback.aidl @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.gnss.visibility_control; +/* @hide */ +@VintfStability +interface IGnssVisibilityControlCallback { + void nfwNotifyCb(in android.hardware.gnss.visibility_control.IGnssVisibilityControlCallback.NfwNotification notification); + boolean isInEmergencySession(); + @Backing(type="int") @VintfStability + enum NfwProtocolStack { + CTRL_PLANE = 0, + SUPL = 1, + IMS = 10, + SIM = 11, + OTHER_PROTOCOL_STACK = 100, + } + @Backing(type="int") @VintfStability + enum NfwRequestor { + CARRIER = 0, + OEM = 10, + MODEM_CHIPSET_VENDOR = 11, + GNSS_CHIPSET_VENDOR = 12, + OTHER_CHIPSET_VENDOR = 13, + AUTOMOBILE_CLIENT = 20, + OTHER_REQUESTOR = 100, + } + @Backing(type="int") @VintfStability + enum NfwResponseType { + REJECTED = 0, + ACCEPTED_NO_LOCATION_PROVIDED = 1, + ACCEPTED_LOCATION_PROVIDED = 2, + } + @VintfStability + parcelable NfwNotification { + String proxyAppPackageName; + android.hardware.gnss.visibility_control.IGnssVisibilityControlCallback.NfwProtocolStack protocolStack; + String otherProtocolStackName; + android.hardware.gnss.visibility_control.IGnssVisibilityControlCallback.NfwRequestor requestor; + String requestorId; + android.hardware.gnss.visibility_control.IGnssVisibilityControlCallback.NfwResponseType responseType; + boolean inEmergencyMode; + boolean isCachedLocation; + } +} diff --git a/graphics/common/aidl/Android.bp b/graphics/common/aidl/Android.bp index 605299f818..570f735e1e 100644 --- a/graphics/common/aidl/Android.bp +++ b/graphics/common/aidl/Android.bp @@ -44,7 +44,7 @@ aidl_interface { enabled: true, }, }, - frozen: false, + frozen: true, versions_with_info: [ { version: "1", @@ -68,6 +68,10 @@ aidl_interface { version: "4", imports: ["android.hardware.common-V2"], }, + { + version: "5", + imports: ["android.hardware.common-V2"], + }, ], } diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/.hash b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/.hash new file mode 100644 index 0000000000..867997340a --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/.hash @@ -0,0 +1 @@ +2ffe8da1136972e9b6bed7903f0d5aca289005a9 diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/AlphaInterpretation.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/AlphaInterpretation.aidl new file mode 100644 index 0000000000..ea60283fe1 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/AlphaInterpretation.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum AlphaInterpretation { + COVERAGE = 0, + MASK = 1, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BlendMode.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BlendMode.aidl new file mode 100644 index 0000000000..d1f61beee8 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BlendMode.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum BlendMode { + INVALID = 0, + NONE = 1, + PREMULTIPLIED = 2, + COVERAGE = 3, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BufferUsage.aidl new file mode 100644 index 0000000000..52b2a56cb7 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/BufferUsage.aidl @@ -0,0 +1,65 @@ +/* + * Copyright 2019 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum BufferUsage { + CPU_READ_MASK = 0xf, + CPU_READ_NEVER = 0, + CPU_READ_RARELY = 2, + CPU_READ_OFTEN = 3, + CPU_WRITE_MASK = (0xf << 4) /* 240 */, + CPU_WRITE_NEVER = (0 << 4) /* 0 */, + CPU_WRITE_RARELY = (2 << 4) /* 32 */, + CPU_WRITE_OFTEN = (3 << 4) /* 48 */, + GPU_TEXTURE = (1 << 8) /* 256 */, + GPU_RENDER_TARGET = (1 << 9) /* 512 */, + COMPOSER_OVERLAY = (1 << 11) /* 2048 */, + COMPOSER_CLIENT_TARGET = (1 << 12) /* 4096 */, + PROTECTED = (1 << 14) /* 16384 */, + COMPOSER_CURSOR = (1 << 15) /* 32768 */, + VIDEO_ENCODER = (1 << 16) /* 65536 */, + CAMERA_OUTPUT = (1 << 17) /* 131072 */, + CAMERA_INPUT = (1 << 18) /* 262144 */, + RENDERSCRIPT = (1 << 20) /* 1048576 */, + VIDEO_DECODER = (1 << 22) /* 4194304 */, + SENSOR_DIRECT_DATA = (1 << 23) /* 8388608 */, + GPU_DATA_BUFFER = (1 << 24) /* 16777216 */, + GPU_CUBE_MAP = (1 << 25) /* 33554432 */, + GPU_MIPMAP_COMPLETE = (1 << 26) /* 67108864 */, + HW_IMAGE_ENCODER = (1 << 27) /* 134217728 */, + FRONT_BUFFER = (1L << 32) /* 4294967296 */, + VENDOR_MASK = (0xfL << 28) /* 4026531840 */, + VENDOR_MASK_HI = ((1L * 0xffff) << 48) /* -281474976710656 */, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ChromaSiting.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ChromaSiting.aidl new file mode 100644 index 0000000000..784fc1798a --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ChromaSiting.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum ChromaSiting { + NONE = 0, + UNKNOWN = 1, + SITED_INTERSTITIAL = 2, + COSITED_HORIZONTAL = 3, + COSITED_VERTICAL = 4, + COSITED_BOTH = 5, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ColorTransform.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ColorTransform.aidl new file mode 100644 index 0000000000..f74859b788 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ColorTransform.aidl @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum ColorTransform { + IDENTITY = 0, + ARBITRARY_MATRIX = 1, + VALUE_INVERSE = 2, + GRAYSCALE = 3, + CORRECT_PROTANOPIA = 4, + CORRECT_DEUTERANOPIA = 5, + CORRECT_TRITANOPIA = 6, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Compression.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Compression.aidl new file mode 100644 index 0000000000..4f155e19a9 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Compression.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum Compression { + NONE = 0, + DISPLAY_STREAM_COMPRESSION = 1, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Cta861_3.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Cta861_3.aidl new file mode 100644 index 0000000000..ec90c9c64f --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Cta861_3.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable Cta861_3 { + float maxContentLightLevel; + float maxFrameAverageLightLevel; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Dataspace.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Dataspace.aidl new file mode 100644 index 0000000000..6ed5bb2183 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Dataspace.aidl @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum Dataspace { + UNKNOWN = 0x0, + ARBITRARY = 0x1, + STANDARD_SHIFT = 16, + STANDARD_MASK = (63 << 16) /* 4128768 */, + STANDARD_UNSPECIFIED = (0 << 16) /* 0 */, + STANDARD_BT709 = (1 << 16) /* 65536 */, + STANDARD_BT601_625 = (2 << 16) /* 131072 */, + STANDARD_BT601_625_UNADJUSTED = (3 << 16) /* 196608 */, + STANDARD_BT601_525 = (4 << 16) /* 262144 */, + STANDARD_BT601_525_UNADJUSTED = (5 << 16) /* 327680 */, + STANDARD_BT2020 = (6 << 16) /* 393216 */, + STANDARD_BT2020_CONSTANT_LUMINANCE = (7 << 16) /* 458752 */, + STANDARD_BT470M = (8 << 16) /* 524288 */, + STANDARD_FILM = (9 << 16) /* 589824 */, + STANDARD_DCI_P3 = (10 << 16) /* 655360 */, + STANDARD_ADOBE_RGB = (11 << 16) /* 720896 */, + TRANSFER_SHIFT = 22, + TRANSFER_MASK = (31 << 22) /* 130023424 */, + TRANSFER_UNSPECIFIED = (0 << 22) /* 0 */, + TRANSFER_LINEAR = (1 << 22) /* 4194304 */, + TRANSFER_SRGB = (2 << 22) /* 8388608 */, + TRANSFER_SMPTE_170M = (3 << 22) /* 12582912 */, + TRANSFER_GAMMA2_2 = (4 << 22) /* 16777216 */, + TRANSFER_GAMMA2_6 = (5 << 22) /* 20971520 */, + TRANSFER_GAMMA2_8 = (6 << 22) /* 25165824 */, + TRANSFER_ST2084 = (7 << 22) /* 29360128 */, + TRANSFER_HLG = (8 << 22) /* 33554432 */, + RANGE_SHIFT = 27, + RANGE_MASK = (7 << 27) /* 939524096 */, + RANGE_UNSPECIFIED = (0 << 27) /* 0 */, + RANGE_FULL = (1 << 27) /* 134217728 */, + RANGE_LIMITED = (2 << 27) /* 268435456 */, + RANGE_EXTENDED = (3 << 27) /* 402653184 */, + SRGB_LINEAR = (((1 << 16) | (1 << 22)) | (1 << 27)) /* 138477568 */, + SCRGB_LINEAR = (((1 << 16) | (1 << 22)) | (3 << 27)) /* 406913024 */, + SRGB = (((1 << 16) | (2 << 22)) | (1 << 27)) /* 142671872 */, + SCRGB = (((1 << 16) | (2 << 22)) | (3 << 27)) /* 411107328 */, + JFIF = (((2 << 16) | (3 << 22)) | (1 << 27)) /* 146931712 */, + BT601_625 = (((2 << 16) | (3 << 22)) | (2 << 27)) /* 281149440 */, + BT601_525 = (((4 << 16) | (3 << 22)) | (2 << 27)) /* 281280512 */, + BT709 = (((1 << 16) | (3 << 22)) | (2 << 27)) /* 281083904 */, + DCI_P3_LINEAR = (((10 << 16) | (1 << 22)) | (1 << 27)) /* 139067392 */, + DCI_P3 = (((10 << 16) | (5 << 22)) | (1 << 27)) /* 155844608 */, + DISPLAY_P3_LINEAR = (((10 << 16) | (1 << 22)) | (1 << 27)) /* 139067392 */, + DISPLAY_P3 = (((10 << 16) | (2 << 22)) | (1 << 27)) /* 143261696 */, + ADOBE_RGB = (((11 << 16) | (4 << 22)) | (1 << 27)) /* 151715840 */, + ADOBE_RGB_LINEAR = (((11 << 16) | (1 << 22)) | (1 << 27)) /* 139132928 */, + BT2020_LINEAR = (((6 << 16) | (1 << 22)) | (1 << 27)) /* 138805248 */, + BT2020 = (((6 << 16) | (3 << 22)) | (1 << 27)) /* 147193856 */, + BT2020_PQ = (((6 << 16) | (7 << 22)) | (1 << 27)) /* 163971072 */, + BT2020_LINEAR_EXTENDED = (((6 << 16) | (1 << 22)) | (3 << 27)) /* 407240704 */, + DEPTH = 0x1000, + SENSOR = 0x1001, + BT2020_ITU = (((6 << 16) | (3 << 22)) | (2 << 27)) /* 281411584 */, + BT2020_ITU_PQ = (((6 << 16) | (7 << 22)) | (2 << 27)) /* 298188800 */, + BT2020_ITU_HLG = (((6 << 16) | (8 << 22)) | (2 << 27)) /* 302383104 */, + BT2020_HLG = (((6 << 16) | (8 << 22)) | (1 << 27)) /* 168165376 */, + DISPLAY_BT2020 = (((6 << 16) | (2 << 22)) | (1 << 27)) /* 142999552 */, + DYNAMIC_DEPTH = 0x1002, + JPEG_APP_SEGMENTS = 0x1003, + HEIF = 0x1004, + JPEG_R = 0x1005, + BT709_FULL_RANGE = (((1 << 16) | (3 << 22)) | (1 << 27)) /* 146866176 */, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayDecorationSupport.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayDecorationSupport.aidl new file mode 100644 index 0000000000..27eff76432 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayDecorationSupport.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable DisplayDecorationSupport { + android.hardware.graphics.common.PixelFormat format; + android.hardware.graphics.common.AlphaInterpretation alphaInterpretation; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayHotplugEvent.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayHotplugEvent.aidl new file mode 100644 index 0000000000..63dca0aab5 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/DisplayHotplugEvent.aidl @@ -0,0 +1,42 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +@Backing(type="int") @VintfStability +enum DisplayHotplugEvent { + CONNECTED = 0, + DISCONNECTED = 1, + ERROR_UNKNOWN = (-1) /* -1 */, + ERROR_INCOMPATIBLE_CABLE = (-2) /* -2 */, + ERROR_TOO_MANY_DISPLAYS = (-3) /* -3 */, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ExtendableType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ExtendableType.aidl new file mode 100644 index 0000000000..5ff17752f7 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/ExtendableType.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable ExtendableType { + @utf8InCpp String name; + long value = 0; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/FRect.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/FRect.aidl new file mode 100644 index 0000000000..7972e111e2 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/FRect.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable FRect { + float left; + float top; + float right; + float bottom; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBuffer.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBuffer.aidl new file mode 100644 index 0000000000..0fe949304c --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBuffer.aidl @@ -0,0 +1,43 @@ +/* + * Copyright 2019 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/** + * @hide + * @deprecated : Use instead android.hardware.HardwareBuffer in frameworks/base + */ +@VintfStability +parcelable HardwareBuffer { + android.hardware.graphics.common.HardwareBufferDescription description; + android.hardware.common.NativeHandle handle; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBufferDescription.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBufferDescription.aidl new file mode 100644 index 0000000000..70f46a1e6c --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HardwareBufferDescription.aidl @@ -0,0 +1,44 @@ +/* + * Copyright 2019 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable HardwareBufferDescription { + int width; + int height; + int layers; + android.hardware.graphics.common.PixelFormat format = android.hardware.graphics.common.PixelFormat.UNSPECIFIED; + android.hardware.graphics.common.BufferUsage usage = android.hardware.graphics.common.BufferUsage.CPU_READ_NEVER; + int stride; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Hdr.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Hdr.aidl new file mode 100644 index 0000000000..71927b6fbf --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Hdr.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum Hdr { + INVALID = 0, + DOLBY_VISION = 1, + HDR10 = 2, + HLG = 3, + HDR10_PLUS = 4, + DOLBY_VISION_4K30 = 5, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionCapability.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionCapability.aidl new file mode 100644 index 0000000000..b74f7d7ce5 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionCapability.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +@VintfStability +parcelable HdrConversionCapability { + android.hardware.graphics.common.Hdr sourceType; + android.hardware.graphics.common.Hdr outputType; + boolean addsLatency; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionStrategy.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionStrategy.aidl new file mode 100644 index 0000000000..db785cf63f --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/HdrConversionStrategy.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +@VintfStability +union HdrConversionStrategy { + boolean passthrough = true; + android.hardware.graphics.common.Hdr[] autoAllowedHdrTypes; + android.hardware.graphics.common.Hdr forceHdrConversion; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Interlaced.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Interlaced.aidl new file mode 100644 index 0000000000..e04d2ab2bd --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Interlaced.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum Interlaced { + NONE = 0, + TOP_BOTTOM = 1, + RIGHT_LEFT = 2, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PixelFormat.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PixelFormat.aidl new file mode 100644 index 0000000000..ed84a44b4f --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PixelFormat.aidl @@ -0,0 +1,71 @@ +/* + * Copyright 2019 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum PixelFormat { + UNSPECIFIED = 0, + RGBA_8888 = 0x1, + RGBX_8888 = 0x2, + RGB_888 = 0x3, + RGB_565 = 0x4, + BGRA_8888 = 0x5, + YCBCR_422_SP = 0x10, + YCRCB_420_SP = 0x11, + YCBCR_422_I = 0x14, + RGBA_FP16 = 0x16, + RAW16 = 0x20, + BLOB = 0x21, + IMPLEMENTATION_DEFINED = 0x22, + YCBCR_420_888 = 0x23, + RAW_OPAQUE = 0x24, + RAW10 = 0x25, + RAW12 = 0x26, + RGBA_1010102 = 0x2B, + Y8 = 0x20203859, + Y16 = 0x20363159, + YV12 = 0x32315659, + DEPTH_16 = 0x30, + DEPTH_24 = 0x31, + DEPTH_24_STENCIL_8 = 0x32, + DEPTH_32F = 0x33, + DEPTH_32F_STENCIL_8 = 0x34, + STENCIL_8 = 0x35, + YCBCR_P010 = 0x36, + HSV_888 = 0x37, + R_8 = 0x38, + R_16_UINT = 0x39, + RG_1616_UINT = 0x3a, + RGBA_10101010 = 0x3b, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayout.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayout.aidl new file mode 100644 index 0000000000..a09097511b --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayout.aidl @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable PlaneLayout { + android.hardware.graphics.common.PlaneLayoutComponent[] components; + long offsetInBytes; + long sampleIncrementInBits; + long strideInBytes; + long widthInSamples; + long heightInSamples; + long totalSizeInBytes; + long horizontalSubsampling; + long verticalSubsampling; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponent.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponent.aidl new file mode 100644 index 0000000000..0768240bf5 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponent.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable PlaneLayoutComponent { + android.hardware.graphics.common.ExtendableType type; + long offsetInBits; + long sizeInBits; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponentType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponentType.aidl new file mode 100644 index 0000000000..e3067515fd --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/PlaneLayoutComponentType.aidl @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum PlaneLayoutComponentType { + Y = (1 << 0) /* 1 */, + CB = (1 << 1) /* 2 */, + CR = (1 << 2) /* 4 */, + R = (1 << 10) /* 1024 */, + G = (1 << 11) /* 2048 */, + B = (1 << 12) /* 4096 */, + RAW = (1 << 20) /* 1048576 */, + A = (1 << 30) /* 1073741824 */, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Point.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Point.aidl new file mode 100644 index 0000000000..af4705a1e4 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Point.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable Point { + int x; + int y; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Rect.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Rect.aidl new file mode 100644 index 0000000000..463a68f973 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Rect.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable Rect { + int left; + int top; + int right; + int bottom; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Smpte2086.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Smpte2086.aidl new file mode 100644 index 0000000000..dce9226c09 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Smpte2086.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable Smpte2086 { + android.hardware.graphics.common.XyColor primaryRed; + android.hardware.graphics.common.XyColor primaryGreen; + android.hardware.graphics.common.XyColor primaryBlue; + android.hardware.graphics.common.XyColor whitePoint; + float maxLuminance; + float minLuminance; +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/StandardMetadataType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/StandardMetadataType.aidl new file mode 100644 index 0000000000..6e2e1063c3 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/StandardMetadataType.aidl @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2019,libgralloctypes_helper 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="long") @VintfStability +enum StandardMetadataType { + INVALID = 0, + BUFFER_ID = 1, + NAME = 2, + WIDTH = 3, + HEIGHT = 4, + LAYER_COUNT = 5, + PIXEL_FORMAT_REQUESTED = 6, + PIXEL_FORMAT_FOURCC = 7, + PIXEL_FORMAT_MODIFIER = 8, + USAGE = 9, + ALLOCATION_SIZE = 10, + PROTECTED_CONTENT = 11, + COMPRESSION = 12, + INTERLACED = 13, + CHROMA_SITING = 14, + PLANE_LAYOUTS = 15, + CROP = 16, + DATASPACE = 17, + BLEND_MODE = 18, + SMPTE2086 = 19, + CTA861_3 = 20, + SMPTE2094_40 = 21, + SMPTE2094_10 = 22, + STRIDE = 23, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Transform.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Transform.aidl new file mode 100644 index 0000000000..dbed57dae6 --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/Transform.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@Backing(type="int") @VintfStability +enum Transform { + NONE = 0, + FLIP_H = (1 << 0) /* 1 */, + FLIP_V = (1 << 1) /* 2 */, + ROT_90 = (1 << 2) /* 4 */, + ROT_180 = (FLIP_H | FLIP_V) /* 3 */, + ROT_270 = ((FLIP_H | FLIP_V) | ROT_90) /* 7 */, +} diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/XyColor.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/XyColor.aidl new file mode 100644 index 0000000000..e300f25dad --- /dev/null +++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/5/android/hardware/graphics/common/XyColor.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2019, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.common; +/* @hide */ +@VintfStability +parcelable XyColor { + float x; + float y; +} diff --git a/graphics/composer/aidl/Android.bp b/graphics/composer/aidl/Android.bp index d60f8c4d39..87ecb16a2f 100644 --- a/graphics/composer/aidl/Android.bp +++ b/graphics/composer/aidl/Android.bp @@ -32,7 +32,7 @@ aidl_interface { enabled: true, support_system_process: true, }, - frozen: false, + frozen: true, vndk_use_version: "1", srcs: [ "android/hardware/graphics/composer3/*.aidl", @@ -74,6 +74,13 @@ aidl_interface { "android.hardware.common-V2", ], }, + { + version: "3", + imports: [ + "android.hardware.graphics.common-V5", + "android.hardware.common-V2", + ], + }, ], diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/.hash b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/.hash new file mode 100644 index 0000000000..f64da11395 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/.hash @@ -0,0 +1 @@ +d24fcd9648b8b2e7287f9238eee9180244612c10 diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Buffer.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Buffer.aidl new file mode 100644 index 0000000000..a33ad23323 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Buffer.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable Buffer { + int slot; + @nullable android.hardware.common.NativeHandle handle; + @nullable ParcelFileDescriptor fence; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Capability.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Capability.aidl new file mode 100644 index 0000000000..ee004d6ef2 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Capability.aidl @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum Capability { + INVALID = 0, + SIDEBAND_STREAM = 1, + SKIP_CLIENT_COLOR_TRANSFORM = 2, + PRESENT_FENCE_IS_NOT_RELIABLE = 3, + /** + * @deprecated - enabled by default. + */ + SKIP_VALIDATE = 4, + BOOT_DISPLAY_CONFIG = 5, + HDR_OUTPUT_CONVERSION_CONFIG = 6, + REFRESH_RATE_CHANGED_CALLBACK_DEBUG = 7, + LAYER_LIFECYCLE_BATCH_COMMAND = 8, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionLayer.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionLayer.aidl new file mode 100644 index 0000000000..7e47ba8b5e --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionLayer.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ChangedCompositionLayer { + long layer; + android.hardware.graphics.composer3.Composition composition; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionTypes.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionTypes.aidl new file mode 100644 index 0000000000..9a5ca9700d --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ChangedCompositionTypes.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ChangedCompositionTypes { + long display; + android.hardware.graphics.composer3.ChangedCompositionLayer[] layers; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTarget.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTarget.aidl new file mode 100644 index 0000000000..06ed922e94 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTarget.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ClientTarget { + android.hardware.graphics.composer3.Buffer buffer; + android.hardware.graphics.common.Dataspace dataspace; + android.hardware.graphics.common.Rect[] damage; + float hdrSdrRatio = 1.0f; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetProperty.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetProperty.aidl new file mode 100644 index 0000000000..d34d1b0ab8 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetProperty.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ClientTargetProperty { + android.hardware.graphics.common.PixelFormat pixelFormat; + android.hardware.graphics.common.Dataspace dataspace; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetPropertyWithBrightness.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetPropertyWithBrightness.aidl new file mode 100644 index 0000000000..8fb6933c95 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClientTargetPropertyWithBrightness.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ClientTargetPropertyWithBrightness { + long display; + android.hardware.graphics.composer3.ClientTargetProperty clientTargetProperty; + float brightness; + android.hardware.graphics.composer3.DimmingStage dimmingStage; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClockMonotonicTimestamp.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClockMonotonicTimestamp.aidl new file mode 100644 index 0000000000..480a85c27f --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ClockMonotonicTimestamp.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ClockMonotonicTimestamp { + long timestampNanos; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Color.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Color.aidl new file mode 100644 index 0000000000..822290908e --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Color.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable Color { + float r; + float g; + float b; + float a; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ColorMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ColorMode.aidl new file mode 100644 index 0000000000..53852b6270 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ColorMode.aidl @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum ColorMode { + NATIVE = 0, + STANDARD_BT601_625 = 1, + STANDARD_BT601_625_UNADJUSTED = 2, + STANDARD_BT601_525 = 3, + STANDARD_BT601_525_UNADJUSTED = 4, + STANDARD_BT709 = 5, + DCI_P3 = 6, + SRGB = 7, + ADOBE_RGB = 8, + DISPLAY_P3 = 9, + BT2020 = 10, + BT2100_PQ = 11, + BT2100_HLG = 12, + DISPLAY_BT2020 = 13, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandError.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandError.aidl new file mode 100644 index 0000000000..103bfdc689 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandError.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable CommandError { + int commandIndex; + int errorCode; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandResultPayload.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandResultPayload.aidl new file mode 100644 index 0000000000..6892f06180 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/CommandResultPayload.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +union CommandResultPayload { + android.hardware.graphics.composer3.CommandError error; + android.hardware.graphics.composer3.ChangedCompositionTypes changedCompositionTypes; + android.hardware.graphics.composer3.DisplayRequest displayRequest; + android.hardware.graphics.composer3.PresentFence presentFence; + android.hardware.graphics.composer3.ReleaseFences releaseFences; + android.hardware.graphics.composer3.PresentOrValidate presentOrValidateResult; + android.hardware.graphics.composer3.ClientTargetPropertyWithBrightness clientTargetProperty; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Composition.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Composition.aidl new file mode 100644 index 0000000000..34d6822148 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/Composition.aidl @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum Composition { + INVALID = 0, + CLIENT = 1, + DEVICE = 2, + SOLID_COLOR = 3, + CURSOR = 4, + SIDEBAND = 5, + DISPLAY_DECORATION = 6, + REFRESH_RATE_INDICATOR = 7, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ContentType.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ContentType.aidl new file mode 100644 index 0000000000..d87b7670dd --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ContentType.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum ContentType { + NONE = 0, + GRAPHICS = 1, + PHOTO = 2, + CINEMA = 3, + GAME = 4, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DimmingStage.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DimmingStage.aidl new file mode 100644 index 0000000000..44457f8ec1 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DimmingStage.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum DimmingStage { + NONE = 0, + LINEAR = 1, + GAMMA_OETF = 2, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayAttribute.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayAttribute.aidl new file mode 100644 index 0000000000..8454c40dbe --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayAttribute.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum DisplayAttribute { + INVALID = 0, + WIDTH = 1, + HEIGHT = 2, + VSYNC_PERIOD = 3, + DPI_X = 4, + DPI_Y = 5, + CONFIG_GROUP = 7, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayBrightness.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayBrightness.aidl new file mode 100644 index 0000000000..e765189b96 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayBrightness.aidl @@ -0,0 +1,39 @@ +/** + * Copyright 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayBrightness { + float brightness; + float brightnessNits; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCapability.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCapability.aidl new file mode 100644 index 0000000000..0e2d72bae0 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCapability.aidl @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum DisplayCapability { + INVALID = 0, + SKIP_CLIENT_COLOR_TRANSFORM = 1, + DOZE = 2, + BRIGHTNESS = 3, + PROTECTED_CONTENTS = 4, + AUTO_LOW_LATENCY_MODE = 5, + SUSPEND = 6, + DISPLAY_IDLE_TIMER = 7, + MULTI_THREADED_PRESENT = 8, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCommand.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCommand.aidl new file mode 100644 index 0000000000..cce35e79ab --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayCommand.aidl @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayCommand { + long display; + android.hardware.graphics.composer3.LayerCommand[] layers; + @nullable float[] colorTransformMatrix; + @nullable android.hardware.graphics.composer3.DisplayBrightness brightness; + @nullable android.hardware.graphics.composer3.ClientTarget clientTarget; + @nullable android.hardware.graphics.composer3.Buffer virtualDisplayOutputBuffer; + @nullable android.hardware.graphics.composer3.ClockMonotonicTimestamp expectedPresentTime; + boolean validateDisplay; + boolean acceptDisplayChanges; + boolean presentDisplay; + boolean presentOrValidateDisplay; + int frameIntervalNs; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConfiguration.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConfiguration.aidl new file mode 100644 index 0000000000..040afd7866 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConfiguration.aidl @@ -0,0 +1,48 @@ +/** + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayConfiguration { + int configId; + int width; + int height; + @nullable android.hardware.graphics.composer3.DisplayConfiguration.Dpi dpi; + int configGroup; + int vsyncPeriod; + @nullable android.hardware.graphics.composer3.VrrConfig vrrConfig; + parcelable Dpi { + float x; + float y; + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConnectionType.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConnectionType.aidl new file mode 100644 index 0000000000..640f82a0cd --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayConnectionType.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum DisplayConnectionType { + INTERNAL = 0, + EXTERNAL = 1, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSample.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSample.aidl new file mode 100644 index 0000000000..c62453634f --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSample.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayContentSample { + long frameCount; + long[] sampleComponent0; + long[] sampleComponent1; + long[] sampleComponent2; + long[] sampleComponent3; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl new file mode 100644 index 0000000000..7c6542f527 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayContentSamplingAttributes { + android.hardware.graphics.common.PixelFormat format; + android.hardware.graphics.common.Dataspace dataspace; + android.hardware.graphics.composer3.FormatColorComponent componentMask; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayIdentification.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayIdentification.aidl new file mode 100644 index 0000000000..a0cc9b097b --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayIdentification.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayIdentification { + byte port; + byte[] data; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayRequest.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayRequest.aidl new file mode 100644 index 0000000000..e6db116398 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/DisplayRequest.aidl @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable DisplayRequest { + long display; + int mask; + android.hardware.graphics.composer3.DisplayRequest.LayerRequest[] layerRequests; + const int FLIP_CLIENT_TARGET = (1 << 0) /* 1 */; + const int WRITE_CLIENT_TARGET_TO_OUTPUT = (1 << 1) /* 2 */; + @VintfStability + parcelable LayerRequest { + long layer; + int mask; + const int CLEAR_CLIENT_TARGET = (1 << 0) /* 1 */; + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/FormatColorComponent.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/FormatColorComponent.aidl new file mode 100644 index 0000000000..89dae83bbe --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/FormatColorComponent.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="byte") @VintfStability +enum FormatColorComponent { + FORMAT_COMPONENT_0 = (1 << 0) /* 1 */, + FORMAT_COMPONENT_1 = (1 << 1) /* 2 */, + FORMAT_COMPONENT_2 = (1 << 2) /* 4 */, + FORMAT_COMPONENT_3 = (1 << 3) /* 8 */, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/HdrCapabilities.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/HdrCapabilities.aidl new file mode 100644 index 0000000000..80141d3543 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/HdrCapabilities.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable HdrCapabilities { + android.hardware.graphics.common.Hdr[] types; + float maxLuminance; + float maxAverageLuminance; + float minLuminance; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposer.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposer.aidl new file mode 100644 index 0000000000..21b9ad88cd --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposer.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +interface IComposer { + android.hardware.graphics.composer3.IComposerClient createClient(); + android.hardware.graphics.composer3.Capability[] getCapabilities(); + const int EX_NO_RESOURCES = 6; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerCallback.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerCallback.aidl new file mode 100644 index 0000000000..e64bd5273e --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerCallback.aidl @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +interface IComposerCallback { + /** + * @deprecated : Use instead onHotplugEvent + */ + void onHotplug(long display, boolean connected); + oneway void onRefresh(long display); + oneway void onSeamlessPossible(long display); + oneway void onVsync(long display, long timestamp, int vsyncPeriodNanos); + oneway void onVsyncPeriodTimingChanged(long display, in android.hardware.graphics.composer3.VsyncPeriodChangeTimeline updatedTimeline); + oneway void onVsyncIdle(long display); + oneway void onRefreshRateChangedDebug(in android.hardware.graphics.composer3.RefreshRateChangedDebugData data); + void onHotplugEvent(long display, android.hardware.graphics.common.DisplayHotplugEvent event); +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerClient.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerClient.aidl new file mode 100644 index 0000000000..bc27cc7ec4 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/IComposerClient.aidl @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +interface IComposerClient { + long createLayer(long display, int bufferSlotCount); + android.hardware.graphics.composer3.VirtualDisplay createVirtualDisplay(int width, int height, android.hardware.graphics.common.PixelFormat formatHint, int outputBufferSlotCount); + void destroyLayer(long display, long layer); + void destroyVirtualDisplay(long display); + android.hardware.graphics.composer3.CommandResultPayload[] executeCommands(in android.hardware.graphics.composer3.DisplayCommand[] commands); + int getActiveConfig(long display); + android.hardware.graphics.composer3.ColorMode[] getColorModes(long display); + float[] getDataspaceSaturationMatrix(android.hardware.graphics.common.Dataspace dataspace); + /** + * @deprecated use getDisplayConfigurations instead. Returns a display attribute value for a particular display configuration. For legacy support getDisplayAttribute should return valid values for any requested DisplayAttribute, and for all of the configs obtained either through getDisplayConfigs or getDisplayConfigurations. + */ + int getDisplayAttribute(long display, int config, android.hardware.graphics.composer3.DisplayAttribute attribute); + android.hardware.graphics.composer3.DisplayCapability[] getDisplayCapabilities(long display); + /** + * @deprecated use getDisplayConfigurations instead. For legacy support getDisplayConfigs should return at least one valid config. All the configs returned from the getDisplayConfigs should also be returned from getDisplayConfigurations. + */ + int[] getDisplayConfigs(long display); + android.hardware.graphics.composer3.DisplayConnectionType getDisplayConnectionType(long display); + android.hardware.graphics.composer3.DisplayIdentification getDisplayIdentificationData(long display); + String getDisplayName(long display); + int getDisplayVsyncPeriod(long display); + android.hardware.graphics.composer3.DisplayContentSample getDisplayedContentSample(long display, long maxFrames, long timestamp); + android.hardware.graphics.composer3.DisplayContentSamplingAttributes getDisplayedContentSamplingAttributes(long display); + android.hardware.graphics.common.Transform getDisplayPhysicalOrientation(long display); + android.hardware.graphics.composer3.HdrCapabilities getHdrCapabilities(long display); + int getMaxVirtualDisplayCount(); + android.hardware.graphics.composer3.PerFrameMetadataKey[] getPerFrameMetadataKeys(long display); + android.hardware.graphics.composer3.ReadbackBufferAttributes getReadbackBufferAttributes(long display); + @nullable ParcelFileDescriptor getReadbackBufferFence(long display); + android.hardware.graphics.composer3.RenderIntent[] getRenderIntents(long display, android.hardware.graphics.composer3.ColorMode mode); + android.hardware.graphics.composer3.ContentType[] getSupportedContentTypes(long display); + @nullable android.hardware.graphics.common.DisplayDecorationSupport getDisplayDecorationSupport(long display); + void registerCallback(in android.hardware.graphics.composer3.IComposerCallback callback); + void setActiveConfig(long display, int config); + android.hardware.graphics.composer3.VsyncPeriodChangeTimeline setActiveConfigWithConstraints(long display, int config, in android.hardware.graphics.composer3.VsyncPeriodChangeConstraints vsyncPeriodChangeConstraints); + void setBootDisplayConfig(long display, int config); + void clearBootDisplayConfig(long display); + int getPreferredBootDisplayConfig(long display); + void setAutoLowLatencyMode(long display, boolean on); + void setClientTargetSlotCount(long display, int clientTargetSlotCount); + void setColorMode(long display, android.hardware.graphics.composer3.ColorMode mode, android.hardware.graphics.composer3.RenderIntent intent); + void setContentType(long display, android.hardware.graphics.composer3.ContentType type); + void setDisplayedContentSamplingEnabled(long display, boolean enable, android.hardware.graphics.composer3.FormatColorComponent componentMask, long maxFrames); + void setPowerMode(long display, android.hardware.graphics.composer3.PowerMode mode); + void setReadbackBuffer(long display, in android.hardware.common.NativeHandle buffer, in @nullable ParcelFileDescriptor releaseFence); + void setVsyncEnabled(long display, boolean enabled); + void setIdleTimerEnabled(long display, int timeoutMs); + android.hardware.graphics.composer3.OverlayProperties getOverlaySupport(); + android.hardware.graphics.common.HdrConversionCapability[] getHdrConversionCapabilities(); + android.hardware.graphics.common.Hdr setHdrConversionStrategy(in android.hardware.graphics.common.HdrConversionStrategy conversionStrategy); + void setRefreshRateChangedCallbackDebugEnabled(long display, boolean enabled); + android.hardware.graphics.composer3.DisplayConfiguration[] getDisplayConfigurations(long display, int maxFrameIntervalNs); + oneway void notifyExpectedPresent(long display, in android.hardware.graphics.composer3.ClockMonotonicTimestamp expectedPresentTime, int frameIntervalNs); + const int EX_BAD_CONFIG = 1; + const int EX_BAD_DISPLAY = 2; + const int EX_BAD_LAYER = 3; + const int EX_BAD_PARAMETER = 4; + const int EX_RESERVED = 5; + const int EX_NO_RESOURCES = 6; + const int EX_NOT_VALIDATED = 7; + const int EX_UNSUPPORTED = 8; + const int EX_SEAMLESS_NOT_ALLOWED = 9; + const int EX_SEAMLESS_NOT_POSSIBLE = 10; + const int INVALID_CONFIGURATION = 0x7fffffff; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerBrightness.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerBrightness.aidl new file mode 100644 index 0000000000..a726cc12bf --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerBrightness.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable LayerBrightness { + float brightness; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerCommand.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerCommand.aidl new file mode 100644 index 0000000000..87c8c18443 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerCommand.aidl @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable LayerCommand { + long layer; + @nullable android.hardware.graphics.common.Point cursorPosition; + @nullable android.hardware.graphics.composer3.Buffer buffer; + @nullable android.hardware.graphics.common.Rect[] damage; + @nullable android.hardware.graphics.composer3.ParcelableBlendMode blendMode; + @nullable android.hardware.graphics.composer3.Color color; + @nullable android.hardware.graphics.composer3.ParcelableComposition composition; + @nullable android.hardware.graphics.composer3.ParcelableDataspace dataspace; + @nullable android.hardware.graphics.common.Rect displayFrame; + @nullable android.hardware.graphics.composer3.PlaneAlpha planeAlpha; + @nullable android.hardware.common.NativeHandle sidebandStream; + @nullable android.hardware.graphics.common.FRect sourceCrop; + @nullable android.hardware.graphics.composer3.ParcelableTransform transform; + @nullable android.hardware.graphics.common.Rect[] visibleRegion; + @nullable android.hardware.graphics.composer3.ZOrder z; + @nullable float[] colorTransform; + @nullable android.hardware.graphics.composer3.LayerBrightness brightness; + @nullable android.hardware.graphics.composer3.PerFrameMetadata[] perFrameMetadata; + @nullable android.hardware.graphics.composer3.PerFrameMetadataBlob[] perFrameMetadataBlob; + @nullable android.hardware.graphics.common.Rect[] blockingRegion; + @nullable int[] bufferSlotsToClear; + android.hardware.graphics.composer3.LayerLifecycleBatchCommandType layerLifecycleBatchCommandType; + int newBufferSlotCount; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl new file mode 100644 index 0000000000..ac78cd51f9 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/LayerLifecycleBatchCommandType.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum LayerLifecycleBatchCommandType { + MODIFY = 0, + CREATE = 1, + DESTROY = 2, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/OverlayProperties.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/OverlayProperties.aidl new file mode 100644 index 0000000000..7d31ea3b1e --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/OverlayProperties.aidl @@ -0,0 +1,45 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable OverlayProperties { + android.hardware.graphics.composer3.OverlayProperties.SupportedBufferCombinations[] combinations; + boolean supportMixedColorSpaces; + parcelable SupportedBufferCombinations { + android.hardware.graphics.common.PixelFormat[] pixelFormats; + android.hardware.graphics.common.Dataspace[] standards; + android.hardware.graphics.common.Dataspace[] transfers; + android.hardware.graphics.common.Dataspace[] ranges; + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableBlendMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableBlendMode.aidl new file mode 100644 index 0000000000..f1fee5f376 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableBlendMode.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ParcelableBlendMode { + android.hardware.graphics.common.BlendMode blendMode; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableComposition.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableComposition.aidl new file mode 100644 index 0000000000..98fbb665e2 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableComposition.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ParcelableComposition { + android.hardware.graphics.composer3.Composition composition; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableDataspace.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableDataspace.aidl new file mode 100644 index 0000000000..76ecf85b9f --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableDataspace.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ParcelableDataspace { + android.hardware.graphics.common.Dataspace dataspace; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableTransform.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableTransform.aidl new file mode 100644 index 0000000000..b673656438 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ParcelableTransform.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ParcelableTransform { + android.hardware.graphics.common.Transform transform; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadata.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadata.aidl new file mode 100644 index 0000000000..cd1f351381 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadata.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable PerFrameMetadata { + android.hardware.graphics.composer3.PerFrameMetadataKey key; + float value; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl new file mode 100644 index 0000000000..c1e74d9e3d --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable PerFrameMetadataBlob { + android.hardware.graphics.composer3.PerFrameMetadataKey key; + byte[] blob; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl new file mode 100644 index 0000000000..10a7deef0a --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum PerFrameMetadataKey { + DISPLAY_RED_PRIMARY_X, + DISPLAY_RED_PRIMARY_Y, + DISPLAY_GREEN_PRIMARY_X, + DISPLAY_GREEN_PRIMARY_Y, + DISPLAY_BLUE_PRIMARY_X, + DISPLAY_BLUE_PRIMARY_Y, + WHITE_POINT_X, + WHITE_POINT_Y, + MAX_LUMINANCE, + MIN_LUMINANCE, + MAX_CONTENT_LIGHT_LEVEL, + MAX_FRAME_AVERAGE_LIGHT_LEVEL, + HDR10_PLUS_SEI, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PlaneAlpha.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PlaneAlpha.aidl new file mode 100644 index 0000000000..c48c2a8a34 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PlaneAlpha.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable PlaneAlpha { + float alpha; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PowerMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PowerMode.aidl new file mode 100644 index 0000000000..f587d4dfa8 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PowerMode.aidl @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum PowerMode { + OFF = 0, + DOZE = 1, + DOZE_SUSPEND = 3, + ON = 2, + ON_SUSPEND = 4, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentFence.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentFence.aidl new file mode 100644 index 0000000000..3bb09cdb34 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentFence.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable PresentFence { + long display; + ParcelFileDescriptor fence; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentOrValidate.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentOrValidate.aidl new file mode 100644 index 0000000000..dbfac2259d --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/PresentOrValidate.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable PresentOrValidate { + long display; + android.hardware.graphics.composer3.PresentOrValidate.Result result; + @VintfStability + enum Result { + Validated, + Presented, + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl new file mode 100644 index 0000000000..bb51bdc04a --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ReadbackBufferAttributes { + android.hardware.graphics.common.PixelFormat format; + android.hardware.graphics.common.Dataspace dataspace; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RefreshRateChangedDebugData.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RefreshRateChangedDebugData.aidl new file mode 100644 index 0000000000..e9305e152c --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RefreshRateChangedDebugData.aidl @@ -0,0 +1,40 @@ +/** + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable RefreshRateChangedDebugData { + long display; + int vsyncPeriodNanos; + int refreshPeriodNanos; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReleaseFences.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReleaseFences.aidl new file mode 100644 index 0000000000..d623661250 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ReleaseFences.aidl @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ReleaseFences { + long display; + android.hardware.graphics.composer3.ReleaseFences.Layer[] layers; + @VintfStability + parcelable Layer { + long layer; + ParcelFileDescriptor fence; + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RenderIntent.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RenderIntent.aidl new file mode 100644 index 0000000000..5670c10655 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/RenderIntent.aidl @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@Backing(type="int") @VintfStability +enum RenderIntent { + COLORIMETRIC = 0, + ENHANCE = 1, + TONE_MAP_COLORIMETRIC = 2, + TONE_MAP_ENHANCE = 3, +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VirtualDisplay.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VirtualDisplay.aidl new file mode 100644 index 0000000000..886be2e3d0 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VirtualDisplay.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable VirtualDisplay { + long display; + android.hardware.graphics.common.PixelFormat format; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VrrConfig.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VrrConfig.aidl new file mode 100644 index 0000000000..7377b4b3e5 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VrrConfig.aidl @@ -0,0 +1,48 @@ +/** + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable VrrConfig { + int minFrameIntervalNs; + @nullable android.hardware.graphics.composer3.VrrConfig.FrameIntervalPowerHint[] frameIntervalPowerHints; + @nullable android.hardware.graphics.composer3.VrrConfig.NotifyExpectedPresentConfig notifyExpectedPresentConfig; + parcelable FrameIntervalPowerHint { + int frameIntervalNs; + int averageRefreshPeriodNs; + } + parcelable NotifyExpectedPresentConfig { + int headsUpNs; + int timeoutNs; + } +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl new file mode 100644 index 0000000000..df38c11f58 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable VsyncPeriodChangeConstraints { + long desiredTimeNanos; + boolean seamlessRequired; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl new file mode 100644 index 0000000000..9fb3999e3e --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable VsyncPeriodChangeTimeline { + long newVsyncAppliedTimeNanos; + boolean refreshRequired; + long refreshTimeNanos; +} diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ZOrder.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ZOrder.aidl new file mode 100644 index 0000000000..ea96ea3a69 --- /dev/null +++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/3/android/hardware/graphics/composer3/ZOrder.aidl @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2021, 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.graphics.composer3; +@VintfStability +parcelable ZOrder { + int z; +} diff --git a/health/aidl/Android.bp b/health/aidl/Android.bp index 4691dd6432..97de0e2698 100644 --- a/health/aidl/Android.bp +++ b/health/aidl/Android.bp @@ -46,9 +46,13 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], - frozen: false, + frozen: true, } diff --git a/health/aidl/aidl_api/android.hardware.health/3/.hash b/health/aidl/aidl_api/android.hardware.health/3/.hash new file mode 100644 index 0000000000..40b6dbf119 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/.hash @@ -0,0 +1 @@ +3bab6273a5491102b29c9d7a1f0efa749533f46d diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryCapacityLevel.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryCapacityLevel.aidl new file mode 100644 index 0000000000..4d705887e5 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryCapacityLevel.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryCapacityLevel { + UNSUPPORTED = (-1) /* -1 */, + UNKNOWN, + CRITICAL, + LOW, + NORMAL, + HIGH, + FULL, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingPolicy.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingPolicy.aidl new file mode 100644 index 0000000000..42fbf95090 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingPolicy.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryChargingPolicy { + INVALID = 0, + DEFAULT = 1, + LONG_LIFE = 2, + ADAPTIVE = 3, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingState.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingState.aidl new file mode 100644 index 0000000000..e21eb28133 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryChargingState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryChargingState { + INVALID = 0, + NORMAL = 1, + TOO_COLD = 2, + TOO_HOT = 3, + LONG_LIFE = 4, + ADAPTIVE = 5, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealth.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealth.aidl new file mode 100644 index 0000000000..8d13198440 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealth.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryHealth { + UNKNOWN = 1, + GOOD = 2, + OVERHEAT = 3, + DEAD = 4, + OVER_VOLTAGE = 5, + UNSPECIFIED_FAILURE = 6, + COLD = 7, + FAIR = 8, + NOT_AVAILABLE = 11, + INCONSISTENT = 12, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealthData.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealthData.aidl new file mode 100644 index 0000000000..089c8ac3ae --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryHealthData.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +parcelable BatteryHealthData { + long batteryManufacturingDateSeconds; + long batteryFirstUsageSeconds; + long batteryStateOfHealth; + @nullable String batterySerialNumber; + android.hardware.health.BatteryPartStatus batteryPartStatus = android.hardware.health.BatteryPartStatus.UNSUPPORTED; +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryPartStatus.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryPartStatus.aidl new file mode 100644 index 0000000000..9303767975 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryPartStatus.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryPartStatus { + UNSUPPORTED = 0, + ORIGINAL = 1, + REPLACED = 2, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryStatus.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryStatus.aidl new file mode 100644 index 0000000000..340b2ecc3f --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/BatteryStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@Backing(type="int") @VintfStability +enum BatteryStatus { + UNKNOWN = 1, + CHARGING = 2, + DISCHARGING = 3, + NOT_CHARGING = 4, + FULL = 5, +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/DiskStats.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/DiskStats.aidl new file mode 100644 index 0000000000..5aa58900bb --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/DiskStats.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +parcelable DiskStats { + long reads; + long readMerges; + long readSectors; + long readTicks; + long writes; + long writeMerges; + long writeSectors; + long writeTicks; + long ioInFlight; + long ioTicks; + long ioInQueue; +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/HealthInfo.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/HealthInfo.aidl new file mode 100644 index 0000000000..bfa14758f3 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/HealthInfo.aidl @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +parcelable HealthInfo { + boolean chargerAcOnline; + boolean chargerUsbOnline; + boolean chargerWirelessOnline; + boolean chargerDockOnline; + int maxChargingCurrentMicroamps; + int maxChargingVoltageMicrovolts; + android.hardware.health.BatteryStatus batteryStatus; + android.hardware.health.BatteryHealth batteryHealth; + boolean batteryPresent; + int batteryLevel; + int batteryVoltageMillivolts; + int batteryTemperatureTenthsCelsius; + int batteryCurrentMicroamps; + int batteryCycleCount; + int batteryFullChargeUah; + int batteryChargeCounterUah; + String batteryTechnology; + int batteryCurrentAverageMicroamps; + android.hardware.health.DiskStats[] diskStats; + android.hardware.health.StorageInfo[] storageInfos; + android.hardware.health.BatteryCapacityLevel batteryCapacityLevel; + long batteryChargeTimeToFullNowSeconds; + int batteryFullChargeDesignCapacityUah; + android.hardware.health.BatteryChargingState chargingState; + android.hardware.health.BatteryChargingPolicy chargingPolicy; + @nullable android.hardware.health.BatteryHealthData batteryHealthData; + const int BATTERY_CHARGE_TIME_TO_FULL_NOW_SECONDS_UNSUPPORTED = (-1) /* -1 */; +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealth.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealth.aidl new file mode 100644 index 0000000000..b49dfffbe4 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealth.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +interface IHealth { + void registerCallback(in android.hardware.health.IHealthInfoCallback callback); + void unregisterCallback(in android.hardware.health.IHealthInfoCallback callback); + void update(); + int getChargeCounterUah(); + int getCurrentNowMicroamps(); + int getCurrentAverageMicroamps(); + int getCapacity(); + long getEnergyCounterNwh(); + android.hardware.health.BatteryStatus getChargeStatus(); + android.hardware.health.StorageInfo[] getStorageInfo(); + android.hardware.health.DiskStats[] getDiskStats(); + android.hardware.health.HealthInfo getHealthInfo(); + void setChargingPolicy(android.hardware.health.BatteryChargingPolicy in_value); + android.hardware.health.BatteryChargingPolicy getChargingPolicy(); + android.hardware.health.BatteryHealthData getBatteryHealthData(); + const int STATUS_UNKNOWN = 2; + const int STATUS_CALLBACK_DIED = 4; +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealthInfoCallback.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealthInfoCallback.aidl new file mode 100644 index 0000000000..1b6366fa7a --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/IHealthInfoCallback.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +interface IHealthInfoCallback { + oneway void healthInfoChanged(in android.hardware.health.HealthInfo info); +} diff --git a/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/StorageInfo.aidl b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/StorageInfo.aidl new file mode 100644 index 0000000000..eaae5a6110 --- /dev/null +++ b/health/aidl/aidl_api/android.hardware.health/3/android/hardware/health/StorageInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.health; +@VintfStability +parcelable StorageInfo { + int eol; + int lifetimeA; + int lifetimeB; + String version; +} diff --git a/macsec/aidl/Android.bp b/macsec/aidl/Android.bp index 5e47999bce..361baf4ada 100644 --- a/macsec/aidl/Android.bp +++ b/macsec/aidl/Android.bp @@ -37,4 +37,12 @@ aidl_interface { enabled: false, }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/macsec/aidl/aidl_api/android.hardware.macsec/1/.hash b/macsec/aidl/aidl_api/android.hardware.macsec/1/.hash new file mode 100644 index 0000000000..60e8fa8707 --- /dev/null +++ b/macsec/aidl/aidl_api/android.hardware.macsec/1/.hash @@ -0,0 +1 @@ +9caeb6282adc082009c1f24f04d011723deed6d5 diff --git a/macsec/aidl/aidl_api/android.hardware.macsec/1/android/hardware/macsec/IMacsecPskPlugin.aidl b/macsec/aidl/aidl_api/android.hardware.macsec/1/android/hardware/macsec/IMacsecPskPlugin.aidl new file mode 100644 index 0000000000..02fd6e9888 --- /dev/null +++ b/macsec/aidl/aidl_api/android.hardware.macsec/1/android/hardware/macsec/IMacsecPskPlugin.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.macsec; +@VintfStability +interface IMacsecPskPlugin { + void addTestKey(in byte[] keyId, in byte[] CAK, in byte[] CKN); + byte[] calcIcv(in byte[] keyId, in byte[] data); + byte[] generateSak(in byte[] keyId, in byte[] data, in int sakLength); + byte[] wrapSak(in byte[] keyId, in byte[] sak); + byte[] unwrapSak(in byte[] keyId, in byte[] sak); +} diff --git a/media/bufferpool/aidl/Android.bp b/media/bufferpool/aidl/Android.bp index 010c7cdab0..829971d50b 100644 --- a/media/bufferpool/aidl/Android.bp +++ b/media/bufferpool/aidl/Android.bp @@ -65,7 +65,15 @@ aidl_interface { "android.hardware.common.fmq-V1", ], }, + { + version: "2", + imports: [ + "android.hardware.common-V2", + "android.hardware.common.fmq-V1", + ], + }, + ], - frozen: false, + frozen: true, } diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/.hash b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/.hash new file mode 100644 index 0000000000..44623f8b8b --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/.hash @@ -0,0 +1 @@ +c12818c51418fbfc76f1b81eba6678d75cf526c1 diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/Buffer.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/Buffer.aidl new file mode 100644 index 0000000000..85a78ad6ee --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/Buffer.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +parcelable Buffer { + int id; + @nullable android.hardware.common.NativeHandle buffer; + @nullable android.hardware.HardwareBuffer hwbBuffer; +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferInvalidationMessage.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferInvalidationMessage.aidl new file mode 100644 index 0000000000..181286c197 --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferInvalidationMessage.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@FixedSize @VintfStability +parcelable BufferInvalidationMessage { + int messageId; + int fromBufferId; + int toBufferId; +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatus.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatus.aidl new file mode 100644 index 0000000000..13174ffe09 --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatus.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@Backing(type="int") @VintfStability +enum BufferStatus { + NOT_USED = 0, + USED = 1, + TRANSFER_TO = 2, + TRANSFER_FROM = 3, + TRANSFER_TIMEOUT = 4, + TRANSFER_LOST = 5, + TRANSFER_FETCH = 6, + TRANSFER_OK = 7, + TRANSFER_ERROR = 8, + INVALIDATION_ACK = 9, +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatusMessage.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatusMessage.aidl new file mode 100644 index 0000000000..7e79a368d1 --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/BufferStatusMessage.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@FixedSize @VintfStability +parcelable BufferStatusMessage { + long transactionId; + int bufferId; + android.hardware.media.bufferpool2.BufferStatus status; + long connectionId; + long targetConnectionId; + long timestampUs; +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IAccessor.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IAccessor.aidl new file mode 100644 index 0000000000..4053797dcf --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IAccessor.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +interface IAccessor { + android.hardware.media.bufferpool2.IAccessor.ConnectionInfo connect(in android.hardware.media.bufferpool2.IObserver observer); + @VintfStability + parcelable ConnectionInfo { + android.hardware.media.bufferpool2.IConnection connection; + long connectionId; + int msgId; + android.hardware.common.fmq.MQDescriptor toFmqDesc; + android.hardware.common.fmq.MQDescriptor fromFmqDesc; + } +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IClientManager.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IClientManager.aidl new file mode 100644 index 0000000000..298cb13ec3 --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IClientManager.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +interface IClientManager { + android.hardware.media.bufferpool2.IClientManager.Registration registerSender(in android.hardware.media.bufferpool2.IAccessor bufferPool); + android.hardware.media.bufferpool2.IClientManager.Registration registerPassiveSender(in android.hardware.media.bufferpool2.IAccessor bufferPool); + @VintfStability + parcelable Registration { + long connectionId; + boolean isNew = true; + } +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IConnection.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IConnection.aidl new file mode 100644 index 0000000000..844e920df0 --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IConnection.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +interface IConnection { + android.hardware.media.bufferpool2.IConnection.FetchResult[] fetch(in android.hardware.media.bufferpool2.IConnection.FetchInfo[] fetchInfos); + void sync(); + parcelable FetchInfo { + long transactionId; + int bufferId; + } + union FetchResult { + android.hardware.media.bufferpool2.Buffer buffer; + int failure; + } +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IObserver.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IObserver.aidl new file mode 100644 index 0000000000..2d8cffe70c --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IObserver.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +interface IObserver { + oneway void onMessage(in long connectionId, in int msgId); +} diff --git a/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/ResultStatus.aidl b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/ResultStatus.aidl new file mode 100644 index 0000000000..4bc3889e3f --- /dev/null +++ b/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/ResultStatus.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.bufferpool2; +@VintfStability +parcelable ResultStatus { + const int OK = 0; + const int NO_MEMORY = 1; + const int ALREADY_EXISTS = 2; + const int NOT_FOUND = 3; + const int CRITICAL_ERROR = 4; +} diff --git a/media/c2/aidl/Android.bp b/media/c2/aidl/Android.bp index 2eaeb010e2..c5ecacd516 100644 --- a/media/c2/aidl/Android.bp +++ b/media/c2/aidl/Android.bp @@ -49,4 +49,15 @@ aidl_interface { enabled: false, }, }, + versions_with_info: [ + { + version: "1", + imports: [ + "android.hardware.common-V2", + "android.hardware.media.bufferpool2-V2", + ], + }, + ], + frozen: true, + } diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/.hash b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/.hash new file mode 100644 index 0000000000..fc8aa82ddf --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/.hash @@ -0,0 +1 @@ +d4c3897135ef9475dee2021ac39a41ae79c7690e diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/BaseBlock.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/BaseBlock.aidl new file mode 100644 index 0000000000..069b2cf244 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/BaseBlock.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +union BaseBlock { + android.hardware.common.NativeHandle nativeBlock; + android.hardware.HardwareBuffer hwbBlock; + android.hardware.media.bufferpool2.BufferStatusMessage pooledBlock; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Block.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Block.aidl new file mode 100644 index 0000000000..7b3005e22d --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Block.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Block { + int index; + android.hardware.media.c2.Params meta; + android.hardware.common.NativeHandle fence; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Buffer.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Buffer.aidl new file mode 100644 index 0000000000..b632932cec --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Buffer.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Buffer { + android.hardware.media.c2.Params info; + android.hardware.media.c2.Block[] blocks; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldDescriptor.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldDescriptor.aidl new file mode 100644 index 0000000000..909476c39e --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldDescriptor.aidl @@ -0,0 +1,62 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable FieldDescriptor { + android.hardware.media.c2.FieldId fieldId; + android.hardware.media.c2.FieldDescriptor.Type type; + int structIndex; + int extent; + String name; + android.hardware.media.c2.FieldDescriptor.NamedValue[] namedValues; + @Backing(type="int") @VintfStability + enum Type { + NO_INIT = 0, + INT32, + UINT32, + CNTR32, + INT64, + UINT64, + CNTR64, + FLOAT, + STRING = 0x100, + BLOB, + STRUCT = 0x20000, + } + @VintfStability + parcelable NamedValue { + String name; + long value; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldId.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldId.aidl new file mode 100644 index 0000000000..935b85dbbf --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldId.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable FieldId { + int offset; + int sizeBytes; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValues.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValues.aidl new file mode 100644 index 0000000000..69060bea1d --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValues.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +union FieldSupportedValues { + boolean empty; + android.hardware.media.c2.ValueRange range; + long[] values; + long[] flags; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQuery.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQuery.aidl new file mode 100644 index 0000000000..6a5fbe26de --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQuery.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable FieldSupportedValuesQuery { + android.hardware.media.c2.ParamField field; + android.hardware.media.c2.FieldSupportedValuesQuery.Type type; + @Backing(type="int") @VintfStability + enum Type { + POSSIBLE = 0, + CURRENT, + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQueryResult.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQueryResult.aidl new file mode 100644 index 0000000000..187e3ebfeb --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FieldSupportedValuesQueryResult.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable FieldSupportedValuesQueryResult { + android.hardware.media.c2.Status status; + android.hardware.media.c2.FieldSupportedValues values; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FrameData.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FrameData.aidl new file mode 100644 index 0000000000..07bfb7201a --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/FrameData.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable FrameData { + int flags; + android.hardware.media.c2.WorkOrdinal ordinal; + android.hardware.media.c2.Buffer[] buffers; + android.hardware.media.c2.Params configUpdate; + android.hardware.media.c2.InfoBuffer[] infoBuffers; + const int DROP_FRAME = (1 << 0) /* 1 */; + const int END_OF_STREAM = (1 << 1) /* 2 */; + const int DISCARD_FRAME = (1 << 2) /* 4 */; + const int FLAG_INCOMPLETE = (1 << 3) /* 8 */; + const int CODEC_CONFIG = (1 << 31) /* -2147483648 */; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponent.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponent.aidl new file mode 100644 index 0000000000..0a7e3c4b53 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponent.aidl @@ -0,0 +1,68 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IComponent { + android.hardware.common.NativeHandle configureVideoTunnel(in int avSyncHwId); + android.hardware.media.c2.IComponent.BlockPool createBlockPool(in android.hardware.media.c2.IComponent.BlockPoolAllocator allocator); + void destroyBlockPool(in long blockPoolId); + void drain(in boolean withEos); + android.hardware.media.c2.WorkBundle flush(); + android.hardware.media.c2.IComponentInterface getInterface(); + void queue(in android.hardware.media.c2.WorkBundle workBundle); + void release(); + void reset(); + void start(); + void stop(); + android.hardware.media.c2.IInputSurfaceConnection connectToInputSurface(in android.hardware.media.c2.IInputSurface inputSurface); + android.hardware.media.c2.IInputSink asInputSink(); + parcelable BlockPool { + long blockPoolId; + android.hardware.media.c2.IConfigurable configurable; + } + parcelable GbAllocator { + ParcelFileDescriptor waitableFd; + android.hardware.media.c2.IGraphicBufferAllocator igba; + } + parcelable PooledGbAllocator { + ParcelFileDescriptor waitableFd; + long receiverId; + android.hardware.media.c2.IPooledGraphicBufferAllocator ipgba; + } + parcelable BlockPoolAllocator { + int allocatorId; + @nullable android.hardware.media.c2.IComponent.GbAllocator gbAllocator; + @nullable android.hardware.media.c2.IComponent.PooledGbAllocator pooledGbAllocator; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentInterface.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentInterface.aidl new file mode 100644 index 0000000000..2350daeec2 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentInterface.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IComponentInterface { + android.hardware.media.c2.IConfigurable getConfigurable(); +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentListener.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentListener.aidl new file mode 100644 index 0000000000..f6f2a6391c --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentListener.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IComponentListener { + oneway void onError(in android.hardware.media.c2.Status status, in int errorCode); + oneway void onFramesRendered(in android.hardware.media.c2.IComponentListener.RenderedFrame[] renderedFrames); + oneway void onInputBuffersReleased(in android.hardware.media.c2.IComponentListener.InputBuffer[] inputBuffers); + oneway void onTripped(in android.hardware.media.c2.SettingResult[] settingResults); + oneway void onWorkDone(in android.hardware.media.c2.WorkBundle workBundle); + @VintfStability + parcelable InputBuffer { + long frameIndex; + int arrayIndex; + } + @VintfStability + parcelable RenderedFrame { + long bufferQueueId; + int slotId; + long timestampNs; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentStore.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentStore.aidl new file mode 100644 index 0000000000..d7a4706d19 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentStore.aidl @@ -0,0 +1,67 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IComponentStore { + void copyBuffer(in android.hardware.media.c2.Buffer src, in android.hardware.media.c2.Buffer dst); + android.hardware.media.c2.IComponent createComponent(in String name, in android.hardware.media.c2.IComponentListener listener, in android.hardware.media.bufferpool2.IClientManager pool); + android.hardware.media.c2.IComponentInterface createInterface(in String name); + android.hardware.media.c2.IConfigurable getConfigurable(); + android.hardware.media.bufferpool2.IClientManager getPoolClientManager(); + android.hardware.media.c2.StructDescriptor[] getStructDescriptors(in int[] indices); + android.hardware.media.c2.IComponentStore.ComponentTraits[] listComponents(); + android.hardware.media.c2.IInputSurface createInputSurface(); + @VintfStability + parcelable ComponentTraits { + String name; + android.hardware.media.c2.IComponentStore.ComponentTraits.Domain domain; + android.hardware.media.c2.IComponentStore.ComponentTraits.Kind kind; + int rank; + String mediaType; + String[] aliases; + @Backing(type="int") @VintfStability + enum Kind { + OTHER = 0, + DECODER, + ENCODER, + } + @Backing(type="int") @VintfStability + enum Domain { + OTHER = 0, + VIDEO, + AUDIO, + IMAGE, + } + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IConfigurable.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IConfigurable.aidl new file mode 100644 index 0000000000..04e776ee3c --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IConfigurable.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IConfigurable { + android.hardware.media.c2.IConfigurable.ConfigResult config(in android.hardware.media.c2.Params inParams, in boolean mayBlock); + int getId(); + String getName(); + android.hardware.media.c2.IConfigurable.QueryResult query(in int[] indices, in boolean mayBlock); + android.hardware.media.c2.ParamDescriptor[] querySupportedParams(in int start, in int count); + android.hardware.media.c2.IConfigurable.QuerySupportedValuesResult querySupportedValues(in android.hardware.media.c2.FieldSupportedValuesQuery[] inFields, in boolean mayBlock); + @VintfStability + parcelable ConfigResult { + android.hardware.media.c2.Params params; + android.hardware.media.c2.SettingResult[] failures; + android.hardware.media.c2.Status status; + } + @VintfStability + parcelable QueryResult { + android.hardware.media.c2.Params params; + android.hardware.media.c2.Status status; + } + @VintfStability + parcelable QuerySupportedValuesResult { + android.hardware.media.c2.FieldSupportedValuesQueryResult[] values; + android.hardware.media.c2.Status status; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IGraphicBufferAllocator.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IGraphicBufferAllocator.aidl new file mode 100644 index 0000000000..e13ba1f2aa --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IGraphicBufferAllocator.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IGraphicBufferAllocator { + android.hardware.media.c2.IGraphicBufferAllocator.Allocation allocate(in android.hardware.media.c2.IGraphicBufferAllocator.Description desc); + boolean deallocate(in long id); + ParcelFileDescriptor getWaitableFd(); + parcelable Allocation { + android.hardware.HardwareBuffer buffer; + @nullable ParcelFileDescriptor fence; + } + parcelable Description { + int width; + int height; + int format; + long usage; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSink.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSink.aidl new file mode 100644 index 0000000000..e6ea4d54e8 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSink.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IInputSink { + void queue(in android.hardware.media.c2.WorkBundle workBundle); +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurface.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurface.aidl new file mode 100644 index 0000000000..14455cb71f --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurface.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IInputSurface { + android.view.Surface getSurface(); + android.hardware.media.c2.IConfigurable getConfigurable(); + android.hardware.media.c2.IInputSurfaceConnection connect(in android.hardware.media.c2.IInputSink sink); +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurfaceConnection.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurfaceConnection.aidl new file mode 100644 index 0000000000..28fff65e14 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IInputSurfaceConnection.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IInputSurfaceConnection { + void disconnect(); + void signalEndOfStream(); +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IPooledGraphicBufferAllocator.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IPooledGraphicBufferAllocator.aidl new file mode 100644 index 0000000000..1a8c66d1db --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IPooledGraphicBufferAllocator.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +interface IPooledGraphicBufferAllocator { + android.hardware.media.c2.IPooledGraphicBufferAllocator.Allocation allocate(in android.hardware.media.c2.IPooledGraphicBufferAllocator.Description desc); + boolean deallocate(in int id); + parcelable Allocation { + int bufferId; + @nullable ParcelFileDescriptor fence; + } + parcelable Description { + int widthPixels; + int heightPixels; + int format; + long usage; + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/InfoBuffer.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/InfoBuffer.aidl new file mode 100644 index 0000000000..94cd77d925 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/InfoBuffer.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable InfoBuffer { + int index; + android.hardware.media.c2.Buffer buffer; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamDescriptor.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamDescriptor.aidl new file mode 100644 index 0000000000..6f0ac50bed --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamDescriptor.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable ParamDescriptor { + int index; + int attrib; + String name; + int[] dependencies; + const int ATTRIBUTE_REQUIRED = (1 << 0) /* 1 */; + const int ATTRIBUTE_PERSISTENT = (1 << 1) /* 2 */; + const int ATTRIBUTE_STRICT = (1 << 2) /* 4 */; + const int ATTRIBUTE_READ_ONLY = (1 << 3) /* 8 */; + const int ATTRIBUTE_HIDDEN = (1 << 4) /* 16 */; + const int ATTRIBUTE_INTERNAL = (1 << 5) /* 32 */; + const int ATTRIBUTE_CONST = (1 << 6) /* 64 */; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamField.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamField.aidl new file mode 100644 index 0000000000..13d252257e --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamField.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable ParamField { + int index; + android.hardware.media.c2.FieldId fieldId; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamFieldValues.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamFieldValues.aidl new file mode 100644 index 0000000000..5a2821cdb2 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ParamFieldValues.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable ParamFieldValues { + android.hardware.media.c2.ParamField paramOrField; + android.hardware.media.c2.FieldSupportedValues[] values; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Params.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Params.aidl new file mode 100644 index 0000000000..7d363c06b3 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Params.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Params { + byte[] params; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/SettingResult.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/SettingResult.aidl new file mode 100644 index 0000000000..07fc1f35aa --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/SettingResult.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable SettingResult { + android.hardware.media.c2.SettingResult.Failure failure; + android.hardware.media.c2.ParamFieldValues field; + android.hardware.media.c2.ParamFieldValues[] conflicts; + @Backing(type="int") @VintfStability + enum Failure { + BAD_TYPE, + BAD_PORT, + BAD_INDEX, + READ_ONLY, + MISMATCH, + BAD_VALUE, + CONFLICT, + UNSUPPORTED, + INFO_BAD_VALUE, + INFO_CONFLICT, + } +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Status.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Status.aidl new file mode 100644 index 0000000000..8b430d29f2 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Status.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Status { + int status; + const int OK = 0; + const int BAD_VALUE = (-22) /* -22 */; + const int BAD_INDEX = (-75) /* -75 */; + const int CANNOT_DO = (-2147483646) /* -2147483646 */; + const int DUPLICATE = (-17) /* -17 */; + const int NOT_FOUND = (-2) /* -2 */; + const int BAD_STATE = (-38) /* -38 */; + const int BLOCKING = (-9930) /* -9930 */; + const int NO_MEMORY = (-12) /* -12 */; + const int REFUSED = (-1) /* -1 */; + const int TIMED_OUT = (-110) /* -110 */; + const int OMITTED = (-74) /* -74 */; + const int CORRUPTED = (-2147483648) /* -2147483648 */; + const int NO_INIT = (-19) /* -19 */; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/StructDescriptor.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/StructDescriptor.aidl new file mode 100644 index 0000000000..58268e0b92 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/StructDescriptor.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable StructDescriptor { + int type; + android.hardware.media.c2.FieldDescriptor[] fields; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ValueRange.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ValueRange.aidl new file mode 100644 index 0000000000..db71ce044e --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/ValueRange.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable ValueRange { + long min; + long max; + long step; + long num; + long denom; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Work.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Work.aidl new file mode 100644 index 0000000000..a5343488f5 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Work.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Work { + byte[] chainInfo; + android.hardware.media.c2.FrameData input; + android.hardware.media.c2.Worklet[] worklets; + int workletsProcessed; + android.hardware.media.c2.Status result; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkBundle.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkBundle.aidl new file mode 100644 index 0000000000..84708a8556 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkBundle.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable WorkBundle { + android.hardware.media.c2.Work[] works; + android.hardware.media.c2.BaseBlock[] baseBlocks; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkOrdinal.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkOrdinal.aidl new file mode 100644 index 0000000000..2833df3a79 --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/WorkOrdinal.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable WorkOrdinal { + long timestampUs; + long frameIndex; + long customOrdinal; +} diff --git a/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Worklet.aidl b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Worklet.aidl new file mode 100644 index 0000000000..a79abf202b --- /dev/null +++ b/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/Worklet.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.media.c2; +@VintfStability +parcelable Worklet { + int componentId; + byte[] tunings; + android.hardware.media.c2.SettingResult[] failures; + android.hardware.media.c2.FrameData output; +} diff --git a/power/aidl/Android.bp b/power/aidl/Android.bp index 8900fb8848..dc5761312b 100644 --- a/power/aidl/Android.bp +++ b/power/aidl/Android.bp @@ -62,9 +62,16 @@ aidl_interface { version: "4", imports: [], }, + { + version: "5", + imports: [ + "android.hardware.common.fmq-V1", + "android.hardware.common-V2", + ], + }, ], - frozen: false, + frozen: true, } diff --git a/power/aidl/aidl_api/android.hardware.power/5/.hash b/power/aidl/aidl_api/android.hardware.power/5/.hash new file mode 100644 index 0000000000..da156b24eb --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/.hash @@ -0,0 +1 @@ +d111735ed2b89b6c32443aac9b162b1afbbea3f2 diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Boost.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Boost.aidl new file mode 100644 index 0000000000..8ee15eff7f --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Boost.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum Boost { + INTERACTION, + DISPLAY_UPDATE_IMMINENT, + ML_ACC, + AUDIO_LAUNCH, + CAMERA_LAUNCH, + CAMERA_SHOT, +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelConfig.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelConfig.aidl new file mode 100644 index 0000000000..d3caca413b --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelConfig.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +parcelable ChannelConfig { + android.hardware.common.fmq.MQDescriptor channelDescriptor; + @nullable android.hardware.common.fmq.MQDescriptor eventFlagDescriptor; + int readFlagBitmask; + int writeFlagBitmask; +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelMessage.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelMessage.aidl new file mode 100644 index 0000000000..ab38fcc21f --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/ChannelMessage.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@FixedSize @VintfStability +parcelable ChannelMessage { + int sessionID; + long timeStampNanos; + android.hardware.power.ChannelMessage.ChannelMessageContents data; + @FixedSize @VintfStability + union ChannelMessageContents { + long[16] reserved = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + long targetDuration; + android.hardware.power.SessionHint hint; + android.hardware.power.ChannelMessage.ChannelMessageContents.SessionModeSetter mode; + android.hardware.power.WorkDurationFixedV1 workDuration; + @FixedSize @VintfStability + parcelable SessionModeSetter { + android.hardware.power.SessionMode modeInt; + boolean enabled; + } + } +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPower.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPower.aidl new file mode 100644 index 0000000000..8acdaf2014 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPower.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +interface IPower { + oneway void setMode(in android.hardware.power.Mode type, in boolean enabled); + boolean isModeSupported(in android.hardware.power.Mode type); + oneway void setBoost(in android.hardware.power.Boost type, in int durationMs); + boolean isBoostSupported(in android.hardware.power.Boost type); + android.hardware.power.IPowerHintSession createHintSession(in int tgid, in int uid, in int[] threadIds, in long durationNanos); + long getHintSessionPreferredRate(); + android.hardware.power.IPowerHintSession createHintSessionWithConfig(in int tgid, in int uid, in int[] threadIds, in long durationNanos, in android.hardware.power.SessionTag tag, out android.hardware.power.SessionConfig config); + android.hardware.power.ChannelConfig getSessionChannel(in int tgid, in int uid); + oneway void closeSessionChannel(in int tgid, in int uid); +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPowerHintSession.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPowerHintSession.aidl new file mode 100644 index 0000000000..010f815476 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/IPowerHintSession.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +interface IPowerHintSession { + oneway void updateTargetWorkDuration(long targetDurationNanos); + oneway void reportActualWorkDuration(in android.hardware.power.WorkDuration[] durations); + oneway void pause(); + oneway void resume(); + oneway void close(); + oneway void sendHint(android.hardware.power.SessionHint hint); + void setThreads(in int[] threadIds); + oneway void setMode(android.hardware.power.SessionMode type, boolean enabled); + android.hardware.power.SessionConfig getSessionConfig(); +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Mode.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Mode.aidl new file mode 100644 index 0000000000..46eca69309 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/Mode.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum Mode { + DOUBLE_TAP_TO_WAKE, + LOW_POWER, + SUSTAINED_PERFORMANCE, + FIXED_PERFORMANCE, + VR, + LAUNCH, + EXPENSIVE_RENDERING, + INTERACTIVE, + DEVICE_IDLE, + DISPLAY_INACTIVE, + AUDIO_STREAMING_LOW_LATENCY, + CAMERA_STREAMING_SECURE, + CAMERA_STREAMING_LOW, + CAMERA_STREAMING_MID, + CAMERA_STREAMING_HIGH, + GAME, + GAME_LOADING, + DISPLAY_CHANGE, + AUTOMOTIVE_PROJECTION, +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionConfig.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionConfig.aidl new file mode 100644 index 0000000000..b03cfb2db1 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionConfig.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +parcelable SessionConfig { + long id; +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionHint.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionHint.aidl new file mode 100644 index 0000000000..df316189a4 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionHint.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum SessionHint { + CPU_LOAD_UP = 0, + CPU_LOAD_DOWN = 1, + CPU_LOAD_RESET = 2, + CPU_LOAD_RESUME = 3, + POWER_EFFICIENCY = 4, + GPU_LOAD_UP = 5, + GPU_LOAD_DOWN = 6, + GPU_LOAD_RESET = 7, +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionMode.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionMode.aidl new file mode 100644 index 0000000000..d0ae0bab70 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionMode.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum SessionMode { + POWER_EFFICIENCY, +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionTag.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionTag.aidl new file mode 100644 index 0000000000..862fbc5a07 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/SessionTag.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@Backing(type="int") @VintfStability +enum SessionTag { + OTHER, + SURFACEFLINGER, + HWUI, + GAME, + APP, +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDuration.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDuration.aidl new file mode 100644 index 0000000000..45013ddf77 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDuration.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@VintfStability +parcelable WorkDuration { + long timeStampNanos; + long durationNanos; + long workPeriodStartTimestampNanos; + long cpuDurationNanos; + long gpuDurationNanos; +} diff --git a/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDurationFixedV1.aidl b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDurationFixedV1.aidl new file mode 100644 index 0000000000..45310b8927 --- /dev/null +++ b/power/aidl/aidl_api/android.hardware.power/5/android/hardware/power/WorkDurationFixedV1.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.power; +@FixedSize @VintfStability +parcelable WorkDurationFixedV1 { + long durationNanos; + long workPeriodStartTimestampNanos; + long cpuDurationNanos; + long gpuDurationNanos; +} diff --git a/radio/aidl/Android.bp b/radio/aidl/Android.bp index 7d4eb13e9a..f60c484ee7 100644 --- a/radio/aidl/Android.bp +++ b/radio/aidl/Android.bp @@ -31,8 +31,13 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], + frozen: true, } @@ -60,8 +65,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } @@ -89,8 +99,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } aidl_interface { @@ -117,8 +132,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } aidl_interface { @@ -145,8 +165,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } aidl_interface { @@ -173,8 +198,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } aidl_interface { @@ -238,8 +268,16 @@ aidl_interface { "android.hardware.radio.config-V2", ], }, + { + version: "3", + imports: [ + "android.hardware.radio-V3", + "android.hardware.radio.config-V3", + ], + }, ], + frozen: true, } aidl_interface { @@ -266,8 +304,13 @@ aidl_interface { version: "2", imports: ["android.hardware.radio-V2"], }, + { + version: "3", + imports: ["android.hardware.radio-V3"], + }, ], + frozen: true, } aidl_interface { @@ -295,7 +338,16 @@ aidl_interface { "android.hardware.radio.data-V2", ], }, + { + version: "2", + imports: [ + "android.hardware.radio-V3", + "android.hardware.radio.data-V3", + ], + }, + ], + frozen: true, } aidl_interface { @@ -317,5 +369,11 @@ aidl_interface { version: "1", imports: ["android.hardware.radio-V2"], }, + { + version: "2", + imports: ["android.hardware.radio-V3"], + }, + ], + frozen: true, } diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.config/3/.hash new file mode 100644 index 0000000000..5075e5b973 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/.hash @@ -0,0 +1 @@ +1e3dcfffc1e90fc886cf5a22ecaa94601b115710 diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfig.aidl new file mode 100644 index 0000000000..bc1c29236f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfig.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + * + * + * This interface is used by telephony and telecom to talk to cellular radio for the purpose of + * radio configuration, and it is not associated with any specific modem or slot. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@VintfStability +interface IRadioConfig { + oneway void getHalDeviceCapabilities(in int serial); + oneway void getNumOfLiveModems(in int serial); + oneway void getPhoneCapability(in int serial); + oneway void getSimSlotsStatus(in int serial); + oneway void setNumOfLiveModems(in int serial, in byte numOfLiveModems); + oneway void setPreferredDataModem(in int serial, in byte modemId); + oneway void setResponseFunctions(in android.hardware.radio.config.IRadioConfigResponse radioConfigResponse, in android.hardware.radio.config.IRadioConfigIndication radioConfigIndication); + oneway void setSimSlotsMapping(in int serial, in android.hardware.radio.config.SlotPortMapping[] slotMap); + oneway void getSimultaneousCallingSupport(in int serial); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigIndication.aidl new file mode 100644 index 0000000000..f786373785 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigIndication.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@VintfStability +interface IRadioConfigIndication { + oneway void simSlotsStatusChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.config.SimSlotStatus[] slotStatus); + oneway void onSimultaneousCallingSupportChanged(in int[] enabledLogicalSlots); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigResponse.aidl new file mode 100644 index 0000000000..6ff7bd0b1b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/IRadioConfigResponse.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@VintfStability +interface IRadioConfigResponse { + oneway void getHalDeviceCapabilitiesResponse(in android.hardware.radio.RadioResponseInfo info, in boolean modemReducedFeatureSet1); + oneway void getNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info, in byte numOfLiveModems); + oneway void getPhoneCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.config.PhoneCapability phoneCapability); + oneway void getSimSlotsStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.config.SimSlotStatus[] slotStatus); + oneway void setNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setPreferredDataModemResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSimSlotsMappingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getSimultaneousCallingSupportResponse(in android.hardware.radio.RadioResponseInfo info, in int[] enabledLogicalSlots); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/MultipleEnabledProfilesMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/MultipleEnabledProfilesMode.aidl new file mode 100644 index 0000000000..41c42016c2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/MultipleEnabledProfilesMode.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum MultipleEnabledProfilesMode { + NONE, + MEP_A1, + MEP_A2, + MEP_B, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/PhoneCapability.aidl new file mode 100644 index 0000000000..2c66abda59 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/PhoneCapability.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PhoneCapability { + byte maxActiveData; + byte maxActiveInternetData; + boolean isInternetLingeringSupported; + byte[] logicalModemIds; + byte maxActiveVoice = UNKNOWN /* -1 */; + const byte UNKNOWN = (-1) /* -1 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimPortInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimPortInfo.aidl new file mode 100644 index 0000000000..ede318931a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimPortInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SimPortInfo { + String iccId; + int logicalSlotId; + boolean portActive; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimSlotStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimSlotStatus.aidl new file mode 100644 index 0000000000..e84e7d45bd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SimSlotStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SimSlotStatus { + int cardState; + String atr; + String eid; + android.hardware.radio.config.SimPortInfo[] portInfo; + android.hardware.radio.config.MultipleEnabledProfilesMode supportedMepMode = android.hardware.radio.config.MultipleEnabledProfilesMode.NONE; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SlotPortMapping.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SlotPortMapping.aidl new file mode 100644 index 0000000000..5278e79f1c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.config/3/android/hardware/radio/config/SlotPortMapping.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.config; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SlotPortMapping { + int physicalSlotId; + int portId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.data/3/.hash new file mode 100644 index 0000000000..b866bd6c37 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/.hash @@ -0,0 +1 @@ +cd8913a3f9d39f1cc0a5fcf9e90257be94ec38df diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnAuthType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnAuthType.aidl new file mode 100644 index 0000000000..eed81701b8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnAuthType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ApnAuthType { + NO_PAP_NO_CHAP, + PAP_NO_CHAP, + NO_PAP_CHAP, + PAP_CHAP, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnTypes.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnTypes.aidl new file mode 100644 index 0000000000..782dbbf0ce --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/ApnTypes.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ApnTypes { + NONE = 0, + DEFAULT = (1 << 0) /* 1 */, + MMS = (1 << 1) /* 2 */, + SUPL = (1 << 2) /* 4 */, + DUN = (1 << 3) /* 8 */, + HIPRI = (1 << 4) /* 16 */, + FOTA = (1 << 5) /* 32 */, + IMS = (1 << 6) /* 64 */, + CBS = (1 << 7) /* 128 */, + IA = (1 << 8) /* 256 */, + EMERGENCY = (1 << 9) /* 512 */, + MCX = (1 << 10) /* 1024 */, + XCAP = (1 << 11) /* 2048 */, + VSIM = (1 << 12) /* 4096 */, + BIP = (1 << 13) /* 8192 */, + ENTERPRISE = (1 << 14) /* 16384 */, + RCS = (1 << 15) /* 32768 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataCallFailCause.aidl new file mode 100644 index 0000000000..009b428273 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataCallFailCause.aidl @@ -0,0 +1,382 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum DataCallFailCause { + NONE = 0, + OPERATOR_BARRED = 0x08, + NAS_SIGNALLING = 0x0E, + INSUFFICIENT_RESOURCES = 0x1A, + MISSING_UNKNOWN_APN = 0x1B, + UNKNOWN_PDP_ADDRESS_TYPE = 0x1C, + USER_AUTHENTICATION = 0x1D, + ACTIVATION_REJECT_GGSN = 0x1E, + ACTIVATION_REJECT_UNSPECIFIED = 0x1F, + SERVICE_OPTION_NOT_SUPPORTED = 0x20, + SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, + SERVICE_OPTION_OUT_OF_ORDER = 0x22, + NSAPI_IN_USE = 0x23, + REGULAR_DEACTIVATION = 0x24, + QOS_NOT_ACCEPTED = 0x25, + NETWORK_FAILURE = 0x26, + UMTS_REACTIVATION_REQ = 0x27, + FEATURE_NOT_SUPP = 0x28, + TFT_SEMANTIC_ERROR = 0x29, + TFT_SYTAX_ERROR = 0x2A, + UNKNOWN_PDP_CONTEXT = 0x2B, + FILTER_SEMANTIC_ERROR = 0x2C, + FILTER_SYTAX_ERROR = 0x2D, + PDP_WITHOUT_ACTIVE_TFT = 0x2E, + ONLY_IPV4_ALLOWED = 0x32, + ONLY_IPV6_ALLOWED = 0x33, + ONLY_SINGLE_BEARER_ALLOWED = 0x34, + ESM_INFO_NOT_RECEIVED = 0x35, + PDN_CONN_DOES_NOT_EXIST = 0x36, + MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37, + MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41, + UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42, + INVALID_TRANSACTION_ID = 0x51, + MESSAGE_INCORRECT_SEMANTIC = 0x5F, + INVALID_MANDATORY_INFO = 0x60, + MESSAGE_TYPE_UNSUPPORTED = 0x61, + MSG_TYPE_NONCOMPATIBLE_STATE = 0x62, + UNKNOWN_INFO_ELEMENT = 0x63, + CONDITIONAL_IE_ERROR = 0x64, + MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65, + PROTOCOL_ERRORS = 0x6F, + APN_TYPE_CONFLICT = 0x70, + INVALID_PCSCF_ADDR = 0x71, + INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72, + EMM_ACCESS_BARRED = 0x73, + EMERGENCY_IFACE_ONLY = 0x74, + IFACE_MISMATCH = 0x75, + COMPANION_IFACE_IN_USE = 0x76, + IP_ADDRESS_MISMATCH = 0x77, + IFACE_AND_POL_FAMILY_MISMATCH = 0x78, + EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79, + AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A, + OEM_DCFAILCAUSE_1 = 0x1001, + OEM_DCFAILCAUSE_2 = 0x1002, + OEM_DCFAILCAUSE_3 = 0x1003, + OEM_DCFAILCAUSE_4 = 0x1004, + OEM_DCFAILCAUSE_5 = 0x1005, + OEM_DCFAILCAUSE_6 = 0x1006, + OEM_DCFAILCAUSE_7 = 0x1007, + OEM_DCFAILCAUSE_8 = 0x1008, + OEM_DCFAILCAUSE_9 = 0x1009, + OEM_DCFAILCAUSE_10 = 0x100A, + OEM_DCFAILCAUSE_11 = 0x100B, + OEM_DCFAILCAUSE_12 = 0x100C, + OEM_DCFAILCAUSE_13 = 0x100D, + OEM_DCFAILCAUSE_14 = 0x100E, + OEM_DCFAILCAUSE_15 = 0x100F, + VOICE_REGISTRATION_FAIL = (-1) /* -1 */, + DATA_REGISTRATION_FAIL = (-2) /* -2 */, + SIGNAL_LOST = (-3) /* -3 */, + PREF_RADIO_TECH_CHANGED = (-4) /* -4 */, + RADIO_POWER_OFF = (-5) /* -5 */, + TETHERED_CALL_ACTIVE = (-6) /* -6 */, + ERROR_UNSPECIFIED = 0xffff, + LLC_SNDCP = 0x19, + ACTIVATION_REJECTED_BCM_VIOLATION = 0x30, + COLLISION_WITH_NETWORK_INITIATED_REQUEST = 0x38, + ONLY_IPV4V6_ALLOWED = 0x39, + ONLY_NON_IP_ALLOWED = 0x3A, + UNSUPPORTED_QCI_VALUE = 0x3B, + BEARER_HANDLING_NOT_SUPPORTED = 0x3C, + INVALID_DNS_ADDR = 0x7B, + INVALID_PCSCF_OR_DNS_ADDRESS = 0x7C, + CALL_PREEMPT_BY_EMERGENCY_APN = 0x7F, + UE_INITIATED_DETACH_OR_DISCONNECT = 0x80, + MIP_FA_REASON_UNSPECIFIED = 0x7D0, + MIP_FA_ADMIN_PROHIBITED = 0x7D1, + MIP_FA_INSUFFICIENT_RESOURCES = 0x7D2, + MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7D3, + MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 0x7D4, + MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 0x7D5, + MIP_FA_MALFORMED_REQUEST = 0x7D6, + MIP_FA_MALFORMED_REPLY = 0x7D7, + MIP_FA_ENCAPSULATION_UNAVAILABLE = 0x7D8, + MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 0x7D9, + MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 0x7DA, + MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 0x7DB, + MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 0x7DC, + MIP_FA_MISSING_NAI = 0x7DD, + MIP_FA_MISSING_HOME_AGENT = 0x7DE, + MIP_FA_MISSING_HOME_ADDRESS = 0x7DF, + MIP_FA_UNKNOWN_CHALLENGE = 0x7E0, + MIP_FA_MISSING_CHALLENGE = 0x7E1, + MIP_FA_STALE_CHALLENGE = 0x7E2, + MIP_HA_REASON_UNSPECIFIED = 0x7E3, + MIP_HA_ADMIN_PROHIBITED = 0x7E4, + MIP_HA_INSUFFICIENT_RESOURCES = 0x7E5, + MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7E6, + MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 0x7E7, + MIP_HA_REGISTRATION_ID_MISMATCH = 0x7E8, + MIP_HA_MALFORMED_REQUEST = 0x7E9, + MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 0x7EA, + MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 0x7EB, + MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 0x7EC, + MIP_HA_ENCAPSULATION_UNAVAILABLE = 0x7ED, + CLOSE_IN_PROGRESS = 0x7EE, + NETWORK_INITIATED_TERMINATION = 0x7EF, + MODEM_APP_PREEMPTED = 0x7F0, + PDN_IPV4_CALL_DISALLOWED = 0x7F1, + PDN_IPV4_CALL_THROTTLED = 0x7F2, + PDN_IPV6_CALL_DISALLOWED = 0x7F3, + PDN_IPV6_CALL_THROTTLED = 0x7F4, + MODEM_RESTART = 0x7F5, + PDP_PPP_NOT_SUPPORTED = 0x7F6, + UNPREFERRED_RAT = 0x7F7, + PHYSICAL_LINK_CLOSE_IN_PROGRESS = 0x7F8, + APN_PENDING_HANDOVER = 0x7F9, + PROFILE_BEARER_INCOMPATIBLE = 0x7FA, + SIM_CARD_CHANGED = 0x7FB, + LOW_POWER_MODE_OR_POWERING_DOWN = 0x7FC, + APN_DISABLED = 0x7FD, + MAX_PPP_INACTIVITY_TIMER_EXPIRED = 0x7FE, + IPV6_ADDRESS_TRANSFER_FAILED = 0x7FF, + TRAT_SWAP_FAILED = 0x800, + EHRPD_TO_HRPD_FALLBACK = 0x801, + MIP_CONFIG_FAILURE = 0x802, + PDN_INACTIVITY_TIMER_EXPIRED = 0x803, + MAX_IPV4_CONNECTIONS = 0x804, + MAX_IPV6_CONNECTIONS = 0x805, + APN_MISMATCH = 0x806, + IP_VERSION_MISMATCH = 0x807, + DUN_CALL_DISALLOWED = 0x808, + INTERNAL_EPC_NONEPC_TRANSITION = 0x809, + INTERFACE_IN_USE = 0x80A, + APN_DISALLOWED_ON_ROAMING = 0x80B, + APN_PARAMETERS_CHANGED = 0x80C, + NULL_APN_DISALLOWED = 0x80D, + THERMAL_MITIGATION = 0x80E, + DATA_SETTINGS_DISABLED = 0x80F, + DATA_ROAMING_SETTINGS_DISABLED = 0x810, + DDS_SWITCHED = 0x811, + FORBIDDEN_APN_NAME = 0x812, + DDS_SWITCH_IN_PROGRESS = 0x813, + CALL_DISALLOWED_IN_ROAMING = 0x814, + NON_IP_NOT_SUPPORTED = 0x815, + PDN_NON_IP_CALL_THROTTLED = 0x816, + PDN_NON_IP_CALL_DISALLOWED = 0x817, + CDMA_LOCK = 0x818, + CDMA_INTERCEPT = 0x819, + CDMA_REORDER = 0x81A, + CDMA_RELEASE_DUE_TO_SO_REJECTION = 0x81B, + CDMA_INCOMING_CALL = 0x81C, + CDMA_ALERT_STOP = 0x81D, + CHANNEL_ACQUISITION_FAILURE = 0x81E, + MAX_ACCESS_PROBE = 0x81F, + CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 0x820, + NO_RESPONSE_FROM_BASE_STATION = 0x821, + REJECTED_BY_BASE_STATION = 0x822, + CONCURRENT_SERVICES_INCOMPATIBLE = 0x823, + NO_CDMA_SERVICE = 0x824, + RUIM_NOT_PRESENT = 0x825, + CDMA_RETRY_ORDER = 0x826, + ACCESS_BLOCK = 0x827, + ACCESS_BLOCK_ALL = 0x828, + IS707B_MAX_ACCESS_PROBES = 0x829, + THERMAL_EMERGENCY = 0x82A, + CONCURRENT_SERVICES_NOT_ALLOWED = 0x82B, + INCOMING_CALL_REJECTED = 0x82C, + NO_SERVICE_ON_GATEWAY = 0x82D, + NO_GPRS_CONTEXT = 0x82E, + ILLEGAL_MS = 0x82F, + ILLEGAL_ME = 0x830, + GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 0x831, + GPRS_SERVICES_NOT_ALLOWED = 0x832, + MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 0x833, + IMPLICITLY_DETACHED = 0x834, + PLMN_NOT_ALLOWED = 0x835, + LOCATION_AREA_NOT_ALLOWED = 0x836, + GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 0x837, + PDP_DUPLICATE = 0x838, + UE_RAT_CHANGE = 0x839, + CONGESTION = 0x83A, + NO_PDP_CONTEXT_ACTIVATED = 0x83B, + ACCESS_CLASS_DSAC_REJECTION = 0x83C, + PDP_ACTIVATE_MAX_RETRY_FAILED = 0x83D, + RADIO_ACCESS_BEARER_FAILURE = 0x83E, + ESM_UNKNOWN_EPS_BEARER_CONTEXT = 0x83F, + DRB_RELEASED_BY_RRC = 0x840, + CONNECTION_RELEASED = 0x841, + EMM_DETACHED = 0x842, + EMM_ATTACH_FAILED = 0x843, + EMM_ATTACH_STARTED = 0x844, + LTE_NAS_SERVICE_REQUEST_FAILED = 0x845, + DUPLICATE_BEARER_ID = 0x846, + ESM_COLLISION_SCENARIOS = 0x847, + ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 0x848, + ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 0x849, + ESM_BAD_OTA_MESSAGE = 0x84A, + ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 0x84B, + ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 0x84C, + DS_EXPLICIT_DEACTIVATION = 0x84D, + ESM_LOCAL_CAUSE_NONE = 0x84E, + LTE_THROTTLING_NOT_REQUIRED = 0x84F, + ACCESS_CONTROL_LIST_CHECK_FAILURE = 0x850, + SERVICE_NOT_ALLOWED_ON_PLMN = 0x851, + EMM_T3417_EXPIRED = 0x852, + EMM_T3417_EXT_EXPIRED = 0x853, + RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 0x854, + RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 0x855, + RRC_UPLINK_CONNECTION_RELEASE = 0x856, + RRC_UPLINK_RADIO_LINK_FAILURE = 0x857, + RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 0x858, + RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 0x859, + RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 0x85A, + RRC_CONNECTION_ACCESS_BARRED = 0x85B, + RRC_CONNECTION_CELL_RESELECTION = 0x85C, + RRC_CONNECTION_CONFIG_FAILURE = 0x85D, + RRC_CONNECTION_TIMER_EXPIRED = 0x85E, + RRC_CONNECTION_LINK_FAILURE = 0x85F, + RRC_CONNECTION_CELL_NOT_CAMPED = 0x860, + RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 0x861, + RRC_CONNECTION_REJECT_BY_NETWORK = 0x862, + RRC_CONNECTION_NORMAL_RELEASE = 0x863, + RRC_CONNECTION_RADIO_LINK_FAILURE = 0x864, + RRC_CONNECTION_REESTABLISHMENT_FAILURE = 0x865, + RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 0x866, + RRC_CONNECTION_ABORT_REQUEST = 0x867, + RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 0x868, + NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 0x869, + NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 0x86A, + ESM_PROCEDURE_TIME_OUT = 0x86B, + INVALID_CONNECTION_ID = 0x86C, + MAXIMIUM_NSAPIS_EXCEEDED = 0x86D, + INVALID_PRIMARY_NSAPI = 0x86E, + CANNOT_ENCODE_OTA_MESSAGE = 0x86F, + RADIO_ACCESS_BEARER_SETUP_FAILURE = 0x870, + PDP_ESTABLISH_TIMEOUT_EXPIRED = 0x871, + PDP_MODIFY_TIMEOUT_EXPIRED = 0x872, + PDP_INACTIVE_TIMEOUT_EXPIRED = 0x873, + PDP_LOWERLAYER_ERROR = 0x874, + PDP_MODIFY_COLLISION = 0x875, + /** + * @deprecated use MAXIMUM_SIZE_OF_L2_MESSAGE_EXCEEDED instead. + */ + MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876, + MAXIMUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876, + NAS_REQUEST_REJECTED_BY_NETWORK = 0x877, + RRC_CONNECTION_INVALID_REQUEST = 0x878, + RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 0x879, + RRC_CONNECTION_RF_UNAVAILABLE = 0x87A, + RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 0x87B, + RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 0x87C, + RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 0x87D, + RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 0x87E, + RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 0x87F, + IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 0x880, + IMEI_NOT_ACCEPTED = 0x881, + EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 0x882, + EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 0x883, + MSC_TEMPORARILY_NOT_REACHABLE = 0x884, + CS_DOMAIN_NOT_AVAILABLE = 0x885, + ESM_FAILURE = 0x886, + MAC_FAILURE = 0x887, + SYNCHRONIZATION_FAILURE = 0x888, + UE_SECURITY_CAPABILITIES_MISMATCH = 0x889, + SECURITY_MODE_REJECTED = 0x88A, + UNACCEPTABLE_NON_EPS_AUTHENTICATION = 0x88B, + CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 0x88C, + NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x88D, + INVALID_EMM_STATE = 0x88E, + NAS_LAYER_FAILURE = 0x88F, + MULTIPLE_PDP_CALL_NOT_ALLOWED = 0x890, + EMBMS_NOT_ENABLED = 0x891, + IRAT_HANDOVER_FAILED = 0x892, + EMBMS_REGULAR_DEACTIVATION = 0x893, + TEST_LOOPBACK_REGULAR_DEACTIVATION = 0x894, + LOWER_LAYER_REGISTRATION_FAILURE = 0x895, + DATA_PLAN_EXPIRED = 0x896, + UMTS_HANDOVER_TO_IWLAN = 0x897, + EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 0x898, + EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 0x899, + EVDO_HDR_CHANGED = 0x89A, + EVDO_HDR_EXITED = 0x89B, + EVDO_HDR_NO_SESSION = 0x89C, + EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 0x89D, + EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 0x89E, + FAILED_TO_ACQUIRE_COLOCATED_HDR = 0x89F, + OTASP_COMMIT_IN_PROGRESS = 0x8A0, + NO_HYBRID_HDR_SERVICE = 0x8A1, + HDR_NO_LOCK_GRANTED = 0x8A2, + DBM_OR_SMS_IN_PROGRESS = 0x8A3, + HDR_FADE = 0x8A4, + HDR_ACCESS_FAILURE = 0x8A5, + UNSUPPORTED_1X_PREV = 0x8A6, + LOCAL_END = 0x8A7, + NO_SERVICE = 0x8A8, + FADE = 0x8A9, + NORMAL_RELEASE = 0x8AA, + ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 0x8AB, + REDIRECTION_OR_HANDOFF_IN_PROGRESS = 0x8AC, + EMERGENCY_MODE = 0x8AD, + PHONE_IN_USE = 0x8AE, + INVALID_MODE = 0x8AF, + INVALID_SIM_STATE = 0x8B0, + NO_COLLOCATED_HDR = 0x8B1, + UE_IS_ENTERING_POWERSAVE_MODE = 0x8B2, + DUAL_SWITCH = 0x8B3, + PPP_TIMEOUT = 0x8B4, + PPP_AUTH_FAILURE = 0x8B5, + PPP_OPTION_MISMATCH = 0x8B6, + PPP_PAP_FAILURE = 0x8B7, + PPP_CHAP_FAILURE = 0x8B8, + PPP_CLOSE_IN_PROGRESS = 0x8B9, + LIMITED_TO_IPV4 = 0x8BA, + LIMITED_TO_IPV6 = 0x8BB, + VSNCP_TIMEOUT = 0x8BC, + VSNCP_GEN_ERROR = 0x8BD, + VSNCP_APN_UNAUTHORIZED = 0x8BE, + VSNCP_PDN_LIMIT_EXCEEDED = 0x8BF, + VSNCP_NO_PDN_GATEWAY_ADDRESS = 0x8C0, + VSNCP_PDN_GATEWAY_UNREACHABLE = 0x8C1, + VSNCP_PDN_GATEWAY_REJECT = 0x8C2, + VSNCP_INSUFFICIENT_PARAMETERS = 0x8C3, + VSNCP_RESOURCE_UNAVAILABLE = 0x8C4, + VSNCP_ADMINISTRATIVELY_PROHIBITED = 0x8C5, + VSNCP_PDN_ID_IN_USE = 0x8C6, + VSNCP_SUBSCRIBER_LIMITATION = 0x8C7, + VSNCP_PDN_EXISTS_FOR_THIS_APN = 0x8C8, + VSNCP_RECONNECT_NOT_ALLOWED = 0x8C9, + IPV6_PREFIX_UNAVAILABLE = 0x8CA, + HANDOFF_PREFERENCE_CHANGED = 0x8CB, + SLICE_REJECTED = 0x8CC, + MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD, + ALL_MATCHING_RULES_FAILED = 0x8CE, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataProfileInfo.aidl new file mode 100644 index 0000000000..7f3fdc7721 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataProfileInfo.aidl @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable DataProfileInfo { + int profileId; + String apn; + android.hardware.radio.data.PdpProtocolType protocol; + android.hardware.radio.data.PdpProtocolType roamingProtocol; + android.hardware.radio.data.ApnAuthType authType; + String user; + String password; + int type; + int maxConnsTime; + int maxConns; + int waitTime; + boolean enabled; + int supportedApnTypesBitmap; + int bearerBitmap; + int mtuV4; + int mtuV6; + boolean preferred; + boolean persistent; + boolean alwaysOn; + android.hardware.radio.data.TrafficDescriptor trafficDescriptor; + int infrastructureBitmap = INFRASTRUCTURE_UNKNOWN /* 0 */; + const int ID_DEFAULT = 0; + const int ID_TETHERED = 1; + const int ID_IMS = 2; + const int ID_FOTA = 3; + const int ID_CBS = 4; + const int ID_OEM_BASE = 1000; + const int ID_INVALID = 0xFFFFFFFF; + const int TYPE_COMMON = 0; + const int TYPE_3GPP = 1; + const int TYPE_3GPP2 = 2; + const int INFRASTRUCTURE_UNKNOWN = 0; + const int INFRASTRUCTURE_CELLULAR = (1 << 0) /* 1 */; + const int INFRASTRUCTURE_SATELLITE = (1 << 1) /* 2 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataRequestReason.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataRequestReason.aidl new file mode 100644 index 0000000000..98ae53a080 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataRequestReason.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum DataRequestReason { + NORMAL = 1, + SHUTDOWN = 2, + HANDOVER = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataThrottlingAction.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataThrottlingAction.aidl new file mode 100644 index 0000000000..e1fedb86c0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/DataThrottlingAction.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability +enum DataThrottlingAction { + NO_DATA_THROTTLING, + THROTTLE_SECONDARY_CARRIER, + THROTTLE_ANCHOR_CARRIER, + HOLD, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/EpsQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/EpsQos.aidl new file mode 100644 index 0000000000..3a3f41d98e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/EpsQos.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EpsQos { + int qci; + android.hardware.radio.data.QosBandwidth downlink; + android.hardware.radio.data.QosBandwidth uplink; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioData.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioData.aidl new file mode 100644 index 0000000000..3888c627e7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioData.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@VintfStability +interface IRadioData { + oneway void allocatePduSessionId(in int serial); + oneway void cancelHandover(in int serial, in int callId); + oneway void deactivateDataCall(in int serial, in int cid, in android.hardware.radio.data.DataRequestReason reason); + oneway void getDataCallList(in int serial); + oneway void getSlicingConfig(in int serial); + oneway void releasePduSessionId(in int serial, in int id); + oneway void responseAcknowledgement(); + oneway void setDataAllowed(in int serial, in boolean allow); + oneway void setDataProfile(in int serial, in android.hardware.radio.data.DataProfileInfo[] profiles); + oneway void setDataThrottling(in int serial, in android.hardware.radio.data.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis); + oneway void setInitialAttachApn(in int serial, in @nullable android.hardware.radio.data.DataProfileInfo dataProfileInfo); + oneway void setResponseFunctions(in android.hardware.radio.data.IRadioDataResponse radioDataResponse, in android.hardware.radio.data.IRadioDataIndication radioDataIndication); + oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.data.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.data.DataRequestReason reason, in android.hardware.radio.data.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in @nullable android.hardware.radio.data.SliceInfo sliceInfo, in boolean matchAllRuleAllowed); + oneway void startHandover(in int serial, in int callId); + oneway void startKeepalive(in int serial, in android.hardware.radio.data.KeepaliveRequest keepalive); + oneway void stopKeepalive(in int serial, in int sessionHandle); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataIndication.aidl new file mode 100644 index 0000000000..6057d6af07 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataIndication.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@VintfStability +interface IRadioDataIndication { + oneway void dataCallListChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.SetupDataCallResult[] dcList); + oneway void keepaliveStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.KeepaliveStatus status); + oneway void pcoData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.PcoDataInfo pco); + oneway void unthrottleApn(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.DataProfileInfo dataProfileInfo); + oneway void slicingConfigChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.SlicingConfig slicingConfig); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataResponse.aidl new file mode 100644 index 0000000000..dc44454f3f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/IRadioDataResponse.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@VintfStability +interface IRadioDataResponse { + oneway void acknowledgeRequest(in int serial); + oneway void allocatePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info, in int id); + oneway void cancelHandoverResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void deactivateDataCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getDataCallListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SetupDataCallResult[] dcResponse); + oneway void getSlicingConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SlicingConfig slicingConfig); + oneway void releasePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataAllowedResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataProfileResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataThrottlingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setInitialAttachApnResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setupDataCallResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SetupDataCallResult dcResponse); + oneway void startHandoverResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.KeepaliveStatus status); + oneway void stopKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveRequest.aidl new file mode 100644 index 0000000000..789ee863f2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveRequest.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable KeepaliveRequest { + int type; + byte[] sourceAddress; + int sourcePort; + byte[] destinationAddress; + int destinationPort; + int maxKeepaliveIntervalMillis; + int cid; + const int TYPE_NATT_IPV4 = 0; + const int TYPE_NATT_IPV6 = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveStatus.aidl new file mode 100644 index 0000000000..404b44a3e0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/KeepaliveStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable KeepaliveStatus { + int sessionHandle; + int code; + const int CODE_ACTIVE = 0; + const int CODE_INACTIVE = 1; + const int CODE_PENDING = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/LinkAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/LinkAddress.aidl new file mode 100644 index 0000000000..bef4c736f8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/LinkAddress.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LinkAddress { + String address; + int addressProperties; + long deprecationTime; + long expirationTime; + const int ADDRESS_PROPERTY_NONE = 0; + const int ADDRESS_PROPERTY_DEPRECATED = 0x20; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/NrQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/NrQos.aidl new file mode 100644 index 0000000000..22bbe42933 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/NrQos.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NrQos { + int fiveQi; + android.hardware.radio.data.QosBandwidth downlink; + android.hardware.radio.data.QosBandwidth uplink; + byte qfi; + /** + * @deprecated use averagingWindowMillis; + */ + char averagingWindowMs; + int averagingWindowMillis = AVERAGING_WINDOW_UNKNOWN /* -1 */; + const byte FLOW_ID_RANGE_MIN = 1; + const byte FLOW_ID_RANGE_MAX = 63; + const int AVERAGING_WINDOW_UNKNOWN = (-1) /* -1 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/OsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/OsAppId.aidl new file mode 100644 index 0000000000..e4bbf79126 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/OsAppId.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable OsAppId { + byte[] osAppId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PcoDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PcoDataInfo.aidl new file mode 100644 index 0000000000..ea7529cb34 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PcoDataInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PcoDataInfo { + int cid; + String bearerProto; + int pcoId; + byte[] contents; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PdpProtocolType.aidl new file mode 100644 index 0000000000..3a7f82d401 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PdpProtocolType.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum PdpProtocolType { + UNKNOWN = (-1) /* -1 */, + IP = 0, + IPV6 = 1, + IPV4V6 = 2, + PPP = 3, + NON_IP = 4, + UNSTRUCTURED = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PortRange.aidl new file mode 100644 index 0000000000..45e2dc9687 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/PortRange.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PortRange { + int start; + int end; + const int PORT_RANGE_MIN = 20; + const int PORT_RANGE_MAX = 65535; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/Qos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/Qos.aidl new file mode 100644 index 0000000000..4dac56c5d9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/Qos.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union Qos { + boolean noinit; + android.hardware.radio.data.EpsQos eps; + android.hardware.radio.data.NrQos nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosBandwidth.aidl new file mode 100644 index 0000000000..b59dee0d40 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosBandwidth.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable QosBandwidth { + int maxBitrateKbps; + int guaranteedBitrateKbps; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilter.aidl new file mode 100644 index 0000000000..a3208d9b6c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilter.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable QosFilter { + String[] localAddresses; + String[] remoteAddresses; + @nullable android.hardware.radio.data.PortRange localPort; + @nullable android.hardware.radio.data.PortRange remotePort; + byte protocol; + android.hardware.radio.data.QosFilterTypeOfService tos; + android.hardware.radio.data.QosFilterIpv6FlowLabel flowLabel; + android.hardware.radio.data.QosFilterIpsecSpi spi; + byte direction; + int precedence; + const byte DIRECTION_DOWNLINK = 0; + const byte DIRECTION_UPLINK = 1; + const byte DIRECTION_BIDIRECTIONAL = 2; + const byte PROTOCOL_UNSPECIFIED = (-1) /* -1 */; + const byte PROTOCOL_TCP = 6; + const byte PROTOCOL_UDP = 17; + const byte PROTOCOL_ESP = 50; + const byte PROTOCOL_AH = 51; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpsecSpi.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpsecSpi.aidl new file mode 100644 index 0000000000..50b52a4957 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpsecSpi.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union QosFilterIpsecSpi { + boolean noinit; + int value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl new file mode 100644 index 0000000000..4913dcf07b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union QosFilterIpv6FlowLabel { + boolean noinit; + int value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterTypeOfService.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterTypeOfService.aidl new file mode 100644 index 0000000000..4f0d2605e1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosFilterTypeOfService.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union QosFilterTypeOfService { + boolean noinit; + byte value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosSession.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosSession.aidl new file mode 100644 index 0000000000..89010a9feb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/QosSession.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable QosSession { + int qosSessionId; + android.hardware.radio.data.Qos qos; + android.hardware.radio.data.QosFilter[] qosFilters; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/RouteSelectionDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/RouteSelectionDescriptor.aidl new file mode 100644 index 0000000000..8864c246d6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/RouteSelectionDescriptor.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RouteSelectionDescriptor { + byte precedence; + android.hardware.radio.data.PdpProtocolType sessionType; + byte sscMode; + android.hardware.radio.data.SliceInfo[] sliceInfo; + String[] dnn; + const byte SSC_MODE_UNKNOWN = (-1) /* -1 */; + const byte SSC_MODE_1 = 1; + const byte SSC_MODE_2 = 2; + const byte SSC_MODE_3 = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SetupDataCallResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SetupDataCallResult.aidl new file mode 100644 index 0000000000..6ae626eab7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SetupDataCallResult.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SetupDataCallResult { + android.hardware.radio.data.DataCallFailCause cause; + long suggestedRetryTime; + int cid; + int active; + android.hardware.radio.data.PdpProtocolType type; + String ifname; + android.hardware.radio.data.LinkAddress[] addresses; + String[] dnses; + String[] gateways; + String[] pcscf; + int mtuV4; + int mtuV6; + android.hardware.radio.data.Qos defaultQos; + android.hardware.radio.data.QosSession[] qosSessions; + byte handoverFailureMode; + int pduSessionId; + @nullable android.hardware.radio.data.SliceInfo sliceInfo; + android.hardware.radio.data.TrafficDescriptor[] trafficDescriptors; + const int DATA_CONNECTION_STATUS_INACTIVE = 0; + const int DATA_CONNECTION_STATUS_DORMANT = 1; + const int DATA_CONNECTION_STATUS_ACTIVE = 2; + const byte HANDOVER_FAILURE_MODE_LEGACY = 0; + const byte HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; + const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; + const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SliceInfo.aidl new file mode 100644 index 0000000000..60df402a81 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SliceInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SliceInfo { + byte sliceServiceType; + int sliceDifferentiator; + byte mappedHplmnSst; + int mappedHplmnSd; + byte status; + const byte SERVICE_TYPE_NONE = 0; + const byte SERVICE_TYPE_EMBB = 1; + const byte SERVICE_TYPE_URLLC = 2; + const byte SERVICE_TYPE_MIOT = 3; + const byte STATUS_UNKNOWN = 0; + const byte STATUS_CONFIGURED = 1; + const byte STATUS_ALLOWED = 2; + const byte STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN = 3; + const byte STATUS_REJECTED_NOT_AVAILABLE_IN_REG_AREA = 4; + const byte STATUS_DEFAULT_CONFIGURED = 5; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SlicingConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SlicingConfig.aidl new file mode 100644 index 0000000000..4d28737134 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/SlicingConfig.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SlicingConfig { + android.hardware.radio.data.UrspRule[] urspRules; + android.hardware.radio.data.SliceInfo[] sliceInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/TrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/TrafficDescriptor.aidl new file mode 100644 index 0000000000..dc474a2d1d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/TrafficDescriptor.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable TrafficDescriptor { + @nullable String dnn; + @nullable android.hardware.radio.data.OsAppId osAppId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/UrspRule.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/UrspRule.aidl new file mode 100644 index 0000000000..6850f6a049 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.data/3/android/hardware/radio/data/UrspRule.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.data; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable UrspRule { + int precedence; + android.hardware.radio.data.TrafficDescriptor[] trafficDescriptors; + android.hardware.radio.data.RouteSelectionDescriptor[] routeSelectionDescriptor; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/.hash b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/.hash new file mode 100644 index 0000000000..9b9d9c1cfe --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/.hash @@ -0,0 +1 @@ +32f1efa112630eb17660b761f3350407239ee725 diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrMode.aidl new file mode 100644 index 0000000000..36a538cdb4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrMode.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum AmrMode { + AMR_MODE_0 = (1 << 0) /* 1 */, + AMR_MODE_1 = (1 << 1) /* 2 */, + AMR_MODE_2 = (1 << 2) /* 4 */, + AMR_MODE_3 = (1 << 3) /* 8 */, + AMR_MODE_4 = (1 << 4) /* 16 */, + AMR_MODE_5 = (1 << 5) /* 32 */, + AMR_MODE_6 = (1 << 6) /* 64 */, + AMR_MODE_7 = (1 << 7) /* 128 */, + AMR_MODE_8 = (1 << 8) /* 256 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrParams.aidl new file mode 100644 index 0000000000..dcf0dd1775 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AmrParams.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable AmrParams { + android.hardware.radio.ims.media.AmrMode amrMode; + boolean octetAligned; + int maxRedundancyMillis; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AnbrMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AnbrMode.aidl new file mode 100644 index 0000000000..eca7b9323c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/AnbrMode.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable AnbrMode { + android.hardware.radio.ims.media.CodecMode anbrUplinkMode; + android.hardware.radio.ims.media.CodecMode anbrDownlinkMode; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CallQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CallQuality.aidl new file mode 100644 index 0000000000..594a39faee --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CallQuality.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CallQuality { + int downlinkCallQualityLevel; + int uplinkCallQualityLevel; + int callDuration; + int numRtpPacketsTransmitted; + int numRtpPacketsReceived; + int numRtpPacketsTransmittedLost; + int numRtpPacketsNotReceived; + int averageRelativeJitter; + int maxRelativeJitter; + int averageRoundTripTime; + int codecType; + boolean rtpInactivityDetected; + boolean rxSilenceDetected; + boolean txSilenceDetected; + int numVoiceFrames; + int numNoDataFrames; + int numDroppedRtpPackets; + long minPlayoutDelayMillis; + long maxPlayoutDelayMillis; + int numRtpSidPacketsReceived; + int numRtpDuplicatePackets; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecMode.aidl new file mode 100644 index 0000000000..644321cd3f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecMode.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union CodecMode { + boolean noinit; + android.hardware.radio.ims.media.AmrMode amr; + android.hardware.radio.ims.media.EvsMode evs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecParams.aidl new file mode 100644 index 0000000000..6eefb347c4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecParams.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CodecParams { + android.hardware.radio.ims.media.CodecType codecType; + byte rxPayloadTypeNumber; + byte txPayloadTypeNumber; + byte samplingRateKHz; + boolean dtxEnabled; + android.hardware.radio.ims.media.CodecSpecificParams codecSpecificParams; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecSpecificParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecSpecificParams.aidl new file mode 100644 index 0000000000..7e5722f935 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecSpecificParams.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union CodecSpecificParams { + android.hardware.radio.ims.media.AmrParams amr; + android.hardware.radio.ims.media.EvsParams evs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecType.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecType.aidl new file mode 100644 index 0000000000..98463b184b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/CodecType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CodecType { + AMR = (1 << 0) /* 1 */, + AMR_WB = (1 << 1) /* 2 */, + EVS = (1 << 2) /* 4 */, + PCMA = (1 << 3) /* 8 */, + PCMU = (1 << 4) /* 16 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/DtmfParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/DtmfParams.aidl new file mode 100644 index 0000000000..f420fa71d2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/DtmfParams.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable DtmfParams { + byte rxPayloadTypeNumber; + byte txPayloadTypeNumber; + byte samplingRateKHz; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsBandwidth.aidl new file mode 100644 index 0000000000..d8c77bdccc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsBandwidth.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EvsBandwidth { + NONE = 0, + NARROW_BAND = (1 << 0) /* 1 */, + WIDE_BAND = (1 << 1) /* 2 */, + SUPER_WIDE_BAND = (1 << 2) /* 4 */, + FULL_BAND = (1 << 3) /* 8 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsMode.aidl new file mode 100644 index 0000000000..1a593890fd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsMode.aidl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EvsMode { + EVS_MODE_0 = (1 << 0) /* 1 */, + EVS_MODE_1 = (1 << 1) /* 2 */, + EVS_MODE_2 = (1 << 2) /* 4 */, + EVS_MODE_3 = (1 << 3) /* 8 */, + EVS_MODE_4 = (1 << 4) /* 16 */, + EVS_MODE_5 = (1 << 5) /* 32 */, + EVS_MODE_6 = (1 << 6) /* 64 */, + EVS_MODE_7 = (1 << 7) /* 128 */, + EVS_MODE_8 = (1 << 8) /* 256 */, + EVS_MODE_9 = (1 << 9) /* 512 */, + EVS_MODE_10 = (1 << 10) /* 1024 */, + EVS_MODE_11 = (1 << 11) /* 2048 */, + EVS_MODE_12 = (1 << 12) /* 4096 */, + EVS_MODE_13 = (1 << 13) /* 8192 */, + EVS_MODE_14 = (1 << 14) /* 16384 */, + EVS_MODE_15 = (1 << 15) /* 32768 */, + EVS_MODE_16 = (1 << 16) /* 65536 */, + EVS_MODE_17 = (1 << 17) /* 131072 */, + EVS_MODE_18 = (1 << 18) /* 262144 */, + EVS_MODE_19 = (1 << 19) /* 524288 */, + EVS_MODE_20 = (1 << 20) /* 1048576 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsParams.aidl new file mode 100644 index 0000000000..deb53af54a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/EvsParams.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EvsParams { + android.hardware.radio.ims.media.EvsBandwidth bandwidth; + android.hardware.radio.ims.media.EvsMode evsMode; + byte channelAwareMode; + boolean useHeaderFullOnly; + boolean useEvsModeSwitch; + byte codecModeRequest; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMedia.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMedia.aidl new file mode 100644 index 0000000000..190d25b61c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMedia.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@VintfStability +interface IImsMedia { + oneway void setListener(in android.hardware.radio.ims.media.IImsMediaListener mediaListener); + oneway void openSession(int sessionId, in android.hardware.radio.ims.media.LocalEndPoint localEndPoint, in android.hardware.radio.ims.media.RtpConfig config); + oneway void closeSession(int sessionId); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaListener.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaListener.aidl new file mode 100644 index 0000000000..9b7a392edd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaListener.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@VintfStability +interface IImsMediaListener { + oneway void onOpenSessionSuccess(int sessionId, android.hardware.radio.ims.media.IImsMediaSession session); + oneway void onOpenSessionFailure(int sessionId, android.hardware.radio.ims.media.RtpError error); + oneway void onSessionClosed(int sessionId); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSession.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSession.aidl new file mode 100644 index 0000000000..2150fbe0a1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSession.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@VintfStability +interface IImsMediaSession { + oneway void setListener(in android.hardware.radio.ims.media.IImsMediaSessionListener sessionListener); + oneway void modifySession(in android.hardware.radio.ims.media.RtpConfig config); + oneway void sendDtmf(char dtmfDigit, int duration); + oneway void startDtmf(char dtmfDigit); + oneway void stopDtmf(); + oneway void sendHeaderExtension(in List extensions); + oneway void setMediaQualityThreshold(in android.hardware.radio.ims.media.MediaQualityThreshold threshold); + oneway void requestRtpReceptionStats(in int intervalMs); + oneway void adjustDelay(in int delayMs); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSessionListener.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSessionListener.aidl new file mode 100644 index 0000000000..87474eff37 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/IImsMediaSessionListener.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@VintfStability +interface IImsMediaSessionListener { + oneway void onModifySessionResponse(in android.hardware.radio.ims.media.RtpConfig config, android.hardware.radio.ims.media.RtpError error); + oneway void onFirstMediaPacketReceived(in android.hardware.radio.ims.media.RtpConfig config); + oneway void onHeaderExtensionReceived(in List extensions); + oneway void notifyMediaQualityStatus(in android.hardware.radio.ims.media.MediaQualityStatus quality); + oneway void triggerAnbrQuery(in android.hardware.radio.ims.media.RtpConfig config); + oneway void onDtmfReceived(char dtmfDigit, int durationMs); + oneway void onCallQualityChanged(in android.hardware.radio.ims.media.CallQuality callQuality); + oneway void notifyRtpReceptionStats(in android.hardware.radio.ims.media.RtpReceptionStats stats); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/LocalEndPoint.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/LocalEndPoint.aidl new file mode 100644 index 0000000000..1095f01ea1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/LocalEndPoint.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LocalEndPoint { + ParcelFileDescriptor rtpFd; + ParcelFileDescriptor rtcpFd; + int modemId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaDirection.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaDirection.aidl new file mode 100644 index 0000000000..5410f2ade0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaDirection.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum MediaDirection { + NO_FLOW = 0, + RTP_TX = (1 << 0) /* 1 */, + RTP_RX = (1 << 1) /* 2 */, + RTCP_TX = (1 << 2) /* 4 */, + RTCP_RX = (1 << 3) /* 8 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityStatus.aidl new file mode 100644 index 0000000000..da6e751243 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityStatus.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable MediaQualityStatus { + int rtpInactivityTimeMillis; + int rtcpInactivityTimeMillis; + int rtpPacketLossRate; + int rtpJitterMillis; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityThreshold.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityThreshold.aidl new file mode 100644 index 0000000000..ecc379c071 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/MediaQualityThreshold.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable MediaQualityThreshold { + int[] rtpInactivityTimerMillis; + int rtcpInactivityTimerMillis; + int rtpPacketLossDurationMillis; + int rtpHysteresisTimeInMillis; + int[] rtpPacketLossRate; + int[] rtpJitterMillis; + boolean notifyCurrentStatus; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpConfig.aidl new file mode 100644 index 0000000000..0bc41547fa --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpConfig.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RtcpConfig { + String canonicalName; + int transmitPort; + int transmitIntervalSec; + int rtcpXrBlocks; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpXrReportBlockType.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpXrReportBlockType.aidl new file mode 100644 index 0000000000..714442cce6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtcpXrReportBlockType.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RtcpXrReportBlockType { + RTCPXR_NONE = 0, + RTCPXR_LOSS_RLE_REPORT_BLOCK = (1 << 0) /* 1 */, + RTCPXR_DUPLICATE_RLE_REPORT_BLOCK = (1 << 1) /* 2 */, + RTCPXR_PACKET_RECEIPT_TIMES_REPORT_BLOCK = (1 << 2) /* 4 */, + RTCPXR_RECEIVER_REFERENCE_TIME_REPORT_BLOCK = (1 << 3) /* 8 */, + RTCPXR_DLRR_REPORT_BLOCK = (1 << 4) /* 16 */, + RTCPXR_STATISTICS_SUMMARY_REPORT_BLOCK = (1 << 5) /* 32 */, + RTCPXR_VOIP_METRICS_REPORT_BLOCK = (1 << 6) /* 64 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpAddress.aidl new file mode 100644 index 0000000000..dd7f4661f7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpAddress.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RtpAddress { + String ipAddress; + int portNumber; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpConfig.aidl new file mode 100644 index 0000000000..472ec35010 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpConfig.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RtpConfig { + int direction; + android.hardware.radio.AccessNetwork accessNetwork; + android.hardware.radio.ims.media.RtpAddress remoteAddress; + android.hardware.radio.ims.media.RtpSessionParams sessionParams; + android.hardware.radio.ims.media.RtcpConfig rtcpConfig; + android.hardware.radio.ims.media.AnbrMode anbrModeParams; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpError.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpError.aidl new file mode 100644 index 0000000000..97dacf1804 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpError.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RtpError { + NONE = 0, + INVALID_PARAM = 1, + NOT_READY = 2, + NO_MEMORY = 3, + NO_RESOURCES = 4, + PORT_UNAVAILABLE = 5, + NOT_SUPPORTED = 6, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpHeaderExtension.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpHeaderExtension.aidl new file mode 100644 index 0000000000..06207ee4d3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpHeaderExtension.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RtpHeaderExtension { + int localId; + byte[] data; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpReceptionStats.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpReceptionStats.aidl new file mode 100644 index 0000000000..216da4c55c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpReceptionStats.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +@VintfStability +parcelable RtpReceptionStats { + int rtpTimestamp; + int rtcpSrTimestamp; + long rtcpSrNtpTimestamp; + int jitterBufferMs; + int roundTripTimeMs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpSessionParams.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpSessionParams.aidl new file mode 100644 index 0000000000..4107432676 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims.media/2/android/hardware/radio/ims/media/RtpSessionParams.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims.media; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RtpSessionParams { + byte pTimeMillis; + int maxPtimeMillis; + byte dscp; + android.hardware.radio.ims.media.DtmfParams dtmfParams; + android.hardware.radio.ims.media.CodecParams codecParams; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/.hash b/radio/aidl/aidl_api/android.hardware.radio.ims/2/.hash new file mode 100644 index 0000000000..7b058acd54 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/.hash @@ -0,0 +1 @@ +ec0dfedf764f3916783848c540ad312a74fa755d diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ConnectionFailureInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ConnectionFailureInfo.aidl new file mode 100644 index 0000000000..421f752010 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ConnectionFailureInfo.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ConnectionFailureInfo { + android.hardware.radio.ims.ConnectionFailureInfo.ConnectionFailureReason failureReason; + int causeCode; + int waitTimeMillis; + @Backing(type="int") @VintfStability + enum ConnectionFailureReason { + REASON_ACCESS_DENIED = 1, + REASON_NAS_FAILURE = 2, + REASON_RACH_FAILURE = 3, + REASON_RLC_FAILURE = 4, + REASON_RRC_REJECT = 5, + REASON_RRC_TIMEOUT = 6, + REASON_NO_SERVICE = 7, + REASON_PDN_NOT_AVAILABLE = 8, + REASON_RF_BUSY = 9, + REASON_UNSPECIFIED = 0xFFFF, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/EpsFallbackReason.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/EpsFallbackReason.aidl new file mode 100644 index 0000000000..75099e7f1a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/EpsFallbackReason.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EpsFallbackReason { + NO_NETWORK_TRIGGER = 1, + NO_NETWORK_RESPONSE = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioIms.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioIms.aidl new file mode 100644 index 0000000000..6018a4b904 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioIms.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@VintfStability +interface IRadioIms { + oneway void setSrvccCallInfo(int serial, in android.hardware.radio.ims.SrvccCall[] srvccCalls); + oneway void updateImsRegistrationInfo(int serial, in android.hardware.radio.ims.ImsRegistration imsRegistration); + oneway void startImsTraffic(int serial, int token, android.hardware.radio.ims.ImsTrafficType imsTrafficType, android.hardware.radio.AccessNetwork accessNetworkType, android.hardware.radio.ims.ImsCall.Direction trafficDirection); + oneway void stopImsTraffic(int serial, int token); + oneway void triggerEpsFallback(int serial, in android.hardware.radio.ims.EpsFallbackReason reason); + oneway void setResponseFunctions(in android.hardware.radio.ims.IRadioImsResponse radioImsResponse, in android.hardware.radio.ims.IRadioImsIndication radioImsIndication); + oneway void sendAnbrQuery(int serial, android.hardware.radio.ims.ImsStreamType mediaType, android.hardware.radio.ims.ImsStreamDirection direction, int bitsPerSecond); + oneway void updateImsCallStatus(int serial, in android.hardware.radio.ims.ImsCall[] imsCalls); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsIndication.aidl new file mode 100644 index 0000000000..c754af3806 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsIndication.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@VintfStability +interface IRadioImsIndication { + oneway void onConnectionSetupFailure(in android.hardware.radio.RadioIndicationType type, int token, in android.hardware.radio.ims.ConnectionFailureInfo info); + oneway void notifyAnbr(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.ims.ImsStreamType mediaType, in android.hardware.radio.ims.ImsStreamDirection direction, int bitsPerSecond); + oneway void triggerImsDeregistration(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.ims.ImsDeregistrationReason reason); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsResponse.aidl new file mode 100644 index 0000000000..fbb1bfc66c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/IRadioImsResponse.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@VintfStability +interface IRadioImsResponse { + oneway void setSrvccCallInfoResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void updateImsRegistrationInfoResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startImsTrafficResponse(in android.hardware.radio.RadioResponseInfo info, in @nullable android.hardware.radio.ims.ConnectionFailureInfo failureInfo); + oneway void stopImsTrafficResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void triggerEpsFallbackResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendAnbrQueryResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void updateImsCallStatusResponse(in android.hardware.radio.RadioResponseInfo info); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsCall.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsCall.aidl new file mode 100644 index 0000000000..3895d75d6e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsCall.aidl @@ -0,0 +1,65 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ImsCall { + int index; + android.hardware.radio.ims.ImsCall.CallType callType; + android.hardware.radio.AccessNetwork accessNetwork; + android.hardware.radio.ims.ImsCall.CallState callState; + android.hardware.radio.ims.ImsCall.Direction direction; + boolean isHeldByRemote; + @Backing(type="int") + enum CallType { + NORMAL, + EMERGENCY, + } + @Backing(type="int") + enum CallState { + ACTIVE, + HOLDING, + DIALING, + ALERTING, + INCOMING, + WAITING, + DISCONNECTING, + DISCONNECTED, + } + @Backing(type="int") + enum Direction { + INCOMING, + OUTGOING, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsDeregistrationReason.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsDeregistrationReason.aidl new file mode 100644 index 0000000000..5b5bd405f5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsDeregistrationReason.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ImsDeregistrationReason { + REASON_SIM_REMOVED = 1, + REASON_SIM_REFRESH = 2, + REASON_ALLOWED_NETWORK_TYPES_CHANGED = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistration.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistration.aidl new file mode 100644 index 0000000000..66d81650fb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistration.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ImsRegistration { + android.hardware.radio.ims.ImsRegistrationState regState; + android.hardware.radio.AccessNetwork accessNetworkType; + android.hardware.radio.ims.SuggestedAction suggestedAction; + int capabilities; + const int IMS_MMTEL_CAPABILITY_NONE = 0; + const int IMS_MMTEL_CAPABILITY_VOICE = (1 << 0) /* 1 */; + const int IMS_MMTEL_CAPABILITY_VIDEO = (1 << 1) /* 2 */; + const int IMS_MMTEL_CAPABILITY_SMS = (1 << 2) /* 4 */; + const int IMS_RCS_CAPABILITIES = (1 << 3) /* 8 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistrationState.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistrationState.aidl new file mode 100644 index 0000000000..01ae565d79 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsRegistrationState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ImsRegistrationState { + NOT_REGISTERED, + REGISTERED, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamDirection.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamDirection.aidl new file mode 100644 index 0000000000..efc35511bc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamDirection.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ImsStreamDirection { + UPLINK = 1, + DOWNLINK = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamType.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamType.aidl new file mode 100644 index 0000000000..853f4b5c0e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsStreamType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ImsStreamType { + AUDIO = 1, + VIDEO = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsTrafficType.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsTrafficType.aidl new file mode 100644 index 0000000000..4eeda9db07 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/ImsTrafficType.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ImsTrafficType { + EMERGENCY, + EMERGENCY_SMS, + VOICE, + VIDEO, + SMS, + REGISTRATION, + UT_XCAP, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SrvccCall.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SrvccCall.aidl new file mode 100644 index 0000000000..21645dae0a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SrvccCall.aidl @@ -0,0 +1,65 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SrvccCall { + int index; + android.hardware.radio.ims.SrvccCall.CallType callType; + int callState; + android.hardware.radio.ims.SrvccCall.CallSubState callSubstate; + android.hardware.radio.ims.SrvccCall.ToneType ringbackToneType; + boolean isMpty; + boolean isMT; + String number; + int numPresentation; + String name; + int namePresentation; + @Backing(type="int") @VintfStability + enum CallType { + NORMAL, + EMERGENCY, + } + @Backing(type="int") @VintfStability + enum CallSubState { + NONE, + PREALERTING, + } + @Backing(type="int") @VintfStability + enum ToneType { + NONE, + LOCAL, + NETWORK, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SuggestedAction.aidl b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SuggestedAction.aidl new file mode 100644 index 0000000000..98460061ac --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.ims/2/android/hardware/radio/ims/SuggestedAction.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.ims; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum SuggestedAction { + NONE, + TRIGGER_PLMN_BLOCK, + TRIGGER_PLMN_BLOCK_WITH_TIMEOUT, + TRIGGER_RAT_BLOCK, + TRIGGER_CLEAR_RAT_BLOCKS, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/.hash new file mode 100644 index 0000000000..3347c21759 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/.hash @@ -0,0 +1 @@ +30b0bc0e84679bc3b5ccb3a52da34c47cda6b7eb diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..abfb308bf9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaBroadcastSmsConfigInfo { + int serviceCategory; + int language; + boolean selected; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAck.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAck.aidl new file mode 100644 index 0000000000..ee8371c686 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAck.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSmsAck { + boolean errorClass; + int smsCauseCode; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAddress.aidl new file mode 100644 index 0000000000..7382b1fd3b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsAddress.aidl @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSmsAddress { + int digitMode; + boolean isNumberModeDataNetwork; + int numberType; + int numberPlan; + byte[] digits; + const int DIGIT_MODE_FOUR_BIT = 0; + const int DIGIT_MODE_EIGHT_BIT = 1; + const int NUMBER_PLAN_UNKNOWN = 0; + const int NUMBER_PLAN_TELEPHONY = 1; + const int NUMBER_PLAN_RESERVED_2 = 2; + const int NUMBER_PLAN_DATA = 3; + const int NUMBER_PLAN_TELEX = 4; + const int NUMBER_PLAN_RESERVED_5 = 5; + const int NUMBER_PLAN_RESERVED_6 = 6; + const int NUMBER_PLAN_RESERVED_7 = 7; + const int NUMBER_PLAN_RESERVED_8 = 8; + const int NUMBER_PLAN_PRIVATE = 9; + const int NUMBER_PLAN_RESERVED_10 = 10; + const int NUMBER_PLAN_RESERVED_11 = 11; + const int NUMBER_PLAN_RESERVED_12 = 12; + const int NUMBER_PLAN_RESERVED_13 = 13; + const int NUMBER_PLAN_RESERVED_14 = 14; + const int NUMBER_PLAN_RESERVED_15 = 15; + const int NUMBER_TYPE_UNKNOWN = 0; + const int NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP = 1; + const int NUMBER_TYPE_NATIONAL_OR_INTERNET_MAIL = 2; + const int NUMBER_TYPE_NETWORK = 3; + const int NUMBER_TYPE_SUBSCRIBER = 4; + const int NUMBER_TYPE_ALPHANUMERIC = 5; + const int NUMBER_TYPE_ABBREVIATED = 6; + const int NUMBER_TYPE_RESERVED_7 = 7; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsMessage.aidl new file mode 100644 index 0000000000..0e98f4b844 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsMessage.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSmsMessage { + int teleserviceId; + boolean isServicePresent; + int serviceCategory; + android.hardware.radio.messaging.CdmaSmsAddress address; + android.hardware.radio.messaging.CdmaSmsSubaddress subAddress; + byte[] bearerData; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl new file mode 100644 index 0000000000..a0e3991910 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSmsSubaddress { + int subaddressType; + boolean odd; + byte[] digits; + const int SUBADDRESS_TYPE_NSAP = 0; + const int SUBADDRESS_TYPE_USER_SPECIFIED = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl new file mode 100644 index 0000000000..d6292e7b2e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSmsWriteArgs { + int status; + android.hardware.radio.messaging.CdmaSmsMessage message; + const int STATUS_REC_UNREAD = 0; + const int STATUS_REC_READ = 1; + const int STATUS_STO_UNSENT = 2; + const int STATUS_STO_SENT = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..1ccba8614e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable GsmBroadcastSmsConfigInfo { + int fromServiceId; + int toServiceId; + int fromCodeScheme; + int toCodeScheme; + boolean selected; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmSmsMessage.aidl new file mode 100644 index 0000000000..bdd7d0c396 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/GsmSmsMessage.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable GsmSmsMessage { + String smscPdu; + String pdu; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessaging.aidl new file mode 100644 index 0000000000..bf5fde5045 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessaging.aidl @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@VintfStability +interface IRadioMessaging { + oneway void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu); + oneway void acknowledgeLastIncomingCdmaSms(in int serial, in android.hardware.radio.messaging.CdmaSmsAck smsAck); + oneway void acknowledgeLastIncomingGsmSms(in int serial, in boolean success, in android.hardware.radio.messaging.SmsAcknowledgeFailCause cause); + oneway void deleteSmsOnRuim(in int serial, in int index); + oneway void deleteSmsOnSim(in int serial, in int index); + oneway void getCdmaBroadcastConfig(in int serial); + oneway void getGsmBroadcastConfig(in int serial); + oneway void getSmscAddress(in int serial); + oneway void reportSmsMemoryStatus(in int serial, in boolean available); + oneway void responseAcknowledgement(); + oneway void sendCdmaSms(in int serial, in android.hardware.radio.messaging.CdmaSmsMessage sms); + oneway void sendCdmaSmsExpectMore(in int serial, in android.hardware.radio.messaging.CdmaSmsMessage sms); + oneway void sendImsSms(in int serial, in android.hardware.radio.messaging.ImsSmsMessage message); + oneway void sendSms(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message); + oneway void sendSmsExpectMore(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message); + oneway void setCdmaBroadcastActivation(in int serial, in boolean activate); + oneway void setCdmaBroadcastConfig(in int serial, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configInfo); + oneway void setGsmBroadcastActivation(in int serial, in boolean activate); + oneway void setGsmBroadcastConfig(in int serial, in android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo[] configInfo); + oneway void setResponseFunctions(in android.hardware.radio.messaging.IRadioMessagingResponse radioMessagingResponse, in android.hardware.radio.messaging.IRadioMessagingIndication radioMessagingIndication); + oneway void setSmscAddress(in int serial, in String smsc); + oneway void writeSmsToRuim(in int serial, in android.hardware.radio.messaging.CdmaSmsWriteArgs cdmaSms); + oneway void writeSmsToSim(in int serial, in android.hardware.radio.messaging.SmsWriteArgs smsWriteArgs); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingIndication.aidl new file mode 100644 index 0000000000..389fb2659a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingIndication.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@VintfStability +interface IRadioMessagingIndication { + oneway void cdmaNewSms(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.messaging.CdmaSmsMessage msg); + oneway void cdmaRuimSmsStorageFull(in android.hardware.radio.RadioIndicationType type); + oneway void newBroadcastSms(in android.hardware.radio.RadioIndicationType type, in byte[] data); + oneway void newSms(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); + oneway void newSmsOnSim(in android.hardware.radio.RadioIndicationType type, in int recordNumber); + oneway void newSmsStatusReport(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); + oneway void simSmsStorageFull(in android.hardware.radio.RadioIndicationType type); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingResponse.aidl new file mode 100644 index 0000000000..9b10464837 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/IRadioMessagingResponse.aidl @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@VintfStability +interface IRadioMessagingResponse { + oneway void acknowledgeIncomingGsmSmsWithPduResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeLastIncomingCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeLastIncomingGsmSmsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeRequest(in int serial); + oneway void deleteSmsOnRuimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void deleteSmsOnSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configs); + oneway void getGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo[] configs); + oneway void getSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info, in String smsc); + oneway void reportSmsMemoryStatusResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendCdmaSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); + oneway void sendCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); + oneway void sendImsSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); + oneway void sendSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); + oneway void sendSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms); + oneway void setCdmaBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setGsmBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void writeSmsToRuimResponse(in android.hardware.radio.RadioResponseInfo info, in int index); + oneway void writeSmsToSimResponse(in android.hardware.radio.RadioResponseInfo info, in int index); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/ImsSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/ImsSmsMessage.aidl new file mode 100644 index 0000000000..40b9ddbb40 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/ImsSmsMessage.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ImsSmsMessage { + android.hardware.radio.RadioTechnologyFamily tech; + boolean retry; + int messageRef; + android.hardware.radio.messaging.CdmaSmsMessage[] cdmaMessage; + android.hardware.radio.messaging.GsmSmsMessage[] gsmMessage; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SendSmsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SendSmsResult.aidl new file mode 100644 index 0000000000..3f1d120a99 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SendSmsResult.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SendSmsResult { + int messageRef; + String ackPDU; + int errorCode; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl new file mode 100644 index 0000000000..6aeda3ef4b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum SmsAcknowledgeFailCause { + MEMORY_CAPACITY_EXCEEDED = 0xD3, + UNSPECIFIED_ERROR = 0XFF, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsWriteArgs.aidl new file mode 100644 index 0000000000..a294b47767 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/3/android/hardware/radio/messaging/SmsWriteArgs.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.messaging; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SmsWriteArgs { + int status; + String pdu; + String smsc; + const int STATUS_REC_UNREAD = 0; + const int STATUS_REC_READ = 1; + const int STATUS_STO_UNSENT = 2; + const int STATUS_STO_SENT = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.modem/3/.hash new file mode 100644 index 0000000000..79f0d7102f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/.hash @@ -0,0 +1 @@ +8586a5528f0085c15cff4b6628f1b8153aca29ad diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsInfo.aidl new file mode 100644 index 0000000000..c834342e75 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ActivityStatsInfo { + int sleepModeTimeMs; + int idleModeTimeMs; + android.hardware.radio.modem.ActivityStatsTechSpecificInfo[] techSpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl new file mode 100644 index 0000000000..b44ab71e3f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ActivityStatsTechSpecificInfo { + android.hardware.radio.AccessNetwork rat; + int frequencyRange; + int[] txmModetimeMs; + int rxModeTimeMs; + const int FREQUENCY_RANGE_UNKNOWN = 0; + const int FREQUENCY_RANGE_LOW = 1; + const int FREQUENCY_RANGE_MID = 2; + const int FREQUENCY_RANGE_HIGH = 3; + const int FREQUENCY_RANGE_MMWAVE = 4; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/DeviceStateType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/DeviceStateType.aidl new file mode 100644 index 0000000000..1159f93b51 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/DeviceStateType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum DeviceStateType { + POWER_SAVE_MODE, + CHARGING_STATE, + LOW_DATA_EXPECTED, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfig.aidl new file mode 100644 index 0000000000..2d814efbe2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfig.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable HardwareConfig { + int type; + String uuid; + int state; + android.hardware.radio.modem.HardwareConfigModem[] modem; + android.hardware.radio.modem.HardwareConfigSim[] sim; + const int STATE_ENABLED = 0; + const int STATE_STANDBY = 1; + const int STATE_DISABLED = 2; + const int TYPE_MODEM = 0; + const int TYPE_SIM = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigModem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigModem.aidl new file mode 100644 index 0000000000..d453cb01c3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigModem.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable HardwareConfigModem { + int rilModel; + android.hardware.radio.RadioTechnology rat; + int maxVoiceCalls; + int maxDataCalls; + int maxStandby; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigSim.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigSim.aidl new file mode 100644 index 0000000000..4c2e31b82a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/HardwareConfigSim.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable HardwareConfigSim { + String modemUuid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModem.aidl new file mode 100644 index 0000000000..bd8ba4734b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModem.aidl @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@VintfStability +interface IRadioModem { + oneway void enableModem(in int serial, in boolean on); + oneway void getBasebandVersion(in int serial); + /** + * @deprecated use getImei(int serial) + */ + oneway void getDeviceIdentity(in int serial); + oneway void getHardwareConfig(in int serial); + oneway void getModemActivityInfo(in int serial); + oneway void getModemStackStatus(in int serial); + oneway void getRadioCapability(in int serial); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvReadItem(in int serial, in android.hardware.radio.modem.NvItem itemId); + oneway void nvResetConfig(in int serial, in android.hardware.radio.modem.ResetNvType resetType); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvWriteCdmaPrl(in int serial, in byte[] prl); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvWriteItem(in int serial, in android.hardware.radio.modem.NvWriteItem item); + oneway void requestShutdown(in int serial); + oneway void responseAcknowledgement(); + oneway void sendDeviceState(in int serial, in android.hardware.radio.modem.DeviceStateType deviceStateType, in boolean state); + oneway void setRadioCapability(in int serial, in android.hardware.radio.modem.RadioCapability rc); + oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, in boolean preferredForEmergencyCall); + oneway void setResponseFunctions(in android.hardware.radio.modem.IRadioModemResponse radioModemResponse, in android.hardware.radio.modem.IRadioModemIndication radioModemIndication); + oneway void getImei(in int serial); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemIndication.aidl new file mode 100644 index 0000000000..3c06877587 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemIndication.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@VintfStability +interface IRadioModemIndication { + oneway void hardwareConfigChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.HardwareConfig[] configs); + oneway void modemReset(in android.hardware.radio.RadioIndicationType type, in String reason); + oneway void radioCapabilityIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.RadioCapability rc); + oneway void radioStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.RadioState radioState); + oneway void rilConnected(in android.hardware.radio.RadioIndicationType type); + oneway void onImeiMappingChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.ImeiInfo imeiInfo); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemResponse.aidl new file mode 100644 index 0000000000..b9ef51b342 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/IRadioModemResponse.aidl @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@VintfStability +interface IRadioModemResponse { + oneway void acknowledgeRequest(in int serial); + oneway void enableModemResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getBasebandVersionResponse(in android.hardware.radio.RadioResponseInfo info, in String version); + /** + * @deprecated use getImeiResponse(RadioResponseInfo responseInfo, ImeiInfo imeiInfo) + */ + oneway void getDeviceIdentityResponse(in android.hardware.radio.RadioResponseInfo info, in String imei, in String imeisv, in String esn, in String meid); + oneway void getHardwareConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.HardwareConfig[] config); + oneway void getModemActivityInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.ActivityStatsInfo activityInfo); + oneway void getModemStackStatusResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); + oneway void getRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.RadioCapability rc); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvReadItemResponse(in android.hardware.radio.RadioResponseInfo info, in String result); + oneway void nvResetConfigResponse(in android.hardware.radio.RadioResponseInfo info); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvWriteCdmaPrlResponse(in android.hardware.radio.RadioResponseInfo info); + /** + * @deprecated NV APIs are deprecated starting from Android U. + */ + oneway void nvWriteItemResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void requestShutdownResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendDeviceStateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.RadioCapability rc); + oneway void setRadioPowerResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getImeiResponse(in android.hardware.radio.RadioResponseInfo responseInfo, in @nullable android.hardware.radio.modem.ImeiInfo imeiInfo); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ImeiInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ImeiInfo.aidl new file mode 100644 index 0000000000..a2df30ddfa --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ImeiInfo.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ImeiInfo { + android.hardware.radio.modem.ImeiInfo.ImeiType type; + String imei; + String svn; + @Backing(type="int") @VintfStability + enum ImeiType { + PRIMARY = 1, + SECONDARY = 2, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvItem.aidl new file mode 100644 index 0000000000..f97b9a2017 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvItem.aidl @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/** + * @hide + * @deprecated NV APIs are deprecated starting from Android U. + */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum NvItem { + CDMA_MEID = 1, + CDMA_MIN = 2, + CDMA_MDN = 3, + CDMA_ACCOLC = 4, + DEVICE_MSL = 11, + RTN_RECONDITIONED_STATUS = 12, + RTN_ACTIVATION_DATE = 13, + RTN_LIFE_TIMER = 14, + RTN_LIFE_CALLS = 15, + RTN_LIFE_DATA_TX = 16, + RTN_LIFE_DATA_RX = 17, + OMADM_HFA_LEVEL = 18, + MIP_PROFILE_NAI = 31, + MIP_PROFILE_HOME_ADDRESS = 32, + MIP_PROFILE_AAA_AUTH = 33, + MIP_PROFILE_HA_AUTH = 34, + MIP_PROFILE_PRI_HA_ADDR = 35, + MIP_PROFILE_SEC_HA_ADDR = 36, + MIP_PROFILE_REV_TUN_PREF = 37, + MIP_PROFILE_HA_SPI = 38, + MIP_PROFILE_AAA_SPI = 39, + MIP_PROFILE_MN_HA_SS = 40, + MIP_PROFILE_MN_AAA_SS = 41, + CDMA_PRL_VERSION = 51, + CDMA_BC10 = 52, + CDMA_BC14 = 53, + CDMA_SO68 = 54, + CDMA_SO73_COP0 = 55, + CDMA_SO73_COP1TO7 = 56, + CDMA_1X_ADVANCED_ENABLED = 57, + CDMA_EHRPD_ENABLED = 58, + CDMA_EHRPD_FORCED = 59, + LTE_BAND_ENABLE_25 = 71, + LTE_BAND_ENABLE_26 = 72, + LTE_BAND_ENABLE_41 = 73, + LTE_SCAN_PRIORITY_25 = 74, + LTE_SCAN_PRIORITY_26 = 75, + LTE_SCAN_PRIORITY_41 = 76, + LTE_HIDDEN_BAND_PRIORITY_25 = 77, + LTE_HIDDEN_BAND_PRIORITY_26 = 78, + LTE_HIDDEN_BAND_PRIORITY_41 = 79, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvWriteItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvWriteItem.aidl new file mode 100644 index 0000000000..c38ceb779a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/NvWriteItem.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/** + * @hide + * @deprecated NV APIs are deprecated starting from Android U. + */ +@JavaDerive(toString=true) @VintfStability +parcelable NvWriteItem { + android.hardware.radio.modem.NvItem itemId; + String value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioCapability.aidl new file mode 100644 index 0000000000..bc3cfccde4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioCapability.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RadioCapability { + int session; + int phase; + int raf; + String logicalModemUuid; + int status; + const int PHASE_CONFIGURED = 0; + const int PHASE_START = 1; + const int PHASE_APPLY = 2; + const int PHASE_UNSOL_RSP = 3; + const int PHASE_FINISH = 4; + const int STATUS_NONE = 0; + const int STATUS_SUCCESS = 1; + const int STATUS_FAIL = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioState.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioState.aidl new file mode 100644 index 0000000000..3383fa4a97 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/RadioState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioState { + OFF = 0, + UNAVAILABLE = 1, + ON = 10, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ResetNvType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ResetNvType.aidl new file mode 100644 index 0000000000..b4208b7754 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/3/android/hardware/radio/modem/ResetNvType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.modem; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ResetNvType { + RELOAD, + ERASE, + FACTORY_RESET, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.network/3/.hash new file mode 100644 index 0000000000..749da79668 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/.hash @@ -0,0 +1 @@ +c45c122528c07c449ea08f6eacaace17bb7abc38 diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl new file mode 100644 index 0000000000..667a8a770a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union AccessTechnologySpecificInfo { + boolean noinit; + android.hardware.radio.network.Cdma2000RegistrationInfo cdmaInfo; + android.hardware.radio.network.EutranRegistrationInfo eutranInfo; + android.hardware.radio.network.NrVopsInfo ngranNrVopsInfo; + boolean geranDtmSupported; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringInfo.aidl new file mode 100644 index 0000000000..67c9349e9e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringInfo.aidl @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable BarringInfo { + int serviceType; + int barringType; + @nullable android.hardware.radio.network.BarringTypeSpecificInfo barringTypeSpecificInfo; + const int BARRING_TYPE_NONE = 0; + const int BARRING_TYPE_CONDITIONAL = 1; + const int BARRING_TYPE_UNCONDITIONAL = 2; + const int SERVICE_TYPE_CS_SERVICE = 0; + const int SERVICE_TYPE_PS_SERVICE = 1; + const int SERVICE_TYPE_CS_VOICE = 2; + const int SERVICE_TYPE_MO_SIGNALLING = 3; + const int SERVICE_TYPE_MO_DATA = 4; + const int SERVICE_TYPE_CS_FALLBACK = 5; + const int SERVICE_TYPE_MMTEL_VOICE = 6; + const int SERVICE_TYPE_MMTEL_VIDEO = 7; + const int SERVICE_TYPE_EMERGENCY = 8; + const int SERVICE_TYPE_SMS = 9; + const int SERVICE_TYPE_OPERATOR_1 = 1001; + const int SERVICE_TYPE_OPERATOR_2 = 1002; + const int SERVICE_TYPE_OPERATOR_3 = 1003; + const int SERVICE_TYPE_OPERATOR_4 = 1004; + const int SERVICE_TYPE_OPERATOR_5 = 1005; + const int SERVICE_TYPE_OPERATOR_6 = 1006; + const int SERVICE_TYPE_OPERATOR_7 = 1007; + const int SERVICE_TYPE_OPERATOR_8 = 1008; + const int SERVICE_TYPE_OPERATOR_9 = 1009; + const int SERVICE_TYPE_OPERATOR_10 = 1010; + const int SERVICE_TYPE_OPERATOR_11 = 1011; + const int SERVICE_TYPE_OPERATOR_12 = 1012; + const int SERVICE_TYPE_OPERATOR_13 = 1013; + const int SERVICE_TYPE_OPERATOR_14 = 1014; + const int SERVICE_TYPE_OPERATOR_15 = 1015; + const int SERVICE_TYPE_OPERATOR_16 = 1016; + const int SERVICE_TYPE_OPERATOR_17 = 1017; + const int SERVICE_TYPE_OPERATOR_18 = 1018; + const int SERVICE_TYPE_OPERATOR_19 = 1019; + const int SERVICE_TYPE_OPERATOR_20 = 1020; + const int SERVICE_TYPE_OPERATOR_21 = 1021; + const int SERVICE_TYPE_OPERATOR_22 = 1022; + const int SERVICE_TYPE_OPERATOR_23 = 1023; + const int SERVICE_TYPE_OPERATOR_24 = 1024; + const int SERVICE_TYPE_OPERATOR_25 = 1025; + const int SERVICE_TYPE_OPERATOR_26 = 1026; + const int SERVICE_TYPE_OPERATOR_27 = 1027; + const int SERVICE_TYPE_OPERATOR_28 = 1028; + const int SERVICE_TYPE_OPERATOR_29 = 1029; + const int SERVICE_TYPE_OPERATOR_30 = 1030; + const int SERVICE_TYPE_OPERATOR_31 = 1031; + const int SERVICE_TYPE_OPERATOR_32 = 1032; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringTypeSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringTypeSpecificInfo.aidl new file mode 100644 index 0000000000..03369b91d4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/BarringTypeSpecificInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable BarringTypeSpecificInfo { + int factor; + int timeSeconds; + boolean isBarred; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl new file mode 100644 index 0000000000..bc9c0baa24 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Cdma2000RegistrationInfo { + boolean cssSupported; + int roamingIndicator; + int systemIsInPrl; + int defaultRoamingIndicator; + const int PRL_INDICATOR_NOT_REGISTERED = (-1) /* -1 */; + const int PRL_INDICATOR_NOT_IN_PRL = 0; + const int PRL_INDICATOR_IN_PRL = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaRoamingType.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaRoamingType.aidl new file mode 100644 index 0000000000..84532e3842 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaRoamingType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CdmaRoamingType { + HOME_NETWORK, + AFFILIATED_ROAM, + ANY_ROAM, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaSignalStrength.aidl new file mode 100644 index 0000000000..94430a8760 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CdmaSignalStrength.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSignalStrength { + int dbm; + int ecio; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellConnectionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellConnectionStatus.aidl new file mode 100644 index 0000000000..3775a40e08 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellConnectionStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CellConnectionStatus { + NONE, + PRIMARY_SERVING, + SECONDARY_SERVING, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentity.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentity.aidl new file mode 100644 index 0000000000..ba27b39527 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentity.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union CellIdentity { + boolean noinit; + android.hardware.radio.network.CellIdentityGsm gsm; + android.hardware.radio.network.CellIdentityWcdma wcdma; + android.hardware.radio.network.CellIdentityTdscdma tdscdma; + android.hardware.radio.network.CellIdentityCdma cdma; + android.hardware.radio.network.CellIdentityLte lte; + android.hardware.radio.network.CellIdentityNr nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityCdma.aidl new file mode 100644 index 0000000000..63571bb533 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityCdma.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityCdma { + int networkId; + int systemId; + int baseStationId; + int longitude; + int latitude; + android.hardware.radio.network.OperatorInfo operatorNames; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityGsm.aidl new file mode 100644 index 0000000000..5040f205b8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityGsm.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityGsm { + String mcc; + String mnc; + int lac; + int cid; + int arfcn; + byte bsic; + android.hardware.radio.network.OperatorInfo operatorNames; + String[] additionalPlmns; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityLte.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityLte.aidl new file mode 100644 index 0000000000..be7821d2d4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityLte.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityLte { + String mcc; + String mnc; + int ci; + int pci; + int tac; + int earfcn; + android.hardware.radio.network.OperatorInfo operatorNames; + int bandwidth; + String[] additionalPlmns; + @nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo; + android.hardware.radio.network.EutranBands[] bands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityNr.aidl new file mode 100644 index 0000000000..6f4f9a030a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityNr.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityNr { + String mcc; + String mnc; + long nci; + int pci; + int tac; + int nrarfcn; + android.hardware.radio.network.OperatorInfo operatorNames; + String[] additionalPlmns; + android.hardware.radio.network.NgranBands[] bands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityTdscdma.aidl new file mode 100644 index 0000000000..864a886553 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityTdscdma.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityTdscdma { + String mcc; + String mnc; + int lac; + int cid; + int cpid; + int uarfcn; + android.hardware.radio.network.OperatorInfo operatorNames; + String[] additionalPlmns; + @nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityWcdma.aidl new file mode 100644 index 0000000000..4e762777b9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellIdentityWcdma.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellIdentityWcdma { + String mcc; + String mnc; + int lac; + int cid; + int psc; + int uarfcn; + android.hardware.radio.network.OperatorInfo operatorNames; + String[] additionalPlmns; + @nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfo.aidl new file mode 100644 index 0000000000..6bb31b0278 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfo { + boolean registered; + android.hardware.radio.network.CellConnectionStatus connectionStatus; + android.hardware.radio.network.CellInfoRatSpecificInfo ratSpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoCdma.aidl new file mode 100644 index 0000000000..6d76a26b82 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoCdma.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoCdma { + android.hardware.radio.network.CellIdentityCdma cellIdentityCdma; + android.hardware.radio.network.CdmaSignalStrength signalStrengthCdma; + android.hardware.radio.network.EvdoSignalStrength signalStrengthEvdo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoGsm.aidl new file mode 100644 index 0000000000..2074c2fee0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoGsm.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoGsm { + android.hardware.radio.network.CellIdentityGsm cellIdentityGsm; + android.hardware.radio.network.GsmSignalStrength signalStrengthGsm; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoLte.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoLte.aidl new file mode 100644 index 0000000000..aa3b31080b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoLte.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoLte { + android.hardware.radio.network.CellIdentityLte cellIdentityLte; + android.hardware.radio.network.LteSignalStrength signalStrengthLte; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoNr.aidl new file mode 100644 index 0000000000..a8f49afd67 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoNr.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoNr { + android.hardware.radio.network.CellIdentityNr cellIdentityNr; + android.hardware.radio.network.NrSignalStrength signalStrengthNr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl new file mode 100644 index 0000000000..fd3239dbd8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union CellInfoRatSpecificInfo { + android.hardware.radio.network.CellInfoGsm gsm; + android.hardware.radio.network.CellInfoWcdma wcdma; + android.hardware.radio.network.CellInfoTdscdma tdscdma; + android.hardware.radio.network.CellInfoLte lte; + android.hardware.radio.network.CellInfoNr nr; + android.hardware.radio.network.CellInfoCdma cdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoTdscdma.aidl new file mode 100644 index 0000000000..1a03f341d6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoTdscdma.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoTdscdma { + android.hardware.radio.network.CellIdentityTdscdma cellIdentityTdscdma; + android.hardware.radio.network.TdscdmaSignalStrength signalStrengthTdscdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoWcdma.aidl new file mode 100644 index 0000000000..d02824d9a7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellInfoWcdma.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellInfoWcdma { + android.hardware.radio.network.CellIdentityWcdma cellIdentityWcdma; + android.hardware.radio.network.WcdmaSignalStrength signalStrengthWcdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifier.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifier.aidl new file mode 100644 index 0000000000..d38494f6a1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifier.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CellularIdentifier { + UNKNOWN = 0, + IMSI = 1, + IMEI = 2, + SUCI = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifierDisclosure.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifierDisclosure.aidl new file mode 100644 index 0000000000..cb542e860c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/CellularIdentifierDisclosure.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CellularIdentifierDisclosure { + String plmn; + android.hardware.radio.network.CellularIdentifier identifier; + android.hardware.radio.network.NasProtocolMessage protocolMessage; + boolean isEmergency; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl new file mode 100644 index 0000000000..b9e6f82f17 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ClosedSubscriberGroupInfo { + boolean csgIndication; + String homeNodebName; + int csgIdentity; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ConnectionEvent.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ConnectionEvent.aidl new file mode 100644 index 0000000000..1529512695 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/ConnectionEvent.aidl @@ -0,0 +1,54 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ConnectionEvent { + CS_SIGNALLING_GSM = 0, + PS_SIGNALLING_GPRS = 1, + CS_SIGNALLING_3G = 2, + PS_SIGNALLING_3G = 3, + NAS_SIGNALLING_LTE = 4, + AS_SIGNALLING_LTE = 5, + VOLTE_SIP = 6, + VOLTE_SIP_SOS = 7, + VOLTE_RTP = 8, + VOLTE_RTP_SOS = 9, + NAS_SIGNALLING_5G = 10, + AS_SIGNALLING_5G = 11, + VONR_SIP = 12, + VONR_SIP_SOS = 13, + VONR_RTP = 14, + VONR_RTP_SOS = 15, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Domain.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Domain.aidl new file mode 100644 index 0000000000..0de7e20855 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/Domain.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum Domain { + CS = (1 << 0) /* 1 */, + PS = (1 << 1) /* 2 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyMode.aidl new file mode 100644 index 0000000000..c5b067e38b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyMode.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EmergencyMode { + EMERGENCY_WWAN = 1, + EMERGENCY_WLAN = 2, + EMERGENCY_CALLBACK = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyNetworkScanTrigger.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyNetworkScanTrigger.aidl new file mode 100644 index 0000000000..471c7a0a93 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyNetworkScanTrigger.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EmergencyNetworkScanTrigger { + android.hardware.radio.AccessNetwork[] accessNetwork; + android.hardware.radio.network.EmergencyScanType scanType; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyRegResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyRegResult.aidl new file mode 100644 index 0000000000..3b8083dacc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyRegResult.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EmergencyRegResult { + android.hardware.radio.AccessNetwork accessNetwork; + android.hardware.radio.network.RegState regState; + android.hardware.radio.network.Domain emcDomain; + boolean isVopsSupported; + boolean isEmcBearerSupported; + byte nwProvidedEmc; + byte nwProvidedEmf; + String mcc = ""; + String mnc = ""; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyScanType.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyScanType.aidl new file mode 100644 index 0000000000..0681a73005 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EmergencyScanType.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EmergencyScanType { + NO_PREFERENCE = 0, + LIMITED_SERVICE = 1, + FULL_SERVICE = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranBands.aidl new file mode 100644 index 0000000000..82257ecffe --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranBands.aidl @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EutranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_17 = 17, + BAND_18 = 18, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_23 = 23, + BAND_24 = 24, + BAND_25 = 25, + BAND_26 = 26, + BAND_27 = 27, + BAND_28 = 28, + BAND_30 = 30, + BAND_31 = 31, + BAND_33 = 33, + BAND_34 = 34, + BAND_35 = 35, + BAND_36 = 36, + BAND_37 = 37, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_42 = 42, + BAND_43 = 43, + BAND_44 = 44, + BAND_45 = 45, + BAND_46 = 46, + BAND_47 = 47, + BAND_48 = 48, + BAND_65 = 65, + BAND_66 = 66, + BAND_68 = 68, + BAND_70 = 70, + BAND_49 = 49, + BAND_50 = 50, + BAND_51 = 51, + BAND_52 = 52, + BAND_53 = 53, + BAND_71 = 71, + BAND_72 = 72, + BAND_73 = 73, + BAND_74 = 74, + BAND_85 = 85, + BAND_87 = 87, + BAND_88 = 88, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranRegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranRegistrationInfo.aidl new file mode 100644 index 0000000000..bb34fe10d7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EutranRegistrationInfo.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EutranRegistrationInfo { + android.hardware.radio.network.LteVopsInfo lteVopsInfo; + android.hardware.radio.network.NrIndicators nrIndicators; + android.hardware.radio.network.EutranRegistrationInfo.AttachResultType lteAttachResultType; + int extraInfo; + const int EXTRA_CSFB_NOT_PREFERRED = (1 << 0) /* 1 */; + const int EXTRA_SMS_ONLY = (1 << 1) /* 2 */; + enum AttachResultType { + NONE, + EPS_ONLY, + COMBINED, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EvdoSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EvdoSignalStrength.aidl new file mode 100644 index 0000000000..e97e17dab3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/EvdoSignalStrength.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EvdoSignalStrength { + int dbm; + int ecio; + int signalNoiseRatio; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GeranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GeranBands.aidl new file mode 100644 index 0000000000..ee0d419060 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GeranBands.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum GeranBands { + BAND_T380 = 1, + BAND_T410 = 2, + BAND_450 = 3, + BAND_480 = 4, + BAND_710 = 5, + BAND_750 = 6, + BAND_T810 = 7, + BAND_850 = 8, + BAND_P900 = 9, + BAND_E900 = 10, + BAND_R900 = 11, + BAND_DCS1800 = 12, + BAND_PCS1900 = 13, + BAND_ER900 = 14, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GsmSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GsmSignalStrength.aidl new file mode 100644 index 0000000000..65847ef93f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/GsmSignalStrength.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable GsmSignalStrength { + int signalStrength; + int bitErrorRate; + int timingAdvance; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetwork.aidl new file mode 100644 index 0000000000..8af617f6fc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetwork.aidl @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@VintfStability +interface IRadioNetwork { + oneway void getAllowedNetworkTypesBitmap(in int serial); + oneway void getAvailableBandModes(in int serial); + oneway void getAvailableNetworks(in int serial); + oneway void getBarringInfo(in int serial); + oneway void getCdmaRoamingPreference(in int serial); + oneway void getCellInfoList(in int serial); + oneway void getDataRegistrationState(in int serial); + /** + * @deprecated Deprecated starting from Android U. + */ + oneway void getImsRegistrationState(in int serial); + oneway void getNetworkSelectionMode(in int serial); + oneway void getOperator(in int serial); + oneway void getSignalStrength(in int serial); + oneway void getSystemSelectionChannels(in int serial); + oneway void getVoiceRadioTechnology(in int serial); + oneway void getVoiceRegistrationState(in int serial); + oneway void isNrDualConnectivityEnabled(in int serial); + oneway void responseAcknowledgement(); + oneway void setAllowedNetworkTypesBitmap(in int serial, in int networkTypeBitmap); + oneway void setBandMode(in int serial, in android.hardware.radio.network.RadioBandMode mode); + oneway void setBarringPassword(in int serial, in String facility, in String oldPassword, in String newPassword); + oneway void setCdmaRoamingPreference(in int serial, in android.hardware.radio.network.CdmaRoamingType type); + oneway void setCellInfoListRate(in int serial, in int rate); + oneway void setIndicationFilter(in int serial, in int indicationFilter); + oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, in int[] thresholdsUplinkKbps, in android.hardware.radio.AccessNetwork accessNetwork); + oneway void setLocationUpdates(in int serial, in boolean enable); + oneway void setNetworkSelectionModeAutomatic(in int serial); + oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.AccessNetwork ran); + oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.network.NrDualConnectivityState nrDualConnectivityState); + oneway void setResponseFunctions(in android.hardware.radio.network.IRadioNetworkResponse radioNetworkResponse, in android.hardware.radio.network.IRadioNetworkIndication radioNetworkIndication); + oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo[] signalThresholdInfos); + oneway void setSuppServiceNotifications(in int serial, in boolean enable); + oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers); + oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request); + oneway void stopNetworkScan(in int serial); + oneway void supplyNetworkDepersonalization(in int serial, in String netPin); + oneway void setUsageSetting(in int serial, in android.hardware.radio.network.UsageSetting usageSetting); + oneway void getUsageSetting(in int serial); + oneway void setEmergencyMode(int serial, in android.hardware.radio.network.EmergencyMode emcModeType); + oneway void triggerEmergencyNetworkScan(int serial, in android.hardware.radio.network.EmergencyNetworkScanTrigger request); + oneway void cancelEmergencyNetworkScan(int serial, boolean resetScan); + oneway void exitEmergencyMode(in int serial); + oneway void setNullCipherAndIntegrityEnabled(in int serial, in boolean enabled); + oneway void isNullCipherAndIntegrityEnabled(in int serial); + oneway void isN1ModeEnabled(in int serial); + oneway void setN1ModeEnabled(in int serial, boolean enable); + oneway void isCellularIdentifierTransparencyEnabled(in int serial); + oneway void setCellularIdentifierTransparencyEnabled(in int serial, in boolean enabled); + oneway void setSecurityAlgorithmsUpdatedEnabled(in int serial, boolean enable); + oneway void isSecurityAlgorithmsUpdatedEnabled(in int serial); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkIndication.aidl new file mode 100644 index 0000000000..8eea14f422 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@VintfStability +interface IRadioNetworkIndication { + oneway void barringInfoChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellIdentity cellIdentity, in android.hardware.radio.network.BarringInfo[] barringInfos); + oneway void cdmaPrlChanged(in android.hardware.radio.RadioIndicationType type, in int version); + oneway void cellInfoList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellInfo[] records); + oneway void currentLinkCapacityEstimate(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.LinkCapacityEstimate lce); + oneway void currentPhysicalChannelConfigs(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.PhysicalChannelConfig[] configs); + oneway void currentSignalStrength(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.SignalStrength signalStrength); + oneway void imsNetworkStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void networkScanResult(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.NetworkScanResult result); + oneway void networkStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void nitzTimeReceived(in android.hardware.radio.RadioIndicationType type, in String nitzTime, in long receivedTimeMs, in long ageMs); + oneway void registrationFailed(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellIdentity cellIdentity, in String chosenPlmn, in int domain, in int causeCode, in int additionalCauseCode); + oneway void restrictedStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.PhoneRestrictedState state); + oneway void suppSvcNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.SuppSvcNotification suppSvc); + oneway void voiceRadioTechChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioTechnology rat); + oneway void emergencyNetworkScanResult(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.EmergencyRegResult result); + oneway void cellularIdentifierDisclosed(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellularIdentifierDisclosure disclosure); + oneway void securityAlgorithmsUpdated(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.SecurityAlgorithmUpdate securityAlgorithmUpdate); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkResponse.aidl new file mode 100644 index 0000000000..e7f291879a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IRadioNetworkResponse.aidl @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@VintfStability +interface IRadioNetworkResponse { + oneway void acknowledgeRequest(in int serial); + oneway void getAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in int networkTypeBitmap); + oneway void getAvailableBandModesResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RadioBandMode[] bandModes); + oneway void getAvailableNetworksResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.OperatorInfo[] networkInfos); + oneway void getBarringInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CellIdentity cellIdentity, in android.hardware.radio.network.BarringInfo[] barringInfos); + oneway void getCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CdmaRoamingType type); + oneway void getCellInfoListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CellInfo[] cellInfo); + oneway void getDataRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult dataRegResponse); + /** + * @deprecated Deprecated starting from Android U. + */ + oneway void getImsRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isRegistered, in android.hardware.radio.RadioTechnologyFamily ratFamily); + oneway void getNetworkSelectionModeResponse(in android.hardware.radio.RadioResponseInfo info, in boolean manual); + oneway void getOperatorResponse(in android.hardware.radio.RadioResponseInfo info, in String longName, in String shortName, in String numeric); + oneway void getSignalStrengthResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.SignalStrength signalStrength); + oneway void getSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers); + oneway void getVoiceRadioTechnologyResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioTechnology rat); + oneway void getVoiceRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult voiceRegResponse); + oneway void isNrDualConnectivityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); + oneway void setAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setBandModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setBarringPasswordResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCellInfoListRateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setIndicationFilterResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setLinkCapacityReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setLocationUpdatesResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNetworkSelectionModeAutomaticResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNetworkSelectionModeManualResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNrDualConnectivityStateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSignalStrengthReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSuppServiceNotificationsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void stopNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void supplyNetworkDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void setUsageSettingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getUsageSettingResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.UsageSetting usageSetting); + oneway void setEmergencyModeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.EmergencyRegResult regState); + oneway void triggerEmergencyNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void exitEmergencyModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void cancelEmergencyNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNullCipherAndIntegrityEnabledResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void isNullCipherAndIntegrityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); + oneway void isN1ModeEnabledResponse(in android.hardware.radio.RadioResponseInfo info, boolean isEnabled); + oneway void setN1ModeEnabledResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void isCellularIdentifierTransparencyEnabledResponse(in android.hardware.radio.RadioResponseInfo info, boolean isEnabled); + oneway void setCellularIdentifierTransparencyEnabledResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSecurityAlgorithmsUpdatedEnabledResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void isSecurityAlgorithmsUpdatedEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IndicationFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IndicationFilter.aidl new file mode 100644 index 0000000000..7847fbe4c3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/IndicationFilter.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum IndicationFilter { + NONE = 0, + ALL = (~0) /* -1 */, + SIGNAL_STRENGTH = (1 << 0) /* 1 */, + FULL_NETWORK_STATE = (1 << 1) /* 2 */, + DATA_CALL_DORMANCY_CHANGED = (1 << 2) /* 4 */, + LINK_CAPACITY_ESTIMATE = (1 << 3) /* 8 */, + PHYSICAL_CHANNEL_CONFIG = (1 << 4) /* 16 */, + REGISTRATION_FAILURE = (1 << 5) /* 32 */, + BARRING_INFO = (1 << 6) /* 64 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LceDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LceDataInfo.aidl new file mode 100644 index 0000000000..6dc6d3ecc6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LceDataInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LceDataInfo { + int lastHopCapacityKbps; + byte confidenceLevel; + boolean lceSuspended; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LinkCapacityEstimate.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LinkCapacityEstimate.aidl new file mode 100644 index 0000000000..3fc4b5c5cd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LinkCapacityEstimate.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LinkCapacityEstimate { + int downlinkCapacityKbps; + int uplinkCapacityKbps; + int secondaryDownlinkCapacityKbps; + int secondaryUplinkCapacityKbps; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteSignalStrength.aidl new file mode 100644 index 0000000000..eb2ca28e13 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteSignalStrength.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LteSignalStrength { + int signalStrength; + int rsrp; + int rsrq; + int rssnr; + int cqi; + int timingAdvance; + int cqiTableIndex; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteVopsInfo.aidl new file mode 100644 index 0000000000..f8d3aa1907 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/LteVopsInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LteVopsInfo { + boolean isVopsSupported; + boolean isEmcBearerSupported; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NasProtocolMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NasProtocolMessage.aidl new file mode 100644 index 0000000000..4fbc802873 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NasProtocolMessage.aidl @@ -0,0 +1,50 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum NasProtocolMessage { + UNKNOWN = 0, + ATTACH_REQUEST = 1, + IDENTITY_RESPONSE = 2, + DETACH_REQUEST = 3, + TRACKING_AREA_UPDATE_REQUEST = 4, + LOCATION_UPDATE_REQUEST = 5, + AUTHENTICATION_AND_CIPHERING_RESPONSE = 6, + REGISTRATION_REQUEST = 7, + DEREGISTRATION_REQUEST = 8, + CM_REESTABLISHMENT_REQUEST = 9, + CM_SERVICE_REQUEST = 10, + IMSI_DETACH_INDICATION = 11, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanRequest.aidl new file mode 100644 index 0000000000..60eaf777a1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanRequest.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NetworkScanRequest { + int type; + int interval; + android.hardware.radio.network.RadioAccessSpecifier[] specifiers; + int maxSearchTime; + boolean incrementalResults; + int incrementalResultsPeriodicity; + String[] mccMncs; + const int RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8; + const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN = 1; + const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX = 10; + const int MAX_SEARCH_TIME_RANGE_MIN = 60; + const int MAX_SEARCH_TIME_RANGE_MAX = 3600; + const int SCAN_INTERVAL_RANGE_MIN = 5; + const int SCAN_INTERVAL_RANGE_MAX = 300; + const int SCAN_TYPE_ONE_SHOT = 0; + const int SCAN_TYPE_PERIODIC = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanResult.aidl new file mode 100644 index 0000000000..695a194485 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NetworkScanResult.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NetworkScanResult { + int status; + android.hardware.radio.RadioError error; + android.hardware.radio.network.CellInfo[] networkInfos; + const int SCAN_STATUS_PARTIAL = 1; + const int SCAN_STATUS_COMPLETE = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NgranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NgranBands.aidl new file mode 100644 index 0000000000..fb939df072 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NgranBands.aidl @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum NgranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_5 = 5, + BAND_7 = 7, + BAND_8 = 8, + BAND_12 = 12, + BAND_14 = 14, + BAND_18 = 18, + BAND_20 = 20, + BAND_25 = 25, + BAND_26 = 26, + BAND_28 = 28, + BAND_29 = 29, + BAND_30 = 30, + BAND_34 = 34, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_46 = 46, + BAND_48 = 48, + BAND_50 = 50, + BAND_51 = 51, + BAND_53 = 53, + BAND_65 = 65, + BAND_66 = 66, + BAND_70 = 70, + BAND_71 = 71, + BAND_74 = 74, + BAND_75 = 75, + BAND_76 = 76, + BAND_77 = 77, + BAND_78 = 78, + BAND_79 = 79, + BAND_80 = 80, + BAND_81 = 81, + BAND_82 = 82, + BAND_83 = 83, + BAND_84 = 84, + BAND_86 = 86, + BAND_89 = 89, + BAND_90 = 90, + BAND_91 = 91, + BAND_92 = 92, + BAND_93 = 93, + BAND_94 = 94, + BAND_95 = 95, + BAND_96 = 96, + BAND_257 = 257, + BAND_258 = 258, + BAND_260 = 260, + BAND_261 = 261, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrDualConnectivityState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrDualConnectivityState.aidl new file mode 100644 index 0000000000..7af15a7ca8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrDualConnectivityState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability +enum NrDualConnectivityState { + ENABLE = 1, + DISABLE = 2, + DISABLE_IMMEDIATE = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrIndicators.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrIndicators.aidl new file mode 100644 index 0000000000..efcd6d3047 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrIndicators.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NrIndicators { + boolean isEndcAvailable; + boolean isDcNrRestricted; + boolean isNrAvailable; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrSignalStrength.aidl new file mode 100644 index 0000000000..11e7356a44 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrSignalStrength.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NrSignalStrength { + int ssRsrp; + int ssRsrq; + int ssSinr; + int csiRsrp; + int csiRsrq; + int csiSinr; + int csiCqiTableIndex; + byte[] csiCqiReport; + int timingAdvance = 0x7FFFFFFF; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrVopsInfo.aidl new file mode 100644 index 0000000000..61146aa6e2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/NrVopsInfo.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable NrVopsInfo { + byte vopsSupported; + byte emcSupported; + byte emfSupported; + const byte EMC_INDICATOR_NOT_SUPPORTED = 0; + const byte EMC_INDICATOR_NR_CONNECTED_TO_5GCN = 1; + const byte EMC_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2; + const byte EMC_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3; + const byte EMF_INDICATOR_NOT_SUPPORTED = 0; + const byte EMF_INDICATOR_NR_CONNECTED_TO_5GCN = 1; + const byte EMF_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2; + const byte EMF_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3; + const byte VOPS_INDICATOR_VOPS_NOT_SUPPORTED = 0; + const byte VOPS_INDICATOR_VOPS_OVER_3GPP = 1; + const byte VOPS_INDICATOR_VOPS_OVER_NON_3GPP = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/OperatorInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/OperatorInfo.aidl new file mode 100644 index 0000000000..abe2bea223 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/OperatorInfo.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable OperatorInfo { + String alphaLong; + String alphaShort; + String operatorNumeric; + int status; + const int STATUS_UNKNOWN = 0; + const int STATUS_AVAILABLE = 1; + const int STATUS_CURRENT = 2; + const int STATUS_FORBIDDEN = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhoneRestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhoneRestrictedState.aidl new file mode 100644 index 0000000000..44cab0e000 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhoneRestrictedState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum PhoneRestrictedState { + NONE = 0x00, + CS_EMERGENCY = 0x01, + CS_NORMAL = 0x02, + CS_ALL = 0x04, + PS_ALL = 0x10, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfig.aidl new file mode 100644 index 0000000000..7d64f7e92e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfig.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PhysicalChannelConfig { + android.hardware.radio.network.CellConnectionStatus status; + android.hardware.radio.RadioTechnology rat; + int downlinkChannelNumber; + int uplinkChannelNumber; + int cellBandwidthDownlinkKhz; + int cellBandwidthUplinkKhz; + int[] contextIds; + int physicalCellId; + android.hardware.radio.network.PhysicalChannelConfigBand band; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfigBand.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfigBand.aidl new file mode 100644 index 0000000000..2e50e67627 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/PhysicalChannelConfigBand.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union PhysicalChannelConfigBand { + boolean noinit; + android.hardware.radio.network.GeranBands geranBand; + android.hardware.radio.network.UtranBands utranBand; + android.hardware.radio.network.EutranBands eutranBand; + android.hardware.radio.network.NgranBands ngranBand; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifier.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifier.aidl new file mode 100644 index 0000000000..8229207359 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifier.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RadioAccessSpecifier { + android.hardware.radio.AccessNetwork accessNetwork; + android.hardware.radio.network.RadioAccessSpecifierBands bands; + int[] channels; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifierBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifierBands.aidl new file mode 100644 index 0000000000..9ba420e891 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioAccessSpecifierBands.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +union RadioAccessSpecifierBands { + boolean noinit; + android.hardware.radio.network.GeranBands[] geranBands; + android.hardware.radio.network.UtranBands[] utranBands; + android.hardware.radio.network.EutranBands[] eutranBands; + android.hardware.radio.network.NgranBands[] ngranBands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioBandMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioBandMode.aidl new file mode 100644 index 0000000000..6058e30696 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RadioBandMode.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioBandMode { + BAND_MODE_UNSPECIFIED, + BAND_MODE_EURO, + BAND_MODE_USA, + BAND_MODE_JPN, + BAND_MODE_AUS, + BAND_MODE_AUS_2, + BAND_MODE_CELL_800, + BAND_MODE_PCS, + BAND_MODE_JTACS, + BAND_MODE_KOREA_PCS, + BAND_MODE_5_450M, + BAND_MODE_IMT2000, + BAND_MODE_7_700M_2, + BAND_MODE_8_1800M, + BAND_MODE_9_900M, + BAND_MODE_10_800M_2, + BAND_MODE_EURO_PAMR_400M, + BAND_MODE_AWS, + BAND_MODE_USA_2500M, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegState.aidl new file mode 100644 index 0000000000..f11b91114c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegState.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RegState { + NOT_REG_MT_NOT_SEARCHING_OP = 0, + REG_HOME = 1, + NOT_REG_MT_SEARCHING_OP = 2, + REG_DENIED = 3, + UNKNOWN = 4, + REG_ROAMING = 5, + NOT_REG_MT_NOT_SEARCHING_OP_EM = 10, + NOT_REG_MT_SEARCHING_OP_EM = 12, + REG_DENIED_EM = 13, + UNKNOWN_EM = 14, + REG_EM = 20, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegStateResult.aidl new file mode 100644 index 0000000000..625d9702c8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegStateResult.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RegStateResult { + android.hardware.radio.network.RegState regState; + android.hardware.radio.RadioTechnology rat; + android.hardware.radio.network.RegistrationFailCause reasonForDenial; + android.hardware.radio.network.CellIdentity cellIdentity; + String registeredPlmn; + android.hardware.radio.network.AccessTechnologySpecificInfo accessTechnologySpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegistrationFailCause.aidl new file mode 100644 index 0000000000..fcc079ec0f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/RegistrationFailCause.aidl @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RegistrationFailCause { + NONE = 0, + IMSI_UNKNOWN_IN_HLR = 2, + ILLEGAL_MS = 3, + IMSI_UNKNOWN_IN_VLR = 4, + IMEI_NOT_ACCEPTED = 5, + ILLEGAL_ME = 6, + GPRS_SERVICES_NOT_ALLOWED = 7, + GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8, + MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9, + IMPLICITLY_DETACHED = 10, + PLMN_NOT_ALLOWED = 11, + LOCATION_AREA_NOT_ALLOWED = 12, + ROAMING_NOT_ALLOWED = 13, + GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14, + NO_SUITABLE_CELLS = 15, + /** + * @deprecated MSC_TEMPORARILY_NOT_REACHABLE value is wrong and should not be used. Use MSC_TEMP_NOT_REACHABLE instead. + */ + MSC_TEMPORARILY_NOT_REACHABLE = 15, + MSC_TEMP_NOT_REACHABLE = 16, + NETWORK_FAILURE = 17, + MAC_FAILURE = 20, + SYNC_FAILURE = 21, + CONGESTION = 22, + GSM_AUTHENTICATION_UNACCEPTABLE = 23, + NOT_AUTHORIZED_FOR_THIS_CSG = 25, + SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA, + SERVICE_OPTION_NOT_SUPPORTED = 32, + SERVICE_OPTION_NOT_SUBSCRIBED = 33, + SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34, + CALL_CANNOT_BE_IDENTIFIED = 38, + NO_PDP_CONTEXT_ACTIVATED = 40, + RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48, + RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49, + RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50, + RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51, + RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52, + RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53, + RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54, + RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55, + RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56, + RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57, + RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58, + RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59, + RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60, + RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61, + RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62, + RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63, + SEMANTICALLY_INCORRECT_MESSAGE = 95, + INVALID_MANDATORY_INFORMATION = 96, + MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97, + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99, + CONDITIONAL_IE_ERROR = 100, + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + PROTOCOL_ERROR_UNSPECIFIED = 111, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithm.aidl new file mode 100644 index 0000000000..c3333bf190 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithm.aidl @@ -0,0 +1,81 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum SecurityAlgorithm { + A50 = 0, + A51 = 1, + A52 = 2, + A53 = 3, + A54 = 4, + GEA0 = 14, + GEA1 = 15, + GEA2 = 16, + GEA3 = 17, + GEA4 = 18, + GEA5 = 19, + UEA0 = 29, + UEA1 = 30, + UEA2 = 31, + EEA0 = 41, + EEA1 = 42, + EEA2 = 43, + EEA3 = 44, + NEA0 = 55, + NEA1 = 56, + NEA2 = 57, + NEA3 = 58, + SIP_NO_IPSEC_CONFIG = 66, + IMS_NULL = 67, + SIP_NULL = 68, + AES_GCM = 69, + AES_GMAC = 70, + AES_CBC = 71, + DES_EDE3_CBC = 72, + AES_EDE3_CBC = 73, + HMAC_SHA1_96 = 74, + HMAC_MD5_96 = 75, + RTP = 85, + SRTP_NULL = 86, + SRTP_AES_COUNTER = 87, + SRTP_AES_F8 = 88, + SRTP_HMAC_SHA1 = 89, + ENCR_AES_GCM_16 = 99, + ENCR_AES_CBC = 100, + AUTH_HMAC_SHA2_256_128 = 101, + UNKNOWN = 113, + OTHER = 114, + ORYX = 124, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithmUpdate.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithmUpdate.aidl new file mode 100644 index 0000000000..73ad18083d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SecurityAlgorithmUpdate.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SecurityAlgorithmUpdate { + android.hardware.radio.network.ConnectionEvent connectionEvent; + android.hardware.radio.network.SecurityAlgorithm encryption; + android.hardware.radio.network.SecurityAlgorithm integrity; + boolean isUnprotectedEmergency; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalStrength.aidl new file mode 100644 index 0000000000..da7db9a2ae --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalStrength.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SignalStrength { + android.hardware.radio.network.GsmSignalStrength gsm; + android.hardware.radio.network.CdmaSignalStrength cdma; + android.hardware.radio.network.EvdoSignalStrength evdo; + android.hardware.radio.network.LteSignalStrength lte; + android.hardware.radio.network.TdscdmaSignalStrength tdscdma; + android.hardware.radio.network.WcdmaSignalStrength wcdma; + android.hardware.radio.network.NrSignalStrength nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalThresholdInfo.aidl new file mode 100644 index 0000000000..77b4831359 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SignalThresholdInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SignalThresholdInfo { + int signalMeasurement; + int hysteresisMs; + int hysteresisDb; + int[] thresholds; + boolean isEnabled; + android.hardware.radio.AccessNetwork ran; + const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1; + const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2; + const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3; + const int SIGNAL_MEASUREMENT_TYPE_RSRQ = 4; + const int SIGNAL_MEASUREMENT_TYPE_RSSNR = 5; + const int SIGNAL_MEASUREMENT_TYPE_SSRSRP = 6; + const int SIGNAL_MEASUREMENT_TYPE_SSRSRQ = 7; + const int SIGNAL_MEASUREMENT_TYPE_SSSINR = 8; + const int SIGNAL_MEASUREMENT_TYPE_ECNO = 9; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SuppSvcNotification.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SuppSvcNotification.aidl new file mode 100644 index 0000000000..5192eaea07 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/SuppSvcNotification.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SuppSvcNotification { + boolean isMT; + int code; + int index; + int type; + String number; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/TdscdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/TdscdmaSignalStrength.aidl new file mode 100644 index 0000000000..fe209e5c77 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/TdscdmaSignalStrength.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable TdscdmaSignalStrength { + int signalStrength; + int bitErrorRate; + int rscp; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UsageSetting.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UsageSetting.aidl new file mode 100644 index 0000000000..a6f4d132ae --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UsageSetting.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum UsageSetting { + VOICE_CENTRIC = 1, + DATA_CENTRIC = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UtranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UtranBands.aidl new file mode 100644 index 0000000000..977afe3d98 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/UtranBands.aidl @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum UtranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_25 = 25, + BAND_26 = 26, + BAND_A = 101, + BAND_B = 102, + BAND_C = 103, + BAND_D = 104, + BAND_E = 105, + BAND_F = 106, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/WcdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/WcdmaSignalStrength.aidl new file mode 100644 index 0000000000..b765ab6ddc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.network/3/android/hardware/radio/network/WcdmaSignalStrength.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.network; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable WcdmaSignalStrength { + int signalStrength; + int bitErrorRate; + int rscp; + int ecno; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.sim/3/.hash new file mode 100644 index 0000000000..ddc2a2156c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/.hash @@ -0,0 +1 @@ +ea7be3035be8d4869237a6478d2e0bb0efcc1e87 diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/AppStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/AppStatus.aidl new file mode 100644 index 0000000000..898b616a2c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/AppStatus.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable AppStatus { + int appType; + int appState; + android.hardware.radio.sim.PersoSubstate persoSubstate; + String aidPtr; + String appLabelPtr; + boolean pin1Replaced; + android.hardware.radio.sim.PinState pin1; + android.hardware.radio.sim.PinState pin2; + const int APP_STATE_UNKNOWN = 0; + const int APP_STATE_DETECTED = 1; + const int APP_STATE_PIN = 2; + const int APP_STATE_PUK = 3; + const int APP_STATE_SUBSCRIPTION_PERSO = 4; + const int APP_STATE_READY = 5; + const int APP_TYPE_UNKNOWN = 0; + const int APP_TYPE_SIM = 1; + const int APP_TYPE_USIM = 2; + const int APP_TYPE_RUIM = 3; + const int APP_TYPE_CSIM = 4; + const int APP_TYPE_ISIM = 5; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardPowerState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardPowerState.aidl new file mode 100644 index 0000000000..066777aa5f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardPowerState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CardPowerState { + POWER_DOWN, + POWER_UP, + POWER_UP_PASS_THROUGH, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardStatus.aidl new file mode 100644 index 0000000000..1a9d621390 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CardStatus.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CardStatus { + int cardState; + android.hardware.radio.sim.PinState universalPinState; + int gsmUmtsSubscriptionAppIndex; + int cdmaSubscriptionAppIndex; + int imsSubscriptionAppIndex; + android.hardware.radio.sim.AppStatus[] applications; + String atr; + String iccid; + String eid; + android.hardware.radio.config.SlotPortMapping slotMap; + android.hardware.radio.config.MultipleEnabledProfilesMode supportedMepMode = android.hardware.radio.config.MultipleEnabledProfilesMode.NONE; + const int STATE_ABSENT = 0; + const int STATE_PRESENT = 1; + const int STATE_ERROR = 2; + const int STATE_RESTRICTED = 3; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Carrier.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Carrier.aidl new file mode 100644 index 0000000000..24fff2ee7c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Carrier.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Carrier { + String mcc; + String mnc; + int matchType; + String matchData; + const int MATCH_TYPE_ALL = 0; + const int MATCH_TYPE_SPN = 1; + const int MATCH_TYPE_IMSI_PREFIX = 2; + const int MATCH_TYPE_GID1 = 3; + const int MATCH_TYPE_GID2 = 4; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierInfo.aidl new file mode 100644 index 0000000000..7d4a54b242 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierInfo.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CarrierInfo { + String mcc; + String mnc; + @nullable String spn; + @nullable String gid1; + @nullable String gid2; + @nullable String imsiPrefix; + @nullable List ehplmn; + @nullable String iccid; + @nullable String impi; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierRestrictions.aidl new file mode 100644 index 0000000000..a5b8dc96f6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CarrierRestrictions { + /** + * @deprecated use @List allowedCarrierInfoList + */ + android.hardware.radio.sim.Carrier[] allowedCarriers; + /** + * @deprecated use @List excludedCarrierInfoList + */ + android.hardware.radio.sim.Carrier[] excludedCarriers; + boolean allowedCarriersPrioritized; + android.hardware.radio.sim.CarrierRestrictions.CarrierRestrictionStatus status; + android.hardware.radio.sim.CarrierInfo[] allowedCarrierInfoList = {}; + android.hardware.radio.sim.CarrierInfo[] excludedCarrierInfoList = {}; + @Backing(type="int") @VintfStability + enum CarrierRestrictionStatus { + UNKNOWN = 0, + NOT_RESTRICTED = 1, + RESTRICTED = 2, + } +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CdmaSubscriptionSource.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CdmaSubscriptionSource.aidl new file mode 100644 index 0000000000..13b06e7fdb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/CdmaSubscriptionSource.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CdmaSubscriptionSource { + RUIM_SIM, + NV, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSim.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSim.aidl new file mode 100644 index 0000000000..1728e41010 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSim.aidl @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@VintfStability +interface IRadioSim { + oneway void areUiccApplicationsEnabled(in int serial); + oneway void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid); + oneway void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid); + oneway void enableUiccApplications(in int serial, in boolean enable); + oneway void getAllowedCarriers(in int serial); + oneway void getCdmaSubscription(in int serial); + oneway void getCdmaSubscriptionSource(in int serial); + oneway void getFacilityLockForApp(in int serial, in String facility, in String password, in int serviceClass, in String appId); + oneway void getIccCardStatus(in int serial); + oneway void getImsiForApp(in int serial, in String aid); + oneway void getSimPhonebookCapacity(in int serial); + oneway void getSimPhonebookRecords(in int serial); + /** + * @deprecated use iccCloseLogicalChannelWithSessionInfo instead. + */ + oneway void iccCloseLogicalChannel(in int serial, in int channelId); + oneway void iccIoForApp(in int serial, in android.hardware.radio.sim.IccIo iccIo); + oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2); + oneway void iccTransmitApduBasicChannel(in int serial, in android.hardware.radio.sim.SimApdu message); + oneway void iccTransmitApduLogicalChannel(in int serial, in android.hardware.radio.sim.SimApdu message); + oneway void reportStkServiceIsRunning(in int serial); + oneway void requestIccSimAuthentication(in int serial, in int authContext, in String authData, in String aid); + oneway void responseAcknowledgement(); + oneway void sendEnvelope(in int serial, in String contents); + oneway void sendEnvelopeWithStatus(in int serial, in String contents); + oneway void sendTerminalResponseToSim(in int serial, in String contents); + oneway void setAllowedCarriers(in int serial, in android.hardware.radio.sim.CarrierRestrictions carriers, in android.hardware.radio.sim.SimLockMultiSimPolicy multiSimPolicy); + oneway void setCarrierInfoForImsiEncryption(in int serial, in android.hardware.radio.sim.ImsiEncryptionInfo imsiEncryptionInfo); + oneway void setCdmaSubscriptionSource(in int serial, in android.hardware.radio.sim.CdmaSubscriptionSource cdmaSub); + oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState, in String password, in int serviceClass, in String appId); + oneway void setResponseFunctions(in android.hardware.radio.sim.IRadioSimResponse radioSimResponse, in android.hardware.radio.sim.IRadioSimIndication radioSimIndication); + oneway void setSimCardPower(in int serial, in android.hardware.radio.sim.CardPowerState powerUp); + oneway void setUiccSubscription(in int serial, in android.hardware.radio.sim.SelectUiccSub uiccSub); + oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid); + oneway void supplyIccPinForApp(in int serial, in String pin, in String aid); + oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid); + oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid); + oneway void supplySimDepersonalization(in int serial, in android.hardware.radio.sim.PersoSubstate persoType, in String controlKey); + oneway void updateSimPhonebookRecords(in int serial, in android.hardware.radio.sim.PhonebookRecordInfo recordInfo); + oneway void iccCloseLogicalChannelWithSessionInfo(in int serial, in android.hardware.radio.sim.SessionInfo sessionInfo); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimIndication.aidl new file mode 100644 index 0000000000..a74b65acad --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimIndication.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@VintfStability +interface IRadioSimIndication { + oneway void carrierInfoForImsiEncryption(in android.hardware.radio.RadioIndicationType info); + oneway void cdmaSubscriptionSourceChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.CdmaSubscriptionSource cdmaSource); + oneway void simPhonebookChanged(in android.hardware.radio.RadioIndicationType type); + oneway void simPhonebookRecordsReceived(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.PbReceivedStatus status, in android.hardware.radio.sim.PhonebookRecordInfo[] records); + oneway void simRefresh(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.SimRefreshResult refreshResult); + oneway void simStatusChanged(in android.hardware.radio.RadioIndicationType type); + oneway void stkEventNotify(in android.hardware.radio.RadioIndicationType type, in String cmd); + oneway void stkProactiveCommand(in android.hardware.radio.RadioIndicationType type, in String cmd); + oneway void stkSessionEnd(in android.hardware.radio.RadioIndicationType type); + oneway void subscriptionStatusChanged(in android.hardware.radio.RadioIndicationType type, in boolean activate); + oneway void uiccApplicationsEnablementChanged(in android.hardware.radio.RadioIndicationType type, in boolean enabled); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimResponse.aidl new file mode 100644 index 0000000000..c653847706 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IRadioSimResponse.aidl @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@VintfStability +interface IRadioSimResponse { + oneway void acknowledgeRequest(in int serial); + oneway void areUiccApplicationsEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enabled); + oneway void changeIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void changeIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void enableUiccApplicationsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CarrierRestrictions carriers, in android.hardware.radio.sim.SimLockMultiSimPolicy multiSimPolicy); + oneway void getCdmaSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info, in String mdn, in String hSid, in String hNid, in String min, in String prl); + oneway void getCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CdmaSubscriptionSource source); + oneway void getFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int response); + oneway void getIccCardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CardStatus cardStatus); + oneway void getImsiForAppResponse(in android.hardware.radio.RadioResponseInfo info, in String imsi); + oneway void getSimPhonebookCapacityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.PhonebookCapacity capacity); + oneway void getSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info); + /** + * @deprecated use iccCloseLogicalChannelWithSessionInfoResponse instead. + */ + oneway void iccCloseLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void iccIoForAppResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult iccIo); + oneway void iccOpenLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in int channelId, in byte[] selectResponse); + oneway void iccTransmitApduBasicChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result); + oneway void iccTransmitApduLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result); + oneway void reportStkServiceIsRunningResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void requestIccSimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result); + oneway void sendEnvelopeResponse(in android.hardware.radio.RadioResponseInfo info, in String commandResponse); + oneway void sendEnvelopeWithStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult iccIo); + oneway void sendTerminalResponseToSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCarrierInfoForImsiEncryptionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int retry); + oneway void setSimCardPowerResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setUiccSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void supplyIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPuk2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPukForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplySimDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.PersoSubstate persoType, in int remainingRetries); + oneway void updateSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info, in int updatedRecordIndex); + oneway void iccCloseLogicalChannelWithSessionInfoResponse(in android.hardware.radio.RadioResponseInfo info); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIo.aidl new file mode 100644 index 0000000000..661518d2eb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIo.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable IccIo { + int command; + int fileId; + String path; + int p1; + int p2; + int p3; + String data; + String pin2; + String aid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIoResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIoResult.aidl new file mode 100644 index 0000000000..1e418cd2ab --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/IccIoResult.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable IccIoResult { + int sw1; + int sw2; + String simResponse; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/ImsiEncryptionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/ImsiEncryptionInfo.aidl new file mode 100644 index 0000000000..40722e5f79 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/ImsiEncryptionInfo.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable ImsiEncryptionInfo { + String mcc; + String mnc; + byte[] carrierKey; + String keyIdentifier; + long expirationTime; + byte keyType; + const byte PUBLIC_KEY_TYPE_EPDG = 1; + const byte PUBLIC_KEY_TYPE_WLAN = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PbReceivedStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PbReceivedStatus.aidl new file mode 100644 index 0000000000..aaf9f3eb50 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PbReceivedStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability +enum PbReceivedStatus { + PB_RECEIVED_OK = 1, + PB_RECEIVED_ERROR = 2, + PB_RECEIVED_ABORT = 3, + PB_RECEIVED_FINAL = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PersoSubstate.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PersoSubstate.aidl new file mode 100644 index 0000000000..795230892c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PersoSubstate.aidl @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum PersoSubstate { + UNKNOWN, + IN_PROGRESS, + READY, + SIM_NETWORK, + SIM_NETWORK_SUBSET, + SIM_CORPORATE, + SIM_SERVICE_PROVIDER, + SIM_SIM, + SIM_NETWORK_PUK, + SIM_NETWORK_SUBSET_PUK, + SIM_CORPORATE_PUK, + SIM_SERVICE_PROVIDER_PUK, + SIM_SIM_PUK, + RUIM_NETWORK1, + RUIM_NETWORK2, + RUIM_HRPD, + RUIM_CORPORATE, + RUIM_SERVICE_PROVIDER, + RUIM_RUIM, + RUIM_NETWORK1_PUK, + RUIM_NETWORK2_PUK, + RUIM_HRPD_PUK, + RUIM_CORPORATE_PUK, + RUIM_SERVICE_PROVIDER_PUK, + RUIM_RUIM_PUK, + SIM_SPN, + SIM_SPN_PUK, + SIM_SP_EHPLMN, + SIM_SP_EHPLMN_PUK, + SIM_ICCID, + SIM_ICCID_PUK, + SIM_IMPI, + SIM_IMPI_PUK, + SIM_NS_SP, + SIM_NS_SP_PUK, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookCapacity.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookCapacity.aidl new file mode 100644 index 0000000000..b02068712e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookCapacity.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PhonebookCapacity { + int maxAdnRecords; + int usedAdnRecords; + int maxEmailRecords; + int usedEmailRecords; + int maxAdditionalNumberRecords; + int usedAdditionalNumberRecords; + int maxNameLen; + int maxNumberLen; + int maxEmailLen; + int maxAdditionalNumberLen; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookRecordInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookRecordInfo.aidl new file mode 100644 index 0000000000..1a6943bd53 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PhonebookRecordInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable PhonebookRecordInfo { + int recordId; + String name; + String number; + String[] emails; + String[] additionalNumbers; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PinState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PinState.aidl new file mode 100644 index 0000000000..924929b450 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/PinState.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum PinState { + UNKNOWN, + ENABLED_NOT_VERIFIED, + ENABLED_VERIFIED, + DISABLED, + ENABLED_BLOCKED, + ENABLED_PERM_BLOCKED, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Plmn.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Plmn.aidl new file mode 100644 index 0000000000..b29a4a76bd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/Plmn.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Plmn { + String mcc; + String mnc; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SelectUiccSub.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SelectUiccSub.aidl new file mode 100644 index 0000000000..57ca2a5b14 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SelectUiccSub.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SelectUiccSub { + int slot; + int appIndex; + int subType; + int actStatus; + const int SUBSCRIPTION_TYPE_1 = 0; + const int SUBSCRIPTION_TYPE_2 = 1; + const int SUBSCRIPTION_TYPE_3 = 2; + const int ACT_STATUS_DEACTIVATE = 0; + const int ACT_STATUS_ACTIVATE = 1; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SessionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SessionInfo.aidl new file mode 100644 index 0000000000..5c81e3d77a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SessionInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SessionInfo { + int sessionId; + boolean isEs10 = false; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimApdu.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimApdu.aidl new file mode 100644 index 0000000000..45f6e48168 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimApdu.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SimApdu { + int sessionId; + int cla; + int instruction; + int p1; + int p2; + int p3; + String data; + boolean isEs10 = false; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl new file mode 100644 index 0000000000..8cfe417c26 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum SimLockMultiSimPolicy { + NO_MULTISIM_POLICY, + ONE_VALID_SIM_MUST_BE_PRESENT, + APPLY_TO_ALL_SLOTS, + APPLY_TO_ONLY_SLOT_1, + VALID_SIM_MUST_PRESENT_ON_SLOT_1, + ACTIVE_SERVICE_ON_SLOT_1_TO_UNBLOCK_OTHER_SLOTS, + ACTIVE_SERVICE_ON_ANY_SLOT_TO_UNBLOCK_OTHER_SLOTS, + ALL_SIMS_MUST_BE_VALID, + SLOT_POLICY_OTHER, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimRefreshResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimRefreshResult.aidl new file mode 100644 index 0000000000..81ba510c2f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/3/android/hardware/radio/sim/SimRefreshResult.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.sim; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SimRefreshResult { + int type; + int efId; + String aid; + const int TYPE_SIM_FILE_UPDATE = 0; + const int TYPE_SIM_INIT = 1; + const int TYPE_SIM_RESET = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/.hash b/radio/aidl/aidl_api/android.hardware.radio.voice/3/.hash new file mode 100644 index 0000000000..d3fb7e5e82 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/.hash @@ -0,0 +1 @@ +78fb79bcb32590a868b3eb7affb39ab90e4ca782 diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/AudioQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/AudioQuality.aidl new file mode 100644 index 0000000000..8725c7fb5d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/AudioQuality.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum AudioQuality { + UNSPECIFIED, + AMR, + AMR_WB, + GSM_EFR, + GSM_FR, + GSM_HR, + EVRC, + EVRC_B, + EVRC_WB, + EVRC_NW, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Call.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Call.aidl new file mode 100644 index 0000000000..b45a45b110 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Call.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Call { + int state; + int index; + int toa; + boolean isMpty; + boolean isMT; + byte als; + boolean isVoice; + boolean isVoicePrivacy; + String number; + int numberPresentation; + String name; + int namePresentation; + android.hardware.radio.voice.UusInfo[] uusInfo; + android.hardware.radio.voice.AudioQuality audioQuality; + String forwardedNumber; + const int PRESENTATION_ALLOWED = 0; + const int PRESENTATION_RESTRICTED = 1; + const int PRESENTATION_UNKNOWN = 2; + const int PRESENTATION_PAYPHONE = 3; + const int STATE_ACTIVE = 0; + const int STATE_HOLDING = 1; + const int STATE_DIALING = 2; + const int STATE_ALERTING = 3; + const int STATE_INCOMING = 4; + const int STATE_WAITING = 5; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CallForwardInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CallForwardInfo.aidl new file mode 100644 index 0000000000..51c87584ef --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CallForwardInfo.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CallForwardInfo { + int status; + int reason; + int serviceClass; + int toa; + String number; + int timeSeconds; + const int STATUS_DISABLE = 0; + const int STATUS_ENABLE = 1; + const int STATUS_INTERROGATE = 2; + const int STATUS_REGISTRATION = 3; + const int STATUS_ERASURE = 4; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaCallWaiting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaCallWaiting.aidl new file mode 100644 index 0000000000..0b36be4eba --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaCallWaiting.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaCallWaiting { + String number; + int numberPresentation; + String name; + android.hardware.radio.voice.CdmaSignalInfoRecord signalInfoRecord; + int numberType; + int numberPlan; + const int NUMBER_PLAN_UNKNOWN = 0; + const int NUMBER_PLAN_ISDN = 1; + const int NUMBER_PLAN_DATA = 3; + const int NUMBER_PLAN_TELEX = 4; + const int NUMBER_PLAN_NATIONAL = 8; + const int NUMBER_PLAN_PRIVATE = 9; + const int NUMBER_PRESENTATION_ALLOWED = 0; + const int NUMBER_PRESENTATION_RESTRICTED = 1; + const int NUMBER_PRESENTATION_UNKNOWN = 2; + const int NUMBER_TYPE_UNKNOWN = 0; + const int NUMBER_TYPE_INTERNATIONAL = 1; + const int NUMBER_TYPE_NATIONAL = 2; + const int NUMBER_TYPE_NETWORK_SPECIFIC = 3; + const int NUMBER_TYPE_SUBSCRIBER = 4; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl new file mode 100644 index 0000000000..300b03f6da --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaDisplayInfoRecord { + String alphaBuf; + const int CDMA_ALPHA_INFO_BUFFER_LENGTH = 64; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaInformationRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaInformationRecord.aidl new file mode 100644 index 0000000000..2f7f5f05c9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaInformationRecord.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaInformationRecord { + int name; + android.hardware.radio.voice.CdmaDisplayInfoRecord[] display; + android.hardware.radio.voice.CdmaNumberInfoRecord[] number; + android.hardware.radio.voice.CdmaSignalInfoRecord[] signal; + android.hardware.radio.voice.CdmaRedirectingNumberInfoRecord[] redir; + android.hardware.radio.voice.CdmaLineControlInfoRecord[] lineCtrl; + android.hardware.radio.voice.CdmaT53ClirInfoRecord[] clir; + android.hardware.radio.voice.CdmaT53AudioControlInfoRecord[] audioCtrl; + const int CDMA_MAX_NUMBER_OF_INFO_RECS = 10; + const int NAME_DISPLAY = 0; + const int NAME_CALLED_PARTY_NUMBER = 1; + const int NAME_CALLING_PARTY_NUMBER = 2; + const int NAME_CONNECTED_NUMBER = 3; + const int NAME_SIGNAL = 4; + const int NAME_REDIRECTING_NUMBER = 5; + const int NAME_LINE_CONTROL = 6; + const int NAME_EXTENDED_DISPLAY = 7; + const int NAME_T53_CLIR = 8; + const int NAME_T53_RELEASE = 9; + const int NAME_T53_AUDIO_CONTROL = 10; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl new file mode 100644 index 0000000000..4e4a7ee7b7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaLineControlInfoRecord { + byte lineCtrlPolarityIncluded; + byte lineCtrlToggle; + byte lineCtrlReverse; + byte lineCtrlPowerDenial; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl new file mode 100644 index 0000000000..c3b0d5a442 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaNumberInfoRecord { + String number; + byte numberType; + byte numberPlan; + byte pi; + byte si; + const int CDMA_NUMBER_INFO_BUFFER_LENGTH = 81; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl new file mode 100644 index 0000000000..ae35fbad52 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum CdmaOtaProvisionStatus { + SPL_UNLOCKED, + SPC_RETRIES_EXCEEDED, + A_KEY_EXCHANGED, + SSD_UPDATED, + NAM_DOWNLOADED, + MDN_DOWNLOADED, + IMSI_DOWNLOADED, + PRL_DOWNLOADED, + COMMITTED, + OTAPA_STARTED, + OTAPA_STOPPED, + OTAPA_ABORTED, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl new file mode 100644 index 0000000000..93c7c6b065 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaRedirectingNumberInfoRecord { + android.hardware.radio.voice.CdmaNumberInfoRecord redirectingNumber; + int redirectingReason; + const int REDIRECTING_REASON_UNKNOWN = 0; + const int REDIRECTING_REASON_CALL_FORWARDING_BUSY = 1; + const int REDIRECTING_REASON_CALL_FORWARDING_NO_REPLY = 2; + const int REDIRECTING_REASON_CALLED_DTE_OUT_OF_ORDER = 9; + const int REDIRECTING_REASON_CALL_FORWARDING_BY_THE_CALLED_DTE = 10; + const int REDIRECTING_REASON_CALL_FORWARDING_UNCONDITIONAL = 15; + const int REDIRECTING_REASON_RESERVED = 16; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl new file mode 100644 index 0000000000..69447b433a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaSignalInfoRecord { + boolean isPresent; + byte signalType; + byte alertPitch; + byte signal; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl new file mode 100644 index 0000000000..69d79aa43b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaT53AudioControlInfoRecord { + byte upLink; + byte downLink; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl new file mode 100644 index 0000000000..83b6fb9af7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CdmaT53ClirInfoRecord { + byte cause; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CfData.aidl new file mode 100644 index 0000000000..fc811f2d73 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/CfData.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CfData { + android.hardware.radio.voice.CallForwardInfo[] cfInfo; + const int NUM_SERVICE_CLASSES = 7; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/ClipStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/ClipStatus.aidl new file mode 100644 index 0000000000..c38c8012fb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/ClipStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum ClipStatus { + CLIP_PROVISIONED, + CLIP_UNPROVISIONED, + UNKNOWN, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Dial.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Dial.aidl new file mode 100644 index 0000000000..26041f0620 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/Dial.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Dial { + String address; + int clir; + android.hardware.radio.voice.UusInfo[] uusInfo; + const int CLIR_DEFAULT = 0; + const int CLIR_INVOCATION = 1; + const int CLIR_SUPPRESSION = 2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyCallRouting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyCallRouting.aidl new file mode 100644 index 0000000000..3099a20626 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyCallRouting.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EmergencyCallRouting { + UNKNOWN, + EMERGENCY, + NORMAL, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyNumber.aidl new file mode 100644 index 0000000000..2129f397e0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyNumber.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable EmergencyNumber { + String number; + String mcc; + String mnc; + int categories; + String[] urns; + int sources; + const int SOURCE_NETWORK_SIGNALING = (1 << 0) /* 1 */; + const int SOURCE_SIM = (1 << 1) /* 2 */; + const int SOURCE_MODEM_CONFIG = (1 << 2) /* 4 */; + const int SOURCE_DEFAULT = (1 << 3) /* 8 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyServiceCategory.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyServiceCategory.aidl new file mode 100644 index 0000000000..819baf89f1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/EmergencyServiceCategory.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum EmergencyServiceCategory { + UNSPECIFIED = 0, + POLICE = (1 << 0) /* 1 */, + AMBULANCE = (1 << 1) /* 2 */, + FIRE_BRIGADE = (1 << 2) /* 4 */, + MARINE_GUARD = (1 << 3) /* 8 */, + MOUNTAIN_RESCUE = (1 << 4) /* 16 */, + MIEC = (1 << 5) /* 32 */, + AIEC = (1 << 6) /* 64 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoice.aidl new file mode 100644 index 0000000000..d0a9451a36 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoice.aidl @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@VintfStability +interface IRadioVoice { + oneway void acceptCall(in int serial); + oneway void cancelPendingUssd(in int serial); + oneway void conference(in int serial); + oneway void dial(in int serial, in android.hardware.radio.voice.Dial dialInfo); + oneway void emergencyDial(in int serial, in android.hardware.radio.voice.Dial dialInfo, in int categories, in String[] urns, in android.hardware.radio.voice.EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, in boolean isTesting); + oneway void exitEmergencyCallbackMode(in int serial); + oneway void explicitCallTransfer(in int serial); + oneway void getCallForwardStatus(in int serial, in android.hardware.radio.voice.CallForwardInfo callInfo); + oneway void getCallWaiting(in int serial, in int serviceClass); + oneway void getClip(in int serial); + oneway void getClir(in int serial); + oneway void getCurrentCalls(in int serial); + oneway void getLastCallFailCause(in int serial); + oneway void getMute(in int serial); + oneway void getPreferredVoicePrivacy(in int serial); + oneway void getTtyMode(in int serial); + oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept); + oneway void hangup(in int serial, in int gsmIndex); + oneway void hangupForegroundResumeBackground(in int serial); + oneway void hangupWaitingOrBackground(in int serial); + oneway void isVoNrEnabled(in int serial); + oneway void rejectCall(in int serial); + oneway void responseAcknowledgement(); + oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off); + oneway void sendCdmaFeatureCode(in int serial, in String featureCode); + oneway void sendDtmf(in int serial, in String s); + oneway void sendUssd(in int serial, in String ussd); + oneway void separateConnection(in int serial, in int gsmIndex); + oneway void setCallForward(in int serial, in android.hardware.radio.voice.CallForwardInfo callInfo); + oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass); + oneway void setClir(in int serial, in int status); + oneway void setMute(in int serial, in boolean enable); + oneway void setPreferredVoicePrivacy(in int serial, in boolean enable); + oneway void setResponseFunctions(in android.hardware.radio.voice.IRadioVoiceResponse radioVoiceResponse, in android.hardware.radio.voice.IRadioVoiceIndication radioVoiceIndication); + oneway void setTtyMode(in int serial, in android.hardware.radio.voice.TtyMode mode); + oneway void setVoNrEnabled(in int serial, in boolean enable); + oneway void startDtmf(in int serial, in String s); + oneway void stopDtmf(in int serial); + oneway void switchWaitingOrHoldingAndActive(in int serial); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceIndication.aidl new file mode 100644 index 0000000000..4614ee1b39 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceIndication.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@VintfStability +interface IRadioVoiceIndication { + oneway void callRing(in android.hardware.radio.RadioIndicationType type, in boolean isGsm, in android.hardware.radio.voice.CdmaSignalInfoRecord record); + oneway void callStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void cdmaCallWaiting(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaCallWaiting callWaitingRecord); + oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaInformationRecord[] records); + oneway void cdmaOtaProvisionStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaOtaProvisionStatus status); + oneway void currentEmergencyNumberList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.EmergencyNumber[] emergencyNumberList); + oneway void enterEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type); + oneway void exitEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type); + oneway void indicateRingbackTone(in android.hardware.radio.RadioIndicationType type, in boolean start); + oneway void onSupplementaryServiceIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.StkCcUnsolSsResult ss); + oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.UssdModeType modeType, in String msg); + oneway void resendIncallMute(in android.hardware.radio.RadioIndicationType type); + oneway void srvccStateNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.SrvccState state); + oneway void stkCallControlAlphaNotify(in android.hardware.radio.RadioIndicationType type, in String alpha); + oneway void stkCallSetup(in android.hardware.radio.RadioIndicationType type, in long timeout); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceResponse.aidl new file mode 100644 index 0000000000..46927c2f81 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/IRadioVoiceResponse.aidl @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@VintfStability +interface IRadioVoiceResponse { + oneway void acceptCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeRequest(in int serial); + oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void conferenceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void dialResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void emergencyDialResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void exitEmergencyCallbackModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void explicitCallTransferResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getCallForwardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.CallForwardInfo[] callForwardInfos); + oneway void getCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable, in int serviceClass); + oneway void getClipResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.ClipStatus status); + oneway void getClirResponse(in android.hardware.radio.RadioResponseInfo info, in int n, in int m); + oneway void getCurrentCallsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.Call[] calls); + oneway void getLastCallFailCauseResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.LastCallFailCauseInfo failCauseinfo); + oneway void getMuteResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable); + oneway void getPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable); + oneway void getTtyModeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.TtyMode mode); + oneway void handleStkCallSetupRequestFromSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupConnectionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupForegroundResumeBackgroundResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupWaitingOrBackgroundResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void isVoNrEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable); + oneway void rejectCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendBurstDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendCdmaFeatureCodeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void separateConnectionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCallForwardResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setClirResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setMuteResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setTtyModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setVoNrEnabledResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void stopDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void switchWaitingOrHoldingAndActiveResponse(in android.hardware.radio.RadioResponseInfo info); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCause.aidl new file mode 100644 index 0000000000..0cac135621 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCause.aidl @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum LastCallFailCause { + UNOBTAINABLE_NUMBER = 1, + NO_ROUTE_TO_DESTINATION = 3, + CHANNEL_UNACCEPTABLE = 6, + OPERATOR_DETERMINED_BARRING = 8, + NORMAL = 16, + BUSY = 17, + NO_USER_RESPONDING = 18, + NO_ANSWER_FROM_USER = 19, + CALL_REJECTED = 21, + NUMBER_CHANGED = 22, + PREEMPTION = 25, + DESTINATION_OUT_OF_ORDER = 27, + INVALID_NUMBER_FORMAT = 28, + FACILITY_REJECTED = 29, + RESP_TO_STATUS_ENQUIRY = 30, + NORMAL_UNSPECIFIED = 31, + CONGESTION = 34, + NETWORK_OUT_OF_ORDER = 38, + TEMPORARY_FAILURE = 41, + SWITCHING_EQUIPMENT_CONGESTION = 42, + ACCESS_INFORMATION_DISCARDED = 43, + REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44, + RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47, + QOS_UNAVAILABLE = 49, + REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, + INCOMING_CALLS_BARRED_WITHIN_CUG = 55, + BEARER_CAPABILITY_NOT_AUTHORIZED = 57, + BEARER_CAPABILITY_UNAVAILABLE = 58, + SERVICE_OPTION_NOT_AVAILABLE = 63, + BEARER_SERVICE_NOT_IMPLEMENTED = 65, + ACM_LIMIT_EXCEEDED = 68, + REQUESTED_FACILITY_NOT_IMPLEMENTED = 69, + ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70, + SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79, + INVALID_TRANSACTION_IDENTIFIER = 81, + USER_NOT_MEMBER_OF_CUG = 87, + INCOMPATIBLE_DESTINATION = 88, + INVALID_TRANSIT_NW_SELECTION = 91, + SEMANTICALLY_INCORRECT_MESSAGE = 95, + INVALID_MANDATORY_INFORMATION = 96, + MESSAGE_TYPE_NON_IMPLEMENTED = 97, + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + INFORMATION_ELEMENT_NON_EXISTENT = 99, + CONDITIONAL_IE_ERROR = 100, + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + RECOVERY_ON_TIMER_EXPIRED = 102, + PROTOCOL_ERROR_UNSPECIFIED = 111, + INTERWORKING_UNSPECIFIED = 127, + CALL_BARRED = 240, + FDN_BLOCKED = 241, + IMSI_UNKNOWN_IN_VLR = 242, + IMEI_NOT_ACCEPTED = 243, + DIAL_MODIFIED_TO_USSD = 244, + DIAL_MODIFIED_TO_SS = 245, + DIAL_MODIFIED_TO_DIAL = 246, + RADIO_OFF = 247, + OUT_OF_SERVICE = 248, + NO_VALID_SIM = 249, + RADIO_INTERNAL_ERROR = 250, + NETWORK_RESP_TIMEOUT = 251, + NETWORK_REJECT = 252, + RADIO_ACCESS_FAILURE = 253, + RADIO_LINK_FAILURE = 254, + RADIO_LINK_LOST = 255, + RADIO_UPLINK_FAILURE = 256, + RADIO_SETUP_FAILURE = 257, + RADIO_RELEASE_NORMAL = 258, + RADIO_RELEASE_ABNORMAL = 259, + ACCESS_CLASS_BLOCKED = 260, + NETWORK_DETACH = 261, + CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000, + CDMA_DROP = 1001, + CDMA_INTERCEPT = 1002, + CDMA_REORDER = 1003, + CDMA_SO_REJECT = 1004, + CDMA_RETRY_ORDER = 1005, + CDMA_ACCESS_FAILURE = 1006, + CDMA_PREEMPTED = 1007, + CDMA_NOT_EMERGENCY = 1008, + CDMA_ACCESS_BLOCKED = 1009, + OEM_CAUSE_1 = 0xf001, + OEM_CAUSE_2 = 0xf002, + OEM_CAUSE_3 = 0xf003, + OEM_CAUSE_4 = 0xf004, + OEM_CAUSE_5 = 0xf005, + OEM_CAUSE_6 = 0xf006, + OEM_CAUSE_7 = 0xf007, + OEM_CAUSE_8 = 0xf008, + OEM_CAUSE_9 = 0xf009, + OEM_CAUSE_10 = 0xf00a, + OEM_CAUSE_11 = 0xf00b, + OEM_CAUSE_12 = 0xf00c, + OEM_CAUSE_13 = 0xf00d, + OEM_CAUSE_14 = 0xf00e, + OEM_CAUSE_15 = 0xf00f, + ERROR_UNSPECIFIED = 0xffff, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCauseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCauseInfo.aidl new file mode 100644 index 0000000000..151adf21d6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/LastCallFailCauseInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable LastCallFailCauseInfo { + android.hardware.radio.voice.LastCallFailCause causeCode; + String vendorCause; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SrvccState.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SrvccState.aidl new file mode 100644 index 0000000000..981ba025be --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SrvccState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum SrvccState { + HANDOVER_STARTED, + HANDOVER_COMPLETED, + HANDOVER_FAILED, + HANDOVER_CANCELED, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SsInfoData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SsInfoData.aidl new file mode 100644 index 0000000000..24365dc233 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/SsInfoData.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable SsInfoData { + int[] ssInfo; + const int SS_INFO_MAX = 4; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/StkCcUnsolSsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/StkCcUnsolSsResult.aidl new file mode 100644 index 0000000000..999f47c8d4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/StkCcUnsolSsResult.aidl @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable StkCcUnsolSsResult { + int serviceType; + int requestType; + int teleserviceType; + int serviceClass; + android.hardware.radio.RadioError result; + android.hardware.radio.voice.SsInfoData[] ssInfo; + android.hardware.radio.voice.CfData[] cfData; + const int REQUEST_TYPE_ACTIVATION = 0; + const int REQUEST_TYPE_DEACTIVATION = 1; + const int REQUEST_TYPE_INTERROGATION = 2; + const int REQUEST_TYPE_REGISTRATION = 3; + const int REQUEST_TYPE_ERASURE = 4; + const int SERVICE_TYPE_CFU = 0; + const int SERVICE_TYPE_CF_BUSY = 1; + const int SERVICE_TYPE_CF_NO_REPLY = 2; + const int SERVICE_TYPE_CF_NOT_REACHABLE = 3; + const int SERVICE_TYPE_CF_ALL = 4; + const int SERVICE_TYPE_CF_ALL_CONDITIONAL = 5; + const int SERVICE_TYPE_CLIP = 6; + const int SERVICE_TYPE_CLIR = 7; + const int SERVICE_TYPE_COLP = 8; + const int SERVICE_TYPE_COLR = 9; + const int SERVICE_TYPE_WAIT = 10; + const int SERVICE_TYPE_BAOC = 11; + const int SERVICE_TYPE_BAOIC = 12; + const int SERVICE_TYPE_BAOIC_EXC_HOME = 13; + const int SERVICE_TYPE_BAIC = 14; + const int SERVICE_TYPE_BAIC_ROAMING = 15; + const int SERVICE_TYPE_ALL_BARRING = 16; + const int SERVICE_TYPE_OUTGOING_BARRING = 17; + const int SERVICE_TYPE_INCOMING_BARRING = 18; + const int TELESERVICE_TYPE_ALL_TELE_AND_BEARER_SERVICES = 0; + const int TELESERVICE_TYPE_ALL_TELESEVICES = 1; + const int TELESERVICE_TYPE_TELEPHONY = 2; + const int TELESERVICE_TYPE_ALL_DATA_TELESERVICES = 3; + const int TELESERVICE_TYPE_SMS_SERVICES = 4; + const int TELESERVICE_TYPE_ALL_TELESERVICES_EXCEPT_SMS = 5; + const int SUPP_SERVICE_CLASS_NONE = 0; + const int SUPP_SERVICE_CLASS_VOICE = (1 << 0) /* 1 */; + const int SUPP_SERVICE_CLASS_DATA = (1 << 1) /* 2 */; + const int SUPP_SERVICE_CLASS_FAX = (1 << 2) /* 4 */; + const int SUPP_SERVICE_CLASS_SMS = (1 << 3) /* 8 */; + const int SUPP_SERVICE_CLASS_DATA_SYNC = (1 << 4) /* 16 */; + const int SUPP_SERVICE_CLASS_DATA_ASYNC = (1 << 5) /* 32 */; + const int SUPP_SERVICE_CLASS_PACKET = (1 << 6) /* 64 */; + const int SUPP_SERVICE_CLASS_PAD = (1 << 7) /* 128 */; + const int SUPP_SERVICE_CLASS_MAX = (1 << 7) /* 128 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/TtyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/TtyMode.aidl new file mode 100644 index 0000000000..41ff6b8109 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/TtyMode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum TtyMode { + OFF, + FULL, + HCO, + VCO, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UssdModeType.aidl new file mode 100644 index 0000000000..9e80f03149 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UssdModeType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum UssdModeType { + NOTIFY, + REQUEST, + NW_RELEASE, + LOCAL_CLIENT, + NOT_SUPPORTED, + NW_TIMEOUT, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UusInfo.aidl new file mode 100644 index 0000000000..3c84c8d97b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/3/android/hardware/radio/voice/UusInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio.voice; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable UusInfo { + int uusType; + int uusDcs; + String uusData; + const int UUS_DCS_USP = 0; + const int UUS_DCS_OSIHLP = 1; + const int UUS_DCS_X244 = 2; + const int UUS_DCS_RMCF = 3; + const int UUS_DCS_IA5C = 4; + const int UUS_TYPE_TYPE1_IMPLICIT = 0; + const int UUS_TYPE_TYPE1_REQUIRED = 1; + const int UUS_TYPE_TYPE1_NOT_REQUIRED = 2; + const int UUS_TYPE_TYPE2_REQUIRED = 3; + const int UUS_TYPE_TYPE2_NOT_REQUIRED = 4; + const int UUS_TYPE_TYPE3_REQUIRED = 5; + const int UUS_TYPE_TYPE3_NOT_REQUIRED = 6; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/.hash b/radio/aidl/aidl_api/android.hardware.radio/3/.hash new file mode 100644 index 0000000000..5d39a6782e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/.hash @@ -0,0 +1 @@ +58d15e9e2c355be7b3dda6d4d34effd672bfd1cb diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/AccessNetwork.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/AccessNetwork.aidl new file mode 100644 index 0000000000..73a267b6d0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/AccessNetwork.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum AccessNetwork { + UNKNOWN, + GERAN, + UTRAN, + EUTRAN, + CDMA2000, + IWLAN, + NGRAN, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioAccessFamily.aidl new file mode 100644 index 0000000000..1298ab0f4c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioAccessFamily.aidl @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioAccessFamily { + UNKNOWN = (1 << android.hardware.radio.RadioTechnology.UNKNOWN) /* 1 */, + GPRS = (1 << android.hardware.radio.RadioTechnology.GPRS) /* 2 */, + EDGE = (1 << android.hardware.radio.RadioTechnology.EDGE) /* 4 */, + UMTS = (1 << android.hardware.radio.RadioTechnology.UMTS) /* 8 */, + IS95A = (1 << android.hardware.radio.RadioTechnology.IS95A) /* 16 */, + IS95B = (1 << android.hardware.radio.RadioTechnology.IS95B) /* 32 */, + ONE_X_RTT = (1 << android.hardware.radio.RadioTechnology.ONE_X_RTT) /* 64 */, + EVDO_0 = (1 << android.hardware.radio.RadioTechnology.EVDO_0) /* 128 */, + EVDO_A = (1 << android.hardware.radio.RadioTechnology.EVDO_A) /* 256 */, + HSDPA = (1 << android.hardware.radio.RadioTechnology.HSDPA) /* 512 */, + HSUPA = (1 << android.hardware.radio.RadioTechnology.HSUPA) /* 1024 */, + HSPA = (1 << android.hardware.radio.RadioTechnology.HSPA) /* 2048 */, + EVDO_B = (1 << android.hardware.radio.RadioTechnology.EVDO_B) /* 4096 */, + EHRPD = (1 << android.hardware.radio.RadioTechnology.EHRPD) /* 8192 */, + LTE = (1 << android.hardware.radio.RadioTechnology.LTE) /* 16384 */, + HSPAP = (1 << android.hardware.radio.RadioTechnology.HSPAP) /* 32768 */, + GSM = (1 << android.hardware.radio.RadioTechnology.GSM) /* 65536 */, + TD_SCDMA = (1 << android.hardware.radio.RadioTechnology.TD_SCDMA) /* 131072 */, + IWLAN = (1 << android.hardware.radio.RadioTechnology.IWLAN) /* 262144 */, + /** + * @deprecated use LTE instead. + */ + LTE_CA = (1 << android.hardware.radio.RadioTechnology.LTE_CA) /* 524288 */, + NR = (1 << android.hardware.radio.RadioTechnology.NR) /* 1048576 */, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioConst.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioConst.aidl new file mode 100644 index 0000000000..970cd1e0c8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioConst.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RadioConst { + const int MAX_RILDS = 3; + const int MAX_UUID_LENGTH = 64; + const int CARD_MAX_APPS = 8; + const int P2_CONSTANT_NO_P2 = (-1) /* -1 */; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioError.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioError.aidl new file mode 100644 index 0000000000..02c537055c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioError.aidl @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioError { + NONE = 0, + RADIO_NOT_AVAILABLE = 1, + GENERIC_FAILURE = 2, + PASSWORD_INCORRECT = 3, + SIM_PIN2 = 4, + SIM_PUK2 = 5, + REQUEST_NOT_SUPPORTED = 6, + CANCELLED = 7, + OP_NOT_ALLOWED_DURING_VOICE_CALL = 8, + OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 9, + SMS_SEND_FAIL_RETRY = 10, + SIM_ABSENT = 11, + SUBSCRIPTION_NOT_AVAILABLE = 12, + MODE_NOT_SUPPORTED = 13, + FDN_CHECK_FAILURE = 14, + ILLEGAL_SIM_OR_ME = 15, + MISSING_RESOURCE = 16, + NO_SUCH_ELEMENT = 17, + DIAL_MODIFIED_TO_USSD = 18, + DIAL_MODIFIED_TO_SS = 19, + DIAL_MODIFIED_TO_DIAL = 20, + USSD_MODIFIED_TO_DIAL = 21, + USSD_MODIFIED_TO_SS = 22, + USSD_MODIFIED_TO_USSD = 23, + SS_MODIFIED_TO_DIAL = 24, + SS_MODIFIED_TO_USSD = 25, + SUBSCRIPTION_NOT_SUPPORTED = 26, + SS_MODIFIED_TO_SS = 27, + LCE_NOT_SUPPORTED = 36, + NO_MEMORY = 37, + INTERNAL_ERR = 38, + SYSTEM_ERR = 39, + MODEM_ERR = 40, + INVALID_STATE = 41, + NO_RESOURCES = 42, + SIM_ERR = 43, + INVALID_ARGUMENTS = 44, + INVALID_SIM_STATE = 45, + INVALID_MODEM_STATE = 46, + INVALID_CALL_ID = 47, + NO_SMS_TO_ACK = 48, + NETWORK_ERR = 49, + REQUEST_RATE_LIMITED = 50, + SIM_BUSY = 51, + SIM_FULL = 52, + NETWORK_REJECT = 53, + OPERATION_NOT_ALLOWED = 54, + EMPTY_RECORD = 55, + INVALID_SMS_FORMAT = 56, + ENCODING_ERR = 57, + INVALID_SMSC_ADDRESS = 58, + NO_SUCH_ENTRY = 59, + NETWORK_NOT_READY = 60, + NOT_PROVISIONED = 61, + NO_SUBSCRIPTION = 62, + NO_NETWORK_FOUND = 63, + DEVICE_IN_USE = 64, + ABORTED = 65, + INVALID_RESPONSE = 66, + OEM_ERROR_1 = 501, + OEM_ERROR_2 = 502, + OEM_ERROR_3 = 503, + OEM_ERROR_4 = 504, + OEM_ERROR_5 = 505, + OEM_ERROR_6 = 506, + OEM_ERROR_7 = 507, + OEM_ERROR_8 = 508, + OEM_ERROR_9 = 509, + OEM_ERROR_10 = 510, + OEM_ERROR_11 = 511, + OEM_ERROR_12 = 512, + OEM_ERROR_13 = 513, + OEM_ERROR_14 = 514, + OEM_ERROR_15 = 515, + OEM_ERROR_16 = 516, + OEM_ERROR_17 = 517, + OEM_ERROR_18 = 518, + OEM_ERROR_19 = 519, + OEM_ERROR_20 = 520, + OEM_ERROR_21 = 521, + OEM_ERROR_22 = 522, + OEM_ERROR_23 = 523, + OEM_ERROR_24 = 524, + OEM_ERROR_25 = 525, + SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 67, + ACCESS_BARRED = 68, + BLOCKED_DUE_TO_CALL = 69, + RF_HARDWARE_ISSUE = 70, + NO_RF_CALIBRATION_INFO = 71, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioIndicationType.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioIndicationType.aidl new file mode 100644 index 0000000000..316f92f876 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioIndicationType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioIndicationType { + UNSOLICITED, + UNSOLICITED_ACK_EXP, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfo.aidl new file mode 100644 index 0000000000..f03a73bfb1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RadioResponseInfo { + android.hardware.radio.RadioResponseType type; + int serial; + android.hardware.radio.RadioError error; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfoModem.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfoModem.aidl new file mode 100644 index 0000000000..2e0c315426 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseInfoModem.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable RadioResponseInfoModem { + android.hardware.radio.RadioResponseType type; + int serial; + android.hardware.radio.RadioError error; + boolean isEnabled; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseType.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseType.aidl new file mode 100644 index 0000000000..8bdb45bfdf --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioResponseType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioResponseType { + SOLICITED, + SOLICITED_ACK, + SOLICITED_ACK_EXP, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnology.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnology.aidl new file mode 100644 index 0000000000..7c6a657bcd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnology.aidl @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioTechnology { + UNKNOWN, + GPRS, + EDGE, + UMTS, + IS95A, + IS95B, + ONE_X_RTT, + EVDO_0, + EVDO_A, + HSDPA, + HSUPA, + HSPA, + EVDO_B, + EHRPD, + LTE, + HSPAP, + GSM, + TD_SCDMA, + IWLAN, + /** + * @deprecated use LTE instead and indicate carrier aggregation through multiple physical channel configurations in IRadioNetwork::currentPhysicalChannelConfigs. + */ + LTE_CA, + NR, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnologyFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnologyFamily.aidl new file mode 100644 index 0000000000..85e9850cad --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/3/android/hardware/radio/RadioTechnologyFamily.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +/* @hide */ +@Backing(type="int") @JavaDerive(toString=true) @VintfStability +enum RadioTechnologyFamily { + THREE_GPP, + THREE_GPP2, +} diff --git a/security/authgraph/aidl/Android.bp b/security/authgraph/aidl/Android.bp index f3d12816ca..cb451981b4 100644 --- a/security/authgraph/aidl/Android.bp +++ b/security/authgraph/aidl/Android.bp @@ -28,7 +28,7 @@ aidl_interface { "android/hardware/security/authgraph/*.aidl", ], stability: "vintf", - frozen: false, + frozen: true, backend: { java: { platform_apis: true, @@ -44,6 +44,13 @@ aidl_interface { ], }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + } // cc_defaults that includes the latest Authgraph AIDL library. diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/.hash b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/.hash new file mode 100644 index 0000000000..c0bd06ac57 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/.hash @@ -0,0 +1 @@ +3758824e7b75acdb1ca66620fb8a8aec0ec6dfcc diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Arc.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Arc.aidl new file mode 100644 index 0000000000..dc86fbd5b8 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Arc.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +/* @hide */ +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable Arc { + byte[] arc; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Error.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Error.aidl new file mode 100644 index 0000000000..1a78b54550 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Error.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +/* @hide */ +@Backing(type="int") @VintfStability +enum Error { + OK = 0, + INVALID_PEER_NONCE = (-1) /* -1 */, + INVALID_PEER_KE_KEY = (-2) /* -2 */, + INVALID_IDENTITY = (-3) /* -3 */, + INVALID_CERT_CHAIN = (-4) /* -4 */, + INVALID_SIGNATURE = (-5) /* -5 */, + INVALID_KE_KEY = (-6) /* -6 */, + INVALID_PUB_KEY_IN_KEY = (-7) /* -7 */, + INVALID_PRIV_KEY_ARC_IN_KEY = (-8) /* -8 */, + INVALID_SHARED_KEY_ARCS = (-9) /* -9 */, + MEMORY_ALLOCATION_FAILED = (-10) /* -10 */, + INCOMPATIBLE_PROTOCOL_VERSION = (-11) /* -11 */, +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/IAuthGraphKeyExchange.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/IAuthGraphKeyExchange.aidl new file mode 100644 index 0000000000..2c56f339dd --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/IAuthGraphKeyExchange.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +/* @hide */ +@VintfStability +interface IAuthGraphKeyExchange { + android.hardware.security.authgraph.SessionInitiationInfo create(); + android.hardware.security.authgraph.KeInitResult init(in android.hardware.security.authgraph.PubKey peerPubKey, in android.hardware.security.authgraph.Identity peerId, in byte[] peerNonce, in int peerVersion); + android.hardware.security.authgraph.SessionInfo finish(in android.hardware.security.authgraph.PubKey peerPubKey, in android.hardware.security.authgraph.Identity peerId, in android.hardware.security.authgraph.SessionIdSignature peerSignature, in byte[] peerNonce, in int peerVersion, in android.hardware.security.authgraph.Key ownKey); + android.hardware.security.authgraph.Arc[2] authenticationComplete(in android.hardware.security.authgraph.SessionIdSignature peerSignature, in android.hardware.security.authgraph.Arc[2] sharedKeys); +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Identity.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Identity.aidl new file mode 100644 index 0000000000..bd5453ee82 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Identity.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable Identity { + byte[] identity; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/KeInitResult.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/KeInitResult.aidl new file mode 100644 index 0000000000..8c91523784 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/KeInitResult.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable KeInitResult { + android.hardware.security.authgraph.SessionInitiationInfo sessionInitiationInfo; + android.hardware.security.authgraph.SessionInfo sessionInfo; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Key.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Key.aidl new file mode 100644 index 0000000000..5b4ebbf923 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/Key.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable Key { + @nullable android.hardware.security.authgraph.PubKey pubKey; + @nullable android.hardware.security.authgraph.Arc arcFromPBK; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PlainPubKey.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PlainPubKey.aidl new file mode 100644 index 0000000000..f070bfaef4 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PlainPubKey.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable PlainPubKey { + byte[] plainPubKey; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PubKey.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PubKey.aidl new file mode 100644 index 0000000000..4c3376eb4d --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/PubKey.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +union PubKey { + android.hardware.security.authgraph.PlainPubKey plainKey; + android.hardware.security.authgraph.SignedPubKey signedKey; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionIdSignature.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionIdSignature.aidl new file mode 100644 index 0000000000..6dabc0a080 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionIdSignature.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable SessionIdSignature { + byte[] signature; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInfo.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInfo.aidl new file mode 100644 index 0000000000..427962b5b2 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable SessionInfo { + android.hardware.security.authgraph.Arc[2] sharedKeys; + byte[] sessionId; + android.hardware.security.authgraph.SessionIdSignature signature; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInitiationInfo.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInitiationInfo.aidl new file mode 100644 index 0000000000..bf55e74a2a --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SessionInitiationInfo.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable SessionInitiationInfo { + android.hardware.security.authgraph.Key key; + android.hardware.security.authgraph.Identity identity; + byte[] nonce; + int version; +} diff --git a/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SignedPubKey.aidl b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SignedPubKey.aidl new file mode 100644 index 0000000000..3dbaed81b8 --- /dev/null +++ b/security/authgraph/aidl/aidl_api/android.hardware.security.authgraph/1/android/hardware/security/authgraph/SignedPubKey.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.authgraph; +@RustDerive(Clone=true, Eq=true, PartialEq=true) @VintfStability +parcelable SignedPubKey { + byte[] signedPubKey; +} diff --git a/security/secretkeeper/aidl/Android.bp b/security/secretkeeper/aidl/Android.bp index 5307bf9b99..4975ab9126 100644 --- a/security/secretkeeper/aidl/Android.bp +++ b/security/secretkeeper/aidl/Android.bp @@ -25,7 +25,7 @@ aidl_interface { "android.hardware.security.authgraph-V1", ], stability: "vintf", - frozen: false, + frozen: true, backend: { java: { enabled: false, @@ -41,6 +41,13 @@ aidl_interface { ], }, }, + versions_with_info: [ + { + version: "1", + imports: ["android.hardware.security.authgraph-V1"], + }, + ], + } // cc_defaults that includes the latest Secretkeeper AIDL library. diff --git a/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/.hash b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/.hash new file mode 100644 index 0000000000..1f6c42bc6b --- /dev/null +++ b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/.hash @@ -0,0 +1 @@ +347439bd6088bd24a72e789a616a1586863e43b8 diff --git a/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/ISecretkeeper.aidl b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/ISecretkeeper.aidl new file mode 100644 index 0000000000..8ce37cd558 --- /dev/null +++ b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/ISecretkeeper.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.secretkeeper; +@VintfStability +interface ISecretkeeper { + android.hardware.security.authgraph.IAuthGraphKeyExchange getAuthGraphKe(); + byte[] processSecretManagementRequest(in byte[] request); + void deleteIds(in android.hardware.security.secretkeeper.SecretId[] ids); + void deleteAll(); + const int ERROR_UNKNOWN_KEY_ID = 1; + const int ERROR_INTERNAL_ERROR = 2; + const int ERROR_REQUEST_MALFORMED = 3; +} diff --git a/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/SecretId.aidl b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/SecretId.aidl new file mode 100644 index 0000000000..9887066512 --- /dev/null +++ b/security/secretkeeper/aidl/aidl_api/android.hardware.security.secretkeeper/1/android/hardware/security/secretkeeper/SecretId.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.security.secretkeeper; +/* @hide */ +@VintfStability +parcelable SecretId { + byte[64] id; +} diff --git a/soundtrigger/aidl/Android.bp b/soundtrigger/aidl/Android.bp index fcbaf6b9e2..af9a5fc41d 100644 --- a/soundtrigger/aidl/Android.bp +++ b/soundtrigger/aidl/Android.bp @@ -35,12 +35,17 @@ aidl_interface { sdk_version: "module_current", }, }, - frozen: false, + frozen: true, versions_with_info: [ { version: "1", imports: ["android.media.soundtrigger.types-V1"], }, + { + version: "2", + imports: ["android.media.soundtrigger.types-V2"], + }, + // IMPORTANT: Update latest_android_hardware_soundtrigger3 every time // you add the latest frozen version to versions_with_info ], diff --git a/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/.hash b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/.hash new file mode 100644 index 0000000000..9b334006ab --- /dev/null +++ b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/.hash @@ -0,0 +1 @@ +6b24e60ad261e3ff56106efd86ce6aa7ef5621b0 diff --git a/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHw.aidl b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHw.aidl new file mode 100644 index 0000000000..bbfe7d9161 --- /dev/null +++ b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHw.aidl @@ -0,0 +1,48 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.soundtrigger3; +@VintfStability +interface ISoundTriggerHw { + android.media.soundtrigger.Properties getProperties(); + void registerGlobalCallback(in android.hardware.soundtrigger3.ISoundTriggerHwGlobalCallback callback); + int loadSoundModel(in android.media.soundtrigger.SoundModel soundModel, in android.hardware.soundtrigger3.ISoundTriggerHwCallback callback); + int loadPhraseSoundModel(in android.media.soundtrigger.PhraseSoundModel soundModel, in android.hardware.soundtrigger3.ISoundTriggerHwCallback callback); + void unloadSoundModel(in int modelHandle); + void startRecognition(in int modelHandle, in int deviceHandle, in int ioHandle, in android.media.soundtrigger.RecognitionConfig config); + void stopRecognition(in int modelHandle); + void forceRecognitionEvent(in int modelHandle); + @nullable android.media.soundtrigger.ModelParameterRange queryParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam); + int getParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam); + void setParameter(in int modelHandle, in android.media.soundtrigger.ModelParameter modelParam, in int value); +} diff --git a/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwCallback.aidl b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwCallback.aidl new file mode 100644 index 0000000000..152dfed637 --- /dev/null +++ b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwCallback.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.soundtrigger3; +@VintfStability +interface ISoundTriggerHwCallback { + void modelUnloaded(in int model); + void phraseRecognitionCallback(in int model, in android.media.soundtrigger.PhraseRecognitionEvent event); + void recognitionCallback(in int model, in android.media.soundtrigger.RecognitionEvent event); +} diff --git a/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback.aidl b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback.aidl new file mode 100644 index 0000000000..6dfee9fa2f --- /dev/null +++ b/soundtrigger/aidl/aidl_api/android.hardware.soundtrigger3/2/android/hardware/soundtrigger3/ISoundTriggerHwGlobalCallback.aidl @@ -0,0 +1,38 @@ +/* + * Copyright 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.soundtrigger3; +@VintfStability +interface ISoundTriggerHwGlobalCallback { + void onResourcesAvailable(); +} diff --git a/thermal/aidl/Android.bp b/thermal/aidl/Android.bp index 734aab7d0e..597a166beb 100644 --- a/thermal/aidl/Android.bp +++ b/thermal/aidl/Android.bp @@ -44,7 +44,12 @@ aidl_interface { version: "1", imports: [], }, + { + version: "2", + imports: [], + }, + ], - frozen: false, + frozen: true, } diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/.hash b/thermal/aidl/aidl_api/android.hardware.thermal/2/.hash new file mode 100644 index 0000000000..23d3c07621 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/.hash @@ -0,0 +1 @@ +2f49c78011338b42b43d5d0e250d9b520850cc1f diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingDevice.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingDevice.aidl new file mode 100644 index 0000000000..7e1aed7e3c --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingDevice.aidl @@ -0,0 +1,44 @@ +/* + * 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 + * +1 * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable CoolingDevice { + android.hardware.thermal.CoolingType type; + String name; + long value; + long powerLimitMw; + long powerMw; + long timeWindowMs; +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingType.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingType.aidl new file mode 100644 index 0000000000..5e88aa056c --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/CoolingType.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@Backing(type="int") @VintfStability +enum CoolingType { + FAN, + BATTERY, + CPU, + GPU, + MODEM, + NPU, + COMPONENT, + TPU, + POWER_AMPLIFIER, + DISPLAY, + SPEAKER, + WIFI, + CAMERA, + FLASHLIGHT, + USB_PORT, +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl new file mode 100644 index 0000000000..ea75b1c8a9 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ICoolingDeviceChangedCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@VintfStability +interface ICoolingDeviceChangedCallback { + oneway void notifyCoolingDeviceChanged(in android.hardware.thermal.CoolingDevice coolingDevice); +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermal.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermal.aidl new file mode 100644 index 0000000000..904496cdf1 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermal.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@VintfStability +interface IThermal { + android.hardware.thermal.CoolingDevice[] getCoolingDevices(); + android.hardware.thermal.CoolingDevice[] getCoolingDevicesWithType(in android.hardware.thermal.CoolingType type); + android.hardware.thermal.Temperature[] getTemperatures(); + android.hardware.thermal.Temperature[] getTemperaturesWithType(in android.hardware.thermal.TemperatureType type); + android.hardware.thermal.TemperatureThreshold[] getTemperatureThresholds(); + android.hardware.thermal.TemperatureThreshold[] getTemperatureThresholdsWithType(in android.hardware.thermal.TemperatureType type); + void registerThermalChangedCallback(in android.hardware.thermal.IThermalChangedCallback callback); + void registerThermalChangedCallbackWithType(in android.hardware.thermal.IThermalChangedCallback callback, in android.hardware.thermal.TemperatureType type); + void unregisterThermalChangedCallback(in android.hardware.thermal.IThermalChangedCallback callback); + void registerCoolingDeviceChangedCallbackWithType(in android.hardware.thermal.ICoolingDeviceChangedCallback callback, in android.hardware.thermal.CoolingType type); + void unregisterCoolingDeviceChangedCallback(in android.hardware.thermal.ICoolingDeviceChangedCallback callback); +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermalChangedCallback.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermalChangedCallback.aidl new file mode 100644 index 0000000000..5e1d753d18 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/IThermalChangedCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@VintfStability +interface IThermalChangedCallback { + oneway void notifyThrottling(in android.hardware.thermal.Temperature temperature); +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/Temperature.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/Temperature.aidl new file mode 100644 index 0000000000..ce70ab844f --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/Temperature.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable Temperature { + android.hardware.thermal.TemperatureType type; + String name; + float value; + android.hardware.thermal.ThrottlingSeverity throttlingStatus; +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureThreshold.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureThreshold.aidl new file mode 100644 index 0000000000..a384d19600 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureThreshold.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@JavaDerive(toString=true) @VintfStability +parcelable TemperatureThreshold { + android.hardware.thermal.TemperatureType type; + String name; + float[] hotThrottlingThresholds; + float[] coldThrottlingThresholds; +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureType.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureType.aidl new file mode 100644 index 0000000000..665a36e8b1 --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/TemperatureType.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@Backing(type="int") @VintfStability +enum TemperatureType { + UNKNOWN = (-1) /* -1 */, + CPU = 0, + GPU = 1, + BATTERY = 2, + SKIN = 3, + USB_PORT = 4, + POWER_AMPLIFIER = 5, + BCL_VOLTAGE = 6, + BCL_CURRENT = 7, + BCL_PERCENTAGE = 8, + NPU = 9, + TPU = 10, + DISPLAY = 11, + MODEM = 12, + SOC = 13, + WIFI = 14, + CAMERA = 15, + FLASHLIGHT = 16, + SPEAKER = 17, + AMBIENT = 18, + POGO = 19, +} diff --git a/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ThrottlingSeverity.aidl b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ThrottlingSeverity.aidl new file mode 100644 index 0000000000..183344d45b --- /dev/null +++ b/thermal/aidl/aidl_api/android.hardware.thermal/2/android/hardware/thermal/ThrottlingSeverity.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.thermal; +/* @hide */ +@Backing(type="int") @VintfStability +enum ThrottlingSeverity { + NONE = 0, + LIGHT, + MODERATE, + SEVERE, + CRITICAL, + EMERGENCY, + SHUTDOWN, +} diff --git a/threadnetwork/aidl/Android.bp b/threadnetwork/aidl/Android.bp index 7e674e0729..d674ad7b64 100644 --- a/threadnetwork/aidl/Android.bp +++ b/threadnetwork/aidl/Android.bp @@ -19,4 +19,12 @@ aidl_interface { min_sdk_version: "30", }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/.hash b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/.hash new file mode 100644 index 0000000000..d60de43e67 --- /dev/null +++ b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/.hash @@ -0,0 +1 @@ +9e4d90844dd965def6c11732252f49d6aeaffc8e diff --git a/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChip.aidl b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChip.aidl new file mode 100644 index 0000000000..607ceb398d --- /dev/null +++ b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChip.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.threadnetwork; +@VintfStability +interface IThreadChip { + void open(in android.hardware.threadnetwork.IThreadChipCallback callback); + void close(); + void hardwareReset(); + void sendSpinelFrame(in byte[] frame); + const int ERROR_FAILED = 1; + const int ERROR_NO_BUFS = 2; + const int ERROR_BUSY = 3; +} diff --git a/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChipCallback.aidl b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChipCallback.aidl new file mode 100644 index 0000000000..e86b3ec8b0 --- /dev/null +++ b/threadnetwork/aidl/aidl_api/android.hardware.threadnetwork/1/android/hardware/threadnetwork/IThreadChipCallback.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.threadnetwork; +@VintfStability +interface IThreadChipCallback { + oneway void onReceiveSpinelFrame(in byte[] frame); +} diff --git a/tv/input/aidl/Android.bp b/tv/input/aidl/Android.bp index 2326549ee7..afc811a165 100644 --- a/tv/input/aidl/Android.bp +++ b/tv/input/aidl/Android.bp @@ -35,6 +35,15 @@ aidl_interface { "android.hardware.common.fmq-V1", ], }, + { + version: "2", + imports: [ + "android.hardware.common-V2", + "android.media.audio.common.types-V1", + "android.hardware.common.fmq-V1", + ], + }, + ], - frozen: false, + frozen: true, } diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/.hash b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/.hash new file mode 100644 index 0000000000..9742df8d58 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/.hash @@ -0,0 +1 @@ +4470ddfe78d3a0c44832ac08f46e8283fd090347 diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/CableConnectionStatus.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/CableConnectionStatus.aidl new file mode 100644 index 0000000000..a48bdb11c6 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/CableConnectionStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@Backing(type="int") @VintfStability +enum CableConnectionStatus { + UNKNOWN = 0, + CONNECTED = 1, + DISCONNECTED = 2, +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInput.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInput.aidl new file mode 100644 index 0000000000..84fe2fb7d7 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInput.aidl @@ -0,0 +1,47 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +interface ITvInput { + void closeStream(in int deviceId, in int streamId); + android.hardware.tv.input.TvStreamConfig[] getStreamConfigurations(in int deviceId); + android.hardware.common.NativeHandle openStream(in int deviceId, in int streamId); + void setCallback(in android.hardware.tv.input.ITvInputCallback callback); + void setTvMessageEnabled(int deviceId, int streamId, in android.hardware.tv.input.TvMessageEventType type, boolean enabled); + void getTvMessageQueueDesc(out android.hardware.common.fmq.MQDescriptor queue, int deviceId, int streamId); + const int STATUS_UNKNOWN = 1; + const int STATUS_NO_RESOURCE = 2; + const int STATUS_INVALID_ARGUMENTS = 3; + const int STATUS_INVALID_STATE = 4; +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInputCallback.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInputCallback.aidl new file mode 100644 index 0000000000..974701341c --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/ITvInputCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +interface ITvInputCallback { + void notify(in android.hardware.tv.input.TvInputEvent event); + void notifyTvMessageEvent(in android.hardware.tv.input.TvMessageEvent event); +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputDeviceInfo.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputDeviceInfo.aidl new file mode 100644 index 0000000000..d0951467be --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputDeviceInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +parcelable TvInputDeviceInfo { + int deviceId; + android.hardware.tv.input.TvInputType type; + int portId; + android.hardware.tv.input.CableConnectionStatus cableConnectionStatus; + android.media.audio.common.AudioDevice audioDevice; +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEvent.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEvent.aidl new file mode 100644 index 0000000000..cfa8a34c9e --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEvent.aidl @@ -0,0 +1,39 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +parcelable TvInputEvent { + android.hardware.tv.input.TvInputEventType type; + android.hardware.tv.input.TvInputDeviceInfo deviceInfo; +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEventType.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEventType.aidl new file mode 100644 index 0000000000..a9f518ac85 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputEventType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@Backing(type="int") @VintfStability +enum TvInputEventType { + DEVICE_AVAILABLE = 1, + DEVICE_UNAVAILABLE = 2, + STREAM_CONFIGURATIONS_CHANGED = 3, +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputType.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputType.aidl new file mode 100644 index 0000000000..7e44a7d653 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvInputType.aidl @@ -0,0 +1,47 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@Backing(type="int") @VintfStability +enum TvInputType { + OTHER = 1, + TUNER = 2, + COMPOSITE = 3, + SVIDEO = 4, + SCART = 5, + COMPONENT = 6, + VGA = 7, + DVI = 8, + HDMI = 9, + DISPLAY_PORT = 10, +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessage.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessage.aidl new file mode 100644 index 0000000000..04cb099f97 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessage.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +parcelable TvMessage { + String subType; + long groupId; + int dataLengthBytes; + const long NO_GROUP_ID = (-1) /* -1 */; +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEvent.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEvent.aidl new file mode 100644 index 0000000000..3c1cb74860 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEvent.aidl @@ -0,0 +1,41 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +parcelable TvMessageEvent { + android.hardware.tv.input.TvMessageEventType type; + int streamId; + android.hardware.tv.input.TvMessage[] messages; + int deviceId; +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEventType.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEventType.aidl new file mode 100644 index 0000000000..3006198c68 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvMessageEventType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@Backing(type="int") @VintfStability +enum TvMessageEventType { + WATERMARK = 1, + CLOSED_CAPTION = 2, + OTHER = 1000, +} diff --git a/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvStreamConfig.aidl b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvStreamConfig.aidl new file mode 100644 index 0000000000..8378ff3a87 --- /dev/null +++ b/tv/input/aidl/aidl_api/android.hardware.tv.input/2/android/hardware/tv/input/TvStreamConfig.aidl @@ -0,0 +1,40 @@ +/* + * Copyright 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.tv.input; +@VintfStability +parcelable TvStreamConfig { + int streamId; + int maxVideoWidth; + int maxVideoHeight; +} diff --git a/usb/aidl/Android.bp b/usb/aidl/Android.bp index b61576d682..becb5c1089 100644 --- a/usb/aidl/Android.bp +++ b/usb/aidl/Android.bp @@ -43,8 +43,12 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: [], + }, ], - frozen: false, + frozen: true, } diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/.hash b/usb/aidl/aidl_api/android.hardware.usb/3/.hash new file mode 100644 index 0000000000..99de8e4f97 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/.hash @@ -0,0 +1 @@ +7fe46e9531884739d925b8caeee9dba5c411e228 diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/AltModeData.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/AltModeData.aidl new file mode 100644 index 0000000000..d25ee84151 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/AltModeData.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not us e 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +union AltModeData { + android.hardware.usb.AltModeData.DisplayPortAltModeData displayPortAltModeData; + @VintfStability + parcelable DisplayPortAltModeData { + android.hardware.usb.DisplayPortAltModeStatus partnerSinkStatus = android.hardware.usb.DisplayPortAltModeStatus.UNKNOWN; + android.hardware.usb.DisplayPortAltModeStatus cableStatus = android.hardware.usb.DisplayPortAltModeStatus.UNKNOWN; + android.hardware.usb.DisplayPortAltModePinAssignment pinAssignment = android.hardware.usb.DisplayPortAltModePinAssignment.NONE; + boolean hpd = false; + android.hardware.usb.LinkTrainingStatus linkTrainingStatus = android.hardware.usb.LinkTrainingStatus.UNKNOWN; + } +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ComplianceWarning.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ComplianceWarning.aidl new file mode 100644 index 0000000000..c7c910324e --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ComplianceWarning.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum ComplianceWarning { + OTHER = 1, + DEBUG_ACCESSORY = 2, + BC_1_2 = 3, + MISSING_RP = 4, + INPUT_POWER_LIMITED = 5, + MISSING_DATA_LINES = 6, + ENUMERATION_FAIL = 7, + FLAKY_CONNECTION = 8, + UNRELIABLE_IO = 9, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantDetectionStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantDetectionStatus.aidl new file mode 100644 index 0000000000..24c69664f7 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantDetectionStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum ContaminantDetectionStatus { + NOT_SUPPORTED = 0, + DISABLED = 1, + NOT_DETECTED = 2, + DETECTED = 3, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionMode.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionMode.aidl new file mode 100644 index 0000000000..99798693ff --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum ContaminantProtectionMode { + NONE = 0, + FORCE_SINK = 1, + FORCE_SOURCE = 2, + FORCE_DISABLE = 3, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionStatus.aidl new file mode 100644 index 0000000000..9642261444 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/ContaminantProtectionStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum ContaminantProtectionStatus { + NONE = 0, + FORCE_SINK = 1, + FORCE_SOURCE = 2, + FORCE_DISABLE = 3, + DISABLED = 4, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModePinAssignment.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModePinAssignment.aidl new file mode 100644 index 0000000000..5908117e9e --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModePinAssignment.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum DisplayPortAltModePinAssignment { + NONE = 0, + A = 1, + B = 2, + C = 3, + D = 4, + E = 5, + F = 6, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModeStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModeStatus.aidl new file mode 100644 index 0000000000..dc69b98955 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/DisplayPortAltModeStatus.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum DisplayPortAltModeStatus { + UNKNOWN = 0, + NOT_CAPABLE = 1, + CAPABLE = 2, + ENABLED = 3, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsb.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsb.aidl new file mode 100644 index 0000000000..859f52652b --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsb.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +interface IUsb { + oneway void enableContaminantPresenceDetection(in String portName, in boolean enable, long transactionId); + oneway void enableUsbData(in String portName, boolean enable, long transactionId); + oneway void enableUsbDataWhileDocked(in String portName, long transactionId); + oneway void queryPortStatus(long transactionId); + oneway void setCallback(in android.hardware.usb.IUsbCallback callback); + oneway void switchRole(in String portName, in android.hardware.usb.PortRole role, long transactionId); + oneway void limitPowerTransfer(in String portName, boolean limit, long transactionId); + oneway void resetUsbPort(in String portName, long transactionId); +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsbCallback.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsbCallback.aidl new file mode 100644 index 0000000000..4abfaec53b --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/IUsbCallback.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +interface IUsbCallback { + oneway void notifyPortStatusChange(in android.hardware.usb.PortStatus[] currentPortStatus, in android.hardware.usb.Status retval); + oneway void notifyRoleSwitchStatus(in String portName, in android.hardware.usb.PortRole newRole, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyEnableUsbDataStatus(in String portName, boolean enable, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyEnableUsbDataWhileDockedStatus(in String portName, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyContaminantEnabledStatus(in String portName, boolean enable, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyQueryPortStatus(in String portName, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyLimitPowerTransferStatus(in String portName, boolean limit, in android.hardware.usb.Status retval, long transactionId); + oneway void notifyResetUsbPortStatus(in String portName, in android.hardware.usb.Status retval, long transactionId); +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/LinkTrainingStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/LinkTrainingStatus.aidl new file mode 100644 index 0000000000..1f0b2dcca7 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/LinkTrainingStatus.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum LinkTrainingStatus { + UNKNOWN = 0, + SUCCESS = 1, + FAILURE = 2, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PlugOrientation.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PlugOrientation.aidl new file mode 100644 index 0000000000..e2185444b1 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PlugOrientation.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum PlugOrientation { + UNKNOWN = 0, + UNPLUGGED = 1, + PLUGGED_UNKNOWN = 2, + PLUGGED_NORMAL = 3, + PLUGGED_FLIPPED = 4, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortDataRole.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortDataRole.aidl new file mode 100644 index 0000000000..105b316775 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortDataRole.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum PortDataRole { + NONE = 0, + HOST = 1, + DEVICE = 2, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortMode.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortMode.aidl new file mode 100644 index 0000000000..34e43343ad --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortMode.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum PortMode { + NONE = 0, + UFP = 1, + DFP = 2, + DRP = 3, + AUDIO_ACCESSORY = 4, + DEBUG_ACCESSORY = 5, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortPowerRole.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortPowerRole.aidl new file mode 100644 index 0000000000..0e6f3fb426 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortPowerRole.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum PortPowerRole { + NONE = 0, + SOURCE = 1, + SINK = 2, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortRole.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortRole.aidl new file mode 100644 index 0000000000..c66aeccde9 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortRole.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +union PortRole { + android.hardware.usb.PortPowerRole powerRole = android.hardware.usb.PortPowerRole.NONE; + android.hardware.usb.PortDataRole dataRole; + android.hardware.usb.PortMode mode; +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortStatus.aidl new file mode 100644 index 0000000000..cefddba719 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PortStatus.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +parcelable PortStatus { + String portName; + android.hardware.usb.PortDataRole currentDataRole = android.hardware.usb.PortDataRole.NONE; + android.hardware.usb.PortPowerRole currentPowerRole = android.hardware.usb.PortPowerRole.NONE; + android.hardware.usb.PortMode currentMode = android.hardware.usb.PortMode.NONE; + boolean canChangeMode; + boolean canChangeDataRole; + boolean canChangePowerRole; + android.hardware.usb.PortMode[] supportedModes; + android.hardware.usb.ContaminantProtectionMode[] supportedContaminantProtectionModes; + boolean supportsEnableContaminantPresenceProtection; + android.hardware.usb.ContaminantProtectionStatus contaminantProtectionStatus = android.hardware.usb.ContaminantProtectionStatus.NONE; + boolean supportsEnableContaminantPresenceDetection; + android.hardware.usb.ContaminantDetectionStatus contaminantDetectionStatus = android.hardware.usb.ContaminantDetectionStatus.NOT_SUPPORTED; + android.hardware.usb.UsbDataStatus[] usbDataStatus; + boolean powerTransferLimited; + android.hardware.usb.PowerBrickStatus powerBrickStatus; + boolean supportsComplianceWarnings = false; + android.hardware.usb.ComplianceWarning[] complianceWarnings = {}; + android.hardware.usb.PlugOrientation plugOrientation = android.hardware.usb.PlugOrientation.UNKNOWN; + android.hardware.usb.AltModeData[] supportedAltModes = {}; +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PowerBrickStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PowerBrickStatus.aidl new file mode 100644 index 0000000000..01d2fdd9f7 --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/PowerBrickStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum PowerBrickStatus { + UNKNOWN = 0, + CONNECTED = 1, + NOT_CONNECTED = 2, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/Status.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/Status.aidl new file mode 100644 index 0000000000..f28fc2a70e --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/Status.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@Backing(type="int") @VintfStability +enum Status { + SUCCESS = 0, + ERROR = 1, + INVALID_ARGUMENT = 2, + UNRECOGNIZED_ROLE = 3, + NOT_SUPPORTED = 4, +} diff --git a/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/UsbDataStatus.aidl b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/UsbDataStatus.aidl new file mode 100644 index 0000000000..b976852b3e --- /dev/null +++ b/usb/aidl/aidl_api/android.hardware.usb/3/android/hardware/usb/UsbDataStatus.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.usb; +@VintfStability +enum UsbDataStatus { + UNKNOWN = 0, + ENABLED = 1, + DISABLED_OVERHEAT = 2, + DISABLED_CONTAMINANT = 3, + DISABLED_DOCK = 4, + DISABLED_FORCE = 5, + DISABLED_DEBUG = 6, + DISABLED_DOCK_HOST_MODE = 7, + DISABLED_DOCK_DEVICE_MODE = 8, +} diff --git a/wifi/aidl/Android.bp b/wifi/aidl/Android.bp index 8b01d95a53..392d2e9ec6 100644 --- a/wifi/aidl/Android.bp +++ b/wifi/aidl/Android.bp @@ -58,6 +58,11 @@ aidl_interface { version: "1", imports: [], }, + { + version: "2", + imports: ["android.hardware.wifi.common-V1"], + }, + ], - frozen: false, + frozen: true, } diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/.hash b/wifi/aidl/aidl_api/android.hardware.wifi/2/.hash new file mode 100644 index 0000000000..c3c2983223 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/.hash @@ -0,0 +1 @@ +a5a330d7dabd069484e7458de480eed7561dc3b2 diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AfcChannelAllowance.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AfcChannelAllowance.aidl new file mode 100644 index 0000000000..4d3cd6eb58 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AfcChannelAllowance.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable AfcChannelAllowance { + android.hardware.wifi.AvailableAfcFrequencyInfo[] availableAfcFrequencyInfos; + android.hardware.wifi.AvailableAfcChannelInfo[] availableAfcChannelInfos; + long availabilityExpireTimeMs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcChannelInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcChannelInfo.aidl new file mode 100644 index 0000000000..d2386401ba --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcChannelInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable AvailableAfcChannelInfo { + int globalOperatingClass; + int channelCfi; + int maxEirpDbm; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcFrequencyInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcFrequencyInfo.aidl new file mode 100644 index 0000000000..cbea5affb9 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/AvailableAfcFrequencyInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable AvailableAfcFrequencyInfo { + int startFrequencyMhz; + int endFrequencyMhz; + int maxPsd; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanData.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanData.aidl new file mode 100644 index 0000000000..cd4a456917 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanData.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable CachedScanData { + int[] scannedFrequenciesMhz; + android.hardware.wifi.CachedScanResult[] cachedScanResults; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanResult.aidl new file mode 100644 index 0000000000..1806b0f534 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/CachedScanResult.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable CachedScanResult { + long timeStampInUs; + byte[] ssid; + byte[6] bssid; + int rssiDbm; + int frequencyMhz; + android.hardware.wifi.WifiChannelWidthInMhz channelWidthMhz; + android.hardware.wifi.WifiRatePreamble preambleType; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifi.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifi.aidl new file mode 100644 index 0000000000..cc995fce3f --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifi.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifi { + @PropagateAllowBlocking android.hardware.wifi.IWifiChip getChip(int chipId); + int[] getChipIds(); + boolean isStarted(); + void registerEventCallback(in android.hardware.wifi.IWifiEventCallback callback); + void start(); + void stop(); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiApIface.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiApIface.aidl new file mode 100644 index 0000000000..e71dde40fd --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiApIface.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiApIface { + String getName(); + String[] getBridgedInstances(); + byte[6] getFactoryMacAddress(); + void setCountryCode(in byte[2] code); + void resetToFactoryMacAddress(); + void setMacAddress(in byte[6] mac); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChip.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChip.aidl new file mode 100644 index 0000000000..5ed7517766 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChip.aidl @@ -0,0 +1,183 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiChip { + void configureChip(in int modeId); + @PropagateAllowBlocking android.hardware.wifi.IWifiApIface createApIface(); + @PropagateAllowBlocking android.hardware.wifi.IWifiApIface createBridgedApIface(); + @PropagateAllowBlocking android.hardware.wifi.IWifiNanIface createNanIface(); + @PropagateAllowBlocking android.hardware.wifi.IWifiP2pIface createP2pIface(); + @PropagateAllowBlocking android.hardware.wifi.IWifiRttController createRttController(in android.hardware.wifi.IWifiStaIface boundIface); + @PropagateAllowBlocking android.hardware.wifi.IWifiStaIface createStaIface(); + void enableDebugErrorAlerts(in boolean enable); + void flushRingBufferToFile(); + void forceDumpToDebugRingBuffer(in String ringName); + @PropagateAllowBlocking android.hardware.wifi.IWifiApIface getApIface(in String ifname); + String[] getApIfaceNames(); + android.hardware.wifi.IWifiChip.ChipMode[] getAvailableModes(); + int getFeatureSet(); + android.hardware.wifi.WifiDebugHostWakeReasonStats getDebugHostWakeReasonStats(); + android.hardware.wifi.WifiDebugRingBufferStatus[] getDebugRingBuffersStatus(); + int getId(); + int getMode(); + @PropagateAllowBlocking android.hardware.wifi.IWifiNanIface getNanIface(in String ifname); + String[] getNanIfaceNames(); + @PropagateAllowBlocking android.hardware.wifi.IWifiP2pIface getP2pIface(in String ifname); + String[] getP2pIfaceNames(); + @PropagateAllowBlocking android.hardware.wifi.IWifiStaIface getStaIface(in String ifname); + String[] getStaIfaceNames(); + android.hardware.wifi.WifiRadioCombination[] getSupportedRadioCombinations(); + android.hardware.wifi.WifiChipCapabilities getWifiChipCapabilities(); + android.hardware.wifi.WifiUsableChannel[] getUsableChannels(in android.hardware.wifi.WifiBand band, in int ifaceModeMask, in int filterMask); + void setAfcChannelAllowance(in android.hardware.wifi.AfcChannelAllowance afcChannelAllowance); + void registerEventCallback(in android.hardware.wifi.IWifiChipEventCallback callback); + void removeApIface(in String ifname); + void removeIfaceInstanceFromBridgedApIface(in String brIfaceName, in String ifaceInstanceName); + void removeNanIface(in String ifname); + void removeP2pIface(in String ifname); + void removeStaIface(in String ifname); + android.hardware.wifi.IWifiChip.ChipDebugInfo requestChipDebugInfo(); + byte[] requestDriverDebugDump(); + byte[] requestFirmwareDebugDump(); + void resetTxPowerScenario(); + void selectTxPowerScenario(in android.hardware.wifi.IWifiChip.TxPowerScenario scenario); + void setCoexUnsafeChannels(in android.hardware.wifi.IWifiChip.CoexUnsafeChannel[] unsafeChannels, in int restrictions); + void setCountryCode(in byte[2] code); + void setLatencyMode(in android.hardware.wifi.IWifiChip.LatencyMode mode); + void setMultiStaPrimaryConnection(in String ifName); + void setMultiStaUseCase(in android.hardware.wifi.IWifiChip.MultiStaUseCase useCase); + void startLoggingToDebugRingBuffer(in String ringName, in android.hardware.wifi.WifiDebugRingBufferVerboseLevel verboseLevel, in int maxIntervalInSec, in int minDataSizeInBytes); + void stopLoggingToDebugRingBuffer(); + void triggerSubsystemRestart(); + void enableStaChannelForPeerNetwork(in int channelCategoryEnableFlag); + void setMloMode(in android.hardware.wifi.IWifiChip.ChipMloMode mode); + @PropagateAllowBlocking android.hardware.wifi.IWifiApIface createApOrBridgedApIface(in android.hardware.wifi.IfaceConcurrencyType iface, in android.hardware.wifi.common.OuiKeyedData[] vendorData); + void setVoipMode(in android.hardware.wifi.IWifiChip.VoipMode mode); + const int NO_POWER_CAP_CONSTANT = 0x7FFFFFFF; + @Backing(type="int") @VintfStability + enum FeatureSetMask { + SET_TX_POWER_LIMIT = (1 << 0) /* 1 */, + D2D_RTT = (1 << 1) /* 2 */, + D2AP_RTT = (1 << 2) /* 4 */, + USE_BODY_HEAD_SAR = (1 << 3) /* 8 */, + SET_LATENCY_MODE = (1 << 4) /* 16 */, + P2P_RAND_MAC = (1 << 5) /* 32 */, + WIGIG = (1 << 6) /* 64 */, + SET_AFC_CHANNEL_ALLOWANCE = (1 << 7) /* 128 */, + T2LM_NEGOTIATION = (1 << 8) /* 256 */, + SET_VOIP_MODE = (1 << 9) /* 512 */, + } + @VintfStability + parcelable ChipConcurrencyCombinationLimit { + android.hardware.wifi.IfaceConcurrencyType[] types; + int maxIfaces; + } + @VintfStability + parcelable ChipConcurrencyCombination { + android.hardware.wifi.IWifiChip.ChipConcurrencyCombinationLimit[] limits; + } + @VintfStability + parcelable ChipDebugInfo { + String driverDescription; + String firmwareDescription; + } + @VintfStability + parcelable ChipIfaceCombinationLimit { + android.hardware.wifi.IfaceType[] types; + int maxIfaces; + } + @VintfStability + parcelable ChipIfaceCombination { + android.hardware.wifi.IWifiChip.ChipIfaceCombinationLimit[] limits; + } + @VintfStability + parcelable ChipMode { + int id; + android.hardware.wifi.IWifiChip.ChipConcurrencyCombination[] availableCombinations; + } + @Backing(type="int") @VintfStability + enum CoexRestriction { + WIFI_DIRECT = (1 << 0) /* 1 */, + SOFTAP = (1 << 1) /* 2 */, + WIFI_AWARE = (1 << 2) /* 4 */, + } + @VintfStability + parcelable CoexUnsafeChannel { + android.hardware.wifi.WifiBand band; + int channel; + int powerCapDbm; + } + @Backing(type="int") @VintfStability + enum LatencyMode { + NORMAL = 0, + LOW = 1, + } + @Backing(type="byte") @VintfStability + enum MultiStaUseCase { + DUAL_STA_TRANSIENT_PREFER_PRIMARY = 0, + DUAL_STA_NON_TRANSIENT_UNBIASED = 1, + } + @Backing(type="int") @VintfStability + enum TxPowerScenario { + VOICE_CALL = 0, + ON_HEAD_CELL_OFF = 1, + ON_HEAD_CELL_ON = 2, + ON_BODY_CELL_OFF = 3, + ON_BODY_CELL_ON = 4, + } + @Backing(type="int") @VintfStability + enum UsableChannelFilter { + CELLULAR_COEXISTENCE = (1 << 0) /* 1 */, + CONCURRENCY = (1 << 1) /* 2 */, + NAN_INSTANT_MODE = (1 << 2) /* 4 */, + } + @Backing(type="int") @VintfStability + enum VoipMode { + OFF = 0, + VOICE = 1, + } + @Backing(type="int") @VintfStability + enum ChannelCategoryMask { + INDOOR_CHANNEL = (1 << 0) /* 1 */, + DFS_CHANNEL = (1 << 1) /* 2 */, + } + @Backing(type="int") @VintfStability + enum ChipMloMode { + DEFAULT = 0, + LOW_LATENCY = 1, + HIGH_THROUGHPUT = 2, + LOW_POWER = 3, + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChipEventCallback.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChipEventCallback.aidl new file mode 100644 index 0000000000..3fd8533c44 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiChipEventCallback.aidl @@ -0,0 +1,55 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiChipEventCallback { + oneway void onChipReconfigureFailure(in android.hardware.wifi.WifiStatusCode status); + oneway void onChipReconfigured(in int modeId); + oneway void onDebugErrorAlert(in int errorCode, in byte[] debugData); + oneway void onDebugRingBufferDataAvailable(in android.hardware.wifi.WifiDebugRingBufferStatus status, in byte[] data); + oneway void onIfaceAdded(in android.hardware.wifi.IfaceType type, in String name); + oneway void onIfaceRemoved(in android.hardware.wifi.IfaceType type, in String name); + oneway void onRadioModeChange(in android.hardware.wifi.IWifiChipEventCallback.RadioModeInfo[] radioModeInfos); + @VintfStability + parcelable IfaceInfo { + String name; + int channel; + } + @VintfStability + parcelable RadioModeInfo { + int radioId; + android.hardware.wifi.WifiBand bandInfo; + android.hardware.wifi.IWifiChipEventCallback.IfaceInfo[] ifaceInfos; + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiEventCallback.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiEventCallback.aidl new file mode 100644 index 0000000000..00e5cb6e09 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiEventCallback.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiEventCallback { + oneway void onFailure(in android.hardware.wifi.WifiStatusCode status); + oneway void onStart(); + oneway void onStop(); + oneway void onSubsystemRestart(in android.hardware.wifi.WifiStatusCode status); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIface.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIface.aidl new file mode 100644 index 0000000000..0e2f90fbc0 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIface.aidl @@ -0,0 +1,62 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiNanIface { + String getName(); + void configRequest(in char cmdId, in android.hardware.wifi.NanConfigRequest msg1, in android.hardware.wifi.NanConfigRequestSupplemental msg2); + void createDataInterfaceRequest(in char cmdId, in String ifaceName); + void deleteDataInterfaceRequest(in char cmdId, in String ifaceName); + void disableRequest(in char cmdId); + void enableRequest(in char cmdId, in android.hardware.wifi.NanEnableRequest msg1, in android.hardware.wifi.NanConfigRequestSupplemental msg2); + void getCapabilitiesRequest(in char cmdId); + void initiateDataPathRequest(in char cmdId, in android.hardware.wifi.NanInitiateDataPathRequest msg); + void registerEventCallback(in android.hardware.wifi.IWifiNanIfaceEventCallback callback); + void respondToDataPathIndicationRequest(in char cmdId, in android.hardware.wifi.NanRespondToDataPathIndicationRequest msg); + void startPublishRequest(in char cmdId, in android.hardware.wifi.NanPublishRequest msg); + void startSubscribeRequest(in char cmdId, in android.hardware.wifi.NanSubscribeRequest msg); + void stopPublishRequest(in char cmdId, in byte sessionId); + void stopSubscribeRequest(in char cmdId, in byte sessionId); + void terminateDataPathRequest(in char cmdId, in int ndpInstanceId); + void suspendRequest(in char cmdId, in byte sessionId); + void resumeRequest(in char cmdId, in byte sessionId); + void transmitFollowupRequest(in char cmdId, in android.hardware.wifi.NanTransmitFollowupRequest msg); + void initiatePairingRequest(in char cmdId, in android.hardware.wifi.NanPairingRequest msg); + void respondToPairingIndicationRequest(in char cmdId, in android.hardware.wifi.NanRespondToPairingIndicationRequest msg); + void initiateBootstrappingRequest(in char cmdId, in android.hardware.wifi.NanBootstrappingRequest msg); + void respondToBootstrappingIndicationRequest(in char cmdId, in android.hardware.wifi.NanBootstrappingResponse msg); + void terminatePairingRequest(in char cmdId, in int pairingInstanceId); + const int MIN_DATA_PATH_CONFIG_PASSPHRASE_LENGTH = 8; + const int MAX_DATA_PATH_CONFIG_PASSPHRASE_LENGTH = 63; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIfaceEventCallback.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIfaceEventCallback.aidl new file mode 100644 index 0000000000..8c443309ee --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiNanIfaceEventCallback.aidl @@ -0,0 +1,75 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiNanIfaceEventCallback { + oneway void eventClusterEvent(in android.hardware.wifi.NanClusterEventInd event); + oneway void eventDataPathConfirm(in android.hardware.wifi.NanDataPathConfirmInd event); + oneway void eventDataPathRequest(in android.hardware.wifi.NanDataPathRequestInd event); + oneway void eventDataPathScheduleUpdate(in android.hardware.wifi.NanDataPathScheduleUpdateInd event); + oneway void eventDataPathTerminated(in int ndpInstanceId); + oneway void eventDisabled(in android.hardware.wifi.NanStatus status); + oneway void eventFollowupReceived(in android.hardware.wifi.NanFollowupReceivedInd event); + oneway void eventMatch(in android.hardware.wifi.NanMatchInd event); + oneway void eventMatchExpired(in byte discoverySessionId, in int peerId); + oneway void eventPublishTerminated(in byte sessionId, in android.hardware.wifi.NanStatus status); + oneway void eventSubscribeTerminated(in byte sessionId, in android.hardware.wifi.NanStatus status); + oneway void eventTransmitFollowup(in char id, in android.hardware.wifi.NanStatus status); + oneway void eventSuspensionModeChanged(in android.hardware.wifi.NanSuspensionModeChangeInd event); + oneway void notifyCapabilitiesResponse(in char id, in android.hardware.wifi.NanStatus status, in android.hardware.wifi.NanCapabilities capabilities); + oneway void notifyConfigResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyCreateDataInterfaceResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyDeleteDataInterfaceResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyDisableResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyEnableResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyInitiateDataPathResponse(in char id, in android.hardware.wifi.NanStatus status, in int ndpInstanceId); + oneway void notifyRespondToDataPathIndicationResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyStartPublishResponse(in char id, in android.hardware.wifi.NanStatus status, in byte sessionId); + oneway void notifyStartSubscribeResponse(in char id, in android.hardware.wifi.NanStatus status, in byte sessionId); + oneway void notifyStopPublishResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyStopSubscribeResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyTerminateDataPathResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifySuspendResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyResumeResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyTransmitFollowupResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void eventPairingRequest(in android.hardware.wifi.NanPairingRequestInd event); + oneway void eventPairingConfirm(in android.hardware.wifi.NanPairingConfirmInd event); + oneway void notifyInitiatePairingResponse(in char id, in android.hardware.wifi.NanStatus status, in int pairingInstanceId); + oneway void notifyRespondToPairingIndicationResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void eventBootstrappingRequest(in android.hardware.wifi.NanBootstrappingRequestInd event); + oneway void eventBootstrappingConfirm(in android.hardware.wifi.NanBootstrappingConfirmInd event); + oneway void notifyInitiateBootstrappingResponse(in char id, in android.hardware.wifi.NanStatus status, in int bootstrappingInstanceId); + oneway void notifyRespondToBootstrappingIndicationResponse(in char id, in android.hardware.wifi.NanStatus status); + oneway void notifyTerminatePairingResponse(in char id, in android.hardware.wifi.NanStatus status); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiP2pIface.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiP2pIface.aidl new file mode 100644 index 0000000000..5e9948e0b7 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiP2pIface.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiP2pIface { + String getName(); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttController.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttController.aidl new file mode 100644 index 0000000000..730a055eeb --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttController.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiRttController { + void disableResponder(in int cmdId); + void enableResponder(in int cmdId, in android.hardware.wifi.WifiChannelInfo channelHint, in int maxDurationInSeconds, in android.hardware.wifi.RttResponder info); + android.hardware.wifi.IWifiStaIface getBoundIface(); + android.hardware.wifi.RttCapabilities getCapabilities(); + android.hardware.wifi.RttResponder getResponderInfo(); + void rangeCancel(in int cmdId, in android.hardware.wifi.MacAddress[] addrs); + void rangeRequest(in int cmdId, in android.hardware.wifi.RttConfig[] rttConfigs); + void registerEventCallback(in android.hardware.wifi.IWifiRttControllerEventCallback callback); + void setLci(in int cmdId, in android.hardware.wifi.RttLciInformation lci); + void setLcr(in int cmdId, in android.hardware.wifi.RttLcrInformation lcr); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttControllerEventCallback.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttControllerEventCallback.aidl new file mode 100644 index 0000000000..a6a33fc049 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiRttControllerEventCallback.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiRttControllerEventCallback { + oneway void onResults(in int cmdId, in android.hardware.wifi.RttResult[] results); +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIface.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIface.aidl new file mode 100644 index 0000000000..ccb7876513 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIface.aidl @@ -0,0 +1,91 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiStaIface { + String getName(); + void configureRoaming(in android.hardware.wifi.StaRoamingConfig config); + void disableLinkLayerStatsCollection(); + void enableLinkLayerStatsCollection(in boolean debug); + void enableNdOffload(in boolean enable); + android.hardware.wifi.StaApfPacketFilterCapabilities getApfPacketFilterCapabilities(); + android.hardware.wifi.StaBackgroundScanCapabilities getBackgroundScanCapabilities(); + int getFeatureSet(); + android.hardware.wifi.WifiDebugRxPacketFateReport[] getDebugRxPacketFates(); + android.hardware.wifi.WifiDebugTxPacketFateReport[] getDebugTxPacketFates(); + byte[6] getFactoryMacAddress(); + android.hardware.wifi.StaLinkLayerStats getLinkLayerStats(); + android.hardware.wifi.StaRoamingCapabilities getRoamingCapabilities(); + void installApfPacketFilter(in byte[] program); + byte[] readApfPacketFilterData(); + void registerEventCallback(in android.hardware.wifi.IWifiStaIfaceEventCallback callback); + void setMacAddress(in byte[6] mac); + void setRoamingState(in android.hardware.wifi.StaRoamingState state); + void setScanMode(in boolean enable); + void startBackgroundScan(in int cmdId, in android.hardware.wifi.StaBackgroundScanParameters params); + void startDebugPacketFateMonitoring(); + void startRssiMonitoring(in int cmdId, in int maxRssi, in int minRssi); + void startSendingKeepAlivePackets(in int cmdId, in byte[] ipPacketData, in char etherType, in byte[6] srcAddress, in byte[6] dstAddress, in int periodInMs); + void stopBackgroundScan(in int cmdId); + void stopRssiMonitoring(in int cmdId); + void stopSendingKeepAlivePackets(in int cmdId); + void setDtimMultiplier(in int multiplier); + android.hardware.wifi.CachedScanData getCachedScanData(); + android.hardware.wifi.TwtCapabilities twtGetCapabilities(); + void twtSessionSetup(in int cmdId, in android.hardware.wifi.TwtRequest twtRequest); + void twtSessionUpdate(in int cmdId, in int sessionId, in android.hardware.wifi.TwtRequest twtRequest); + void twtSessionSuspend(in int cmdId, in int sessionId); + void twtSessionResume(in int cmdId, in int sessionId); + void twtSessionTeardown(in int cmdId, in int sessionId); + void twtSessionGetStats(in int cmdId, in int sessionId); + @Backing(type="int") @VintfStability + enum FeatureSetMask { + APF = (1 << 0) /* 1 */, + BACKGROUND_SCAN = (1 << 1) /* 2 */, + LINK_LAYER_STATS = (1 << 2) /* 4 */, + RSSI_MONITOR = (1 << 3) /* 8 */, + CONTROL_ROAMING = (1 << 4) /* 16 */, + PROBE_IE_ALLOWLIST = (1 << 5) /* 32 */, + SCAN_RAND = (1 << 6) /* 64 */, + STA_5G = (1 << 7) /* 128 */, + HOTSPOT = (1 << 8) /* 256 */, + PNO = (1 << 9) /* 512 */, + TDLS = (1 << 10) /* 1024 */, + TDLS_OFFCHANNEL = (1 << 11) /* 2048 */, + ND_OFFLOAD = (1 << 12) /* 4096 */, + KEEP_ALIVE = (1 << 13) /* 8192 */, + ROAMING_MODE_CONTROL = (1 << 14) /* 16384 */, + CACHED_SCAN_DATA = (1 << 15) /* 32768 */, + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIfaceEventCallback.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIfaceEventCallback.aidl new file mode 100644 index 0000000000..629ca3d922 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IWifiStaIfaceEventCallback.aidl @@ -0,0 +1,68 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +interface IWifiStaIfaceEventCallback { + oneway void onBackgroundFullScanResult(in int cmdId, in int bucketsScanned, in android.hardware.wifi.StaScanResult result); + oneway void onBackgroundScanFailure(in int cmdId); + oneway void onBackgroundScanResults(in int cmdId, in android.hardware.wifi.StaScanData[] scanDatas); + oneway void onRssiThresholdBreached(in int cmdId, in byte[6] currBssid, in int currRssi); + oneway void onTwtFailure(in int cmdId, in android.hardware.wifi.IWifiStaIfaceEventCallback.TwtErrorCode error); + oneway void onTwtSessionCreate(in int cmdId, in android.hardware.wifi.TwtSession twtSession); + oneway void onTwtSessionUpdate(in int cmdId, in android.hardware.wifi.TwtSession twtSession); + oneway void onTwtSessionTeardown(in int cmdId, in int twtSessionId, in android.hardware.wifi.IWifiStaIfaceEventCallback.TwtTeardownReasonCode reasonCode); + oneway void onTwtSessionStats(in int cmdId, in int twtSessionId, in android.hardware.wifi.TwtSessionStats twtSessionStats); + oneway void onTwtSessionSuspend(in int cmdId, in int twtSessionId); + oneway void onTwtSessionResume(in int cmdId, in int twtSessionId); + @Backing(type="byte") @VintfStability + enum TwtErrorCode { + FAILURE_UNKNOWN, + ALREADY_RESUMED, + ALREADY_SUSPENDED, + INVALID_PARAMS, + MAX_SESSION_REACHED, + NOT_AVAILABLE, + NOT_SUPPORTED, + PEER_NOT_SUPPORTED, + PEER_REJECTED, + TIMEOUT, + } + @Backing(type="byte") @VintfStability + enum TwtTeardownReasonCode { + UNKNOWN, + LOCALLY_REQUESTED, + INTERNALLY_INITIATED, + PEER_INITIATED, + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceConcurrencyType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceConcurrencyType.aidl new file mode 100644 index 0000000000..d584423f5a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceConcurrencyType.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum IfaceConcurrencyType { + STA, + AP, + AP_BRIDGED, + P2P, + NAN_IFACE, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceType.aidl new file mode 100644 index 0000000000..67022dfdff --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/IfaceType.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum IfaceType { + STA, + AP, + P2P, + NAN_IFACE, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/MacAddress.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/MacAddress.aidl new file mode 100644 index 0000000000..c4a06136ec --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/MacAddress.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable MacAddress { + byte[6] data; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandIndex.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandIndex.aidl new file mode 100644 index 0000000000..3f1ea5e444 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandIndex.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanBandIndex { + NAN_BAND_24GHZ = 0, + NAN_BAND_5GHZ, + NAN_BAND_6GHZ = 2, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandSpecificConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandSpecificConfig.aidl new file mode 100644 index 0000000000..57540b3835 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBandSpecificConfig.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanBandSpecificConfig { + byte rssiClose; + byte rssiMiddle; + byte rssiCloseProximity; + char dwellTimeMs; + char scanPeriodSec; + boolean validDiscoveryWindowIntervalVal; + byte discoveryWindowIntervalVal; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingConfirmInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingConfirmInd.aidl new file mode 100644 index 0000000000..5ab8dcd213 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingConfirmInd.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanBootstrappingConfirmInd { + int bootstrappingInstanceId; + android.hardware.wifi.NanBootstrappingResponseCode responseCode; + android.hardware.wifi.NanStatus reasonCode; + int comeBackDelay; + byte[] cookie; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingMethod.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingMethod.aidl new file mode 100644 index 0000000000..6ff62b2f52 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingMethod.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanBootstrappingMethod { + BOOTSTRAPPING_OPPORTUNISTIC_MASK = (1 << 0) /* 1 */, + BOOTSTRAPPING_PIN_CODE_DISPLAY_MASK = (1 << 1) /* 2 */, + BOOTSTRAPPING_PASSPHRASE_DISPLAY_MASK = (1 << 2) /* 4 */, + BOOTSTRAPPING_QR_DISPLAY_MASK = (1 << 3) /* 8 */, + BOOTSTRAPPING_NFC_TAG_MASK = (1 << 4) /* 16 */, + BOOTSTRAPPING_PIN_CODE_KEYPAD_MASK = (1 << 5) /* 32 */, + BOOTSTRAPPING_PASSPHRASE_KEYPAD_MASK = (1 << 6) /* 64 */, + BOOTSTRAPPING_QR_SCAN_MASK = (1 << 7) /* 128 */, + BOOTSTRAPPING_NFC_READER_MASK = (1 << 8) /* 256 */, + BOOTSTRAPPING_SERVICE_MANAGED_MASK = (1 << 14) /* 16384 */, + BOOTSTRAPPING_HANDSHAKE_SHIP_MASK = (1 << 15) /* 32768 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequest.aidl new file mode 100644 index 0000000000..b5f78b06b5 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequest.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanBootstrappingRequest { + int peerId; + byte[6] peerDiscMacAddr; + android.hardware.wifi.NanBootstrappingMethod requestBootstrappingMethod; + byte[] cookie; + boolean isComeback; + byte discoverySessionId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequestInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequestInd.aidl new file mode 100644 index 0000000000..a4398e9310 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingRequestInd.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanBootstrappingRequestInd { + byte discoverySessionId; + int peerId; + byte[6] peerDiscMacAddr; + int bootstrappingInstanceId; + android.hardware.wifi.NanBootstrappingMethod requestBootstrappingMethod; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponse.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponse.aidl new file mode 100644 index 0000000000..7b17493d88 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponse.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanBootstrappingResponse { + int bootstrappingInstanceId; + boolean acceptRequest; + byte discoverySessionId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponseCode.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponseCode.aidl new file mode 100644 index 0000000000..a3e9e4d2ae --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanBootstrappingResponseCode.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanBootstrappingResponseCode { + NAN_BOOTSTRAPPING_REQUEST_ACCEPT = 0, + NAN_BOOTSTRAPPING_REQUEST_REJECT, + NAN_BOOTSTRAPPING_REQUEST_COMEBACK, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCapabilities.aidl new file mode 100644 index 0000000000..a30893a0c2 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCapabilities.aidl @@ -0,0 +1,57 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanCapabilities { + int maxConcurrentClusters; + int maxPublishes; + int maxSubscribes; + int maxServiceNameLen; + int maxMatchFilterLen; + int maxTotalMatchFilterLen; + int maxServiceSpecificInfoLen; + int maxExtendedServiceSpecificInfoLen; + int maxNdiInterfaces; + int maxNdpSessions; + int maxAppInfoLen; + int maxQueuedTransmitFollowupMsgs; + int maxSubscribeInterfaceAddresses; + int supportedCipherSuites; + boolean instantCommunicationModeSupportFlag; + boolean supports6g; + boolean supportsHe; + boolean supportsPairing; + boolean supportsSetClusterId; + boolean supportsSuspension; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCipherSuiteType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCipherSuiteType.aidl new file mode 100644 index 0000000000..6f3158e670 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanCipherSuiteType.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanCipherSuiteType { + NONE = 0, + SHARED_KEY_128_MASK = (1 << 0) /* 1 */, + SHARED_KEY_256_MASK = (1 << 1) /* 2 */, + PUBLIC_KEY_2WDH_128_MASK = (1 << 2) /* 4 */, + PUBLIC_KEY_2WDH_256_MASK = (1 << 3) /* 8 */, + PUBLIC_KEY_PASN_128_MASK = (1 << 6) /* 64 */, + PUBLIC_KEY_PASN_256_MASK = (1 << 7) /* 128 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventInd.aidl new file mode 100644 index 0000000000..7a3ff8151a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventInd.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanClusterEventInd { + android.hardware.wifi.NanClusterEventType eventType; + byte[6] addr; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventType.aidl new file mode 100644 index 0000000000..6c20543d86 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanClusterEventType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanClusterEventType { + DISCOVERY_MAC_ADDRESS_CHANGED = 0, + STARTED_CLUSTER, + JOINED_CLUSTER, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequest.aidl new file mode 100644 index 0000000000..a3693d6498 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequest.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanConfigRequest { + byte masterPref; + boolean disableDiscoveryAddressChangeIndication; + boolean disableStartedClusterIndication; + boolean disableJoinedClusterIndication; + boolean includePublishServiceIdsInBeacon; + byte numberOfPublishServiceIdsInBeacon; + boolean includeSubscribeServiceIdsInBeacon; + byte numberOfSubscribeServiceIdsInBeacon; + char rssiWindowSize; + int macAddressRandomizationIntervalSec; + android.hardware.wifi.NanBandSpecificConfig[3] bandSpecificConfig; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequestSupplemental.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequestSupplemental.aidl new file mode 100644 index 0000000000..99f2af771e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanConfigRequestSupplemental.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanConfigRequestSupplemental { + int discoveryBeaconIntervalMs; + int numberOfSpatialStreamsInDiscovery; + boolean enableDiscoveryWindowEarlyTermination; + boolean enableRanging; + boolean enableInstantCommunicationMode; + int instantModeChannel; + int clusterId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelCfg.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelCfg.aidl new file mode 100644 index 0000000000..4233c32863 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelCfg.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanDataPathChannelCfg { + CHANNEL_NOT_REQUESTED = 0, + REQUEST_CHANNEL_SETUP, + FORCE_CHANNEL_SETUP, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelInfo.aidl new file mode 100644 index 0000000000..d111db784c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathChannelInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDataPathChannelInfo { + int channelFreq; + android.hardware.wifi.WifiChannelWidthInMhz channelBandwidth; + int numSpatialStreams; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathConfirmInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathConfirmInd.aidl new file mode 100644 index 0000000000..2e1e2caece --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathConfirmInd.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDataPathConfirmInd { + int ndpInstanceId; + boolean dataPathSetupSuccess; + byte[6] peerNdiMacAddr; + byte[] appInfo; + android.hardware.wifi.NanStatus status; + android.hardware.wifi.NanDataPathChannelInfo[] channelInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathRequestInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathRequestInd.aidl new file mode 100644 index 0000000000..74d5b73aba --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathRequestInd.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDataPathRequestInd { + byte discoverySessionId; + byte[6] peerDiscMacAddr; + int ndpInstanceId; + boolean securityRequired; + byte[] appInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathScheduleUpdateInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathScheduleUpdateInd.aidl new file mode 100644 index 0000000000..5fabf5539c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathScheduleUpdateInd.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDataPathScheduleUpdateInd { + byte[6] peerDiscoveryAddress; + android.hardware.wifi.NanDataPathChannelInfo[] channelInfo; + int[] ndpInstanceIds; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityConfig.aidl new file mode 100644 index 0000000000..48e9501b3e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityConfig.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDataPathSecurityConfig { + android.hardware.wifi.NanDataPathSecurityType securityType; + android.hardware.wifi.NanCipherSuiteType cipherType; + byte[32] pmk; + byte[] passphrase; + byte[16] scid; + boolean enable16ReplyCountersForTksa; + boolean enable16ReplyCountersForGtksa; + boolean supportGtkAndIgtk; + boolean supportBigtksa; + boolean enableNcsBip256; + boolean requiresEnhancedFrameProtection; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityType.aidl new file mode 100644 index 0000000000..cb7904d180 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDataPathSecurityType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanDataPathSecurityType { + OPEN, + PMK, + PASSPHRASE, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDebugConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDebugConfig.aidl new file mode 100644 index 0000000000..b84d891221 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDebugConfig.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDebugConfig { + boolean validClusterIdVals; + char clusterIdBottomRangeVal; + char clusterIdTopRangeVal; + boolean validIntfAddrVal; + byte[6] intfAddrVal; + boolean validOuiVal; + int ouiVal; + boolean validRandomFactorForceVal; + byte randomFactorForceVal; + boolean validHopCountForceVal; + byte hopCountForceVal; + boolean validDiscoveryChannelVal; + int[3] discoveryChannelMhzVal; + boolean validUseBeaconsInBandVal; + boolean[3] useBeaconsInBandVal; + boolean validUseSdfInBandVal; + boolean[3] useSdfInBandVal; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDiscoveryCommonConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDiscoveryCommonConfig.aidl new file mode 100644 index 0000000000..96d940ae31 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanDiscoveryCommonConfig.aidl @@ -0,0 +1,58 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanDiscoveryCommonConfig { + byte sessionId; + char ttlSec; + char discoveryWindowPeriod; + byte discoveryCount; + byte[] serviceName; + android.hardware.wifi.NanMatchAlg discoveryMatchIndicator; + byte[] serviceSpecificInfo; + byte[] extendedServiceSpecificInfo; + byte[] rxMatchFilter; + byte[] txMatchFilter; + boolean useRssiThreshold; + boolean disableDiscoveryTerminationIndication; + boolean disableMatchExpirationIndication; + boolean disableFollowupReceivedIndication; + android.hardware.wifi.NanDataPathSecurityConfig securityConfig; + boolean rangingRequired; + int rangingIntervalMs; + int configRangingIndications; + char distanceIngressCm; + char distanceEgressCm; + boolean enableSessionSuspendability; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanEnableRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanEnableRequest.aidl new file mode 100644 index 0000000000..eaa009cfd1 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanEnableRequest.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanEnableRequest { + boolean[3] operateInBand; + byte hopCountMax; + android.hardware.wifi.NanConfigRequest configParams; + android.hardware.wifi.NanDebugConfig debugConfigs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanFollowupReceivedInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanFollowupReceivedInd.aidl new file mode 100644 index 0000000000..743ad9d227 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanFollowupReceivedInd.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanFollowupReceivedInd { + byte discoverySessionId; + int peerId; + byte[6] addr; + boolean receivedInFaw; + byte[] serviceSpecificInfo; + byte[] extendedServiceSpecificInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanIdentityResolutionAttribute.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanIdentityResolutionAttribute.aidl new file mode 100644 index 0000000000..843107ea40 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanIdentityResolutionAttribute.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanIdentityResolutionAttribute { + byte[8] nonce; + byte[8] tag; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanInitiateDataPathRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanInitiateDataPathRequest.aidl new file mode 100644 index 0000000000..740a140780 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanInitiateDataPathRequest.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanInitiateDataPathRequest { + int peerId; + byte[6] peerDiscMacAddr; + android.hardware.wifi.NanDataPathChannelCfg channelRequestType; + int channel; + String ifaceName; + android.hardware.wifi.NanDataPathSecurityConfig securityConfig; + byte[] appInfo; + byte[] serviceNameOutOfBand; + byte discoverySessionId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchAlg.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchAlg.aidl new file mode 100644 index 0000000000..93ac26b25f --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchAlg.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanMatchAlg { + MATCH_ONCE = 0, + MATCH_CONTINUOUS, + MATCH_NEVER, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchInd.aidl new file mode 100644 index 0000000000..4acc7732f3 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanMatchInd.aidl @@ -0,0 +1,55 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanMatchInd { + byte discoverySessionId; + int peerId; + byte[6] addr; + byte[] serviceSpecificInfo; + byte[] extendedServiceSpecificInfo; + byte[] matchFilter; + boolean matchOccurredInBeaconFlag; + boolean outOfResourceFlag; + byte rssiValue; + android.hardware.wifi.NanCipherSuiteType peerCipherType; + boolean peerRequiresSecurityEnabledInNdp; + boolean peerRequiresRanging; + int rangingMeasurementInMm; + int rangingIndicationType; + byte[] scid; + android.hardware.wifi.NanPairingConfig peerPairingConfig; + android.hardware.wifi.NanIdentityResolutionAttribute peerNira; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingAkm.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingAkm.aidl new file mode 100644 index 0000000000..05bbaee0d5 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingAkm.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanPairingAkm { + SAE = 0, + PASN = 1, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfig.aidl new file mode 100644 index 0000000000..1c04a96d6c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfig.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPairingConfig { + boolean enablePairingSetup; + boolean enablePairingCache; + boolean enablePairingVerification; + int supportedBootstrappingMethods; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfirmInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfirmInd.aidl new file mode 100644 index 0000000000..699ecdce77 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingConfirmInd.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPairingConfirmInd { + int pairingInstanceId; + boolean pairingSuccess; + android.hardware.wifi.NanStatus status; + android.hardware.wifi.NanPairingRequestType requestType; + boolean enablePairingCache; + android.hardware.wifi.NpkSecurityAssociation npksa; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequest.aidl new file mode 100644 index 0000000000..121b038b54 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequest.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPairingRequest { + int peerId; + byte[6] peerDiscMacAddr; + android.hardware.wifi.NanPairingRequestType requestType; + boolean enablePairingCache; + byte[16] pairingIdentityKey; + android.hardware.wifi.NanPairingSecurityConfig securityConfig; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestInd.aidl new file mode 100644 index 0000000000..57072c04a4 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestInd.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPairingRequestInd { + byte discoverySessionId; + int peerId; + byte[6] peerDiscMacAddr; + int pairingInstanceId; + android.hardware.wifi.NanPairingRequestType requestType; + boolean enablePairingCache; + android.hardware.wifi.NanIdentityResolutionAttribute peerNira; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestType.aidl new file mode 100644 index 0000000000..3488340bf4 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingRequestType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanPairingRequestType { + NAN_PAIRING_SETUP = 0, + NAN_PAIRING_VERIFICATION, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityConfig.aidl new file mode 100644 index 0000000000..1a6a13c550 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityConfig.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPairingSecurityConfig { + android.hardware.wifi.NanPairingSecurityType securityType; + byte[32] pmk; + byte[] passphrase; + android.hardware.wifi.NanPairingAkm akm; + android.hardware.wifi.NanCipherSuiteType cipherType; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityType.aidl new file mode 100644 index 0000000000..9f6c774021 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPairingSecurityType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanPairingSecurityType { + OPPORTUNISTIC, + PMK, + PASSPHRASE, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishRequest.aidl new file mode 100644 index 0000000000..bdc83579ad --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishRequest.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanPublishRequest { + android.hardware.wifi.NanDiscoveryCommonConfig baseConfigs; + android.hardware.wifi.NanPublishType publishType; + android.hardware.wifi.NanTxType txType; + boolean autoAcceptDataPathRequests; + android.hardware.wifi.NanPairingConfig pairingConfig; + byte[16] identityKey; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishType.aidl new file mode 100644 index 0000000000..30dffb29d1 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanPublishType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanPublishType { + UNSOLICITED = 0, + SOLICITED, + UNSOLICITED_SOLICITED, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRangingIndication.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRangingIndication.aidl new file mode 100644 index 0000000000..cf72dcea23 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRangingIndication.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanRangingIndication { + CONTINUOUS_INDICATION_MASK = (1 << 0) /* 1 */, + INGRESS_MET_MASK = (1 << 1) /* 2 */, + EGRESS_MET_MASK = (1 << 2) /* 4 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToDataPathIndicationRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToDataPathIndicationRequest.aidl new file mode 100644 index 0000000000..0f873b5ea8 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToDataPathIndicationRequest.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanRespondToDataPathIndicationRequest { + boolean acceptRequest; + int ndpInstanceId; + String ifaceName; + android.hardware.wifi.NanDataPathSecurityConfig securityConfig; + byte[] appInfo; + byte[] serviceNameOutOfBand; + byte discoverySessionId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToPairingIndicationRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToPairingIndicationRequest.aidl new file mode 100644 index 0000000000..da81c394b7 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanRespondToPairingIndicationRequest.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanRespondToPairingIndicationRequest { + boolean acceptRequest; + int pairingInstanceId; + android.hardware.wifi.NanPairingRequestType requestType; + boolean enablePairingCache; + byte[16] pairingIdentityKey; + android.hardware.wifi.NanPairingSecurityConfig securityConfig; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSrfType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSrfType.aidl new file mode 100644 index 0000000000..82409fd5aa --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSrfType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanSrfType { + BLOOM_FILTER = 0, + PARTIAL_MAC_ADDR, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatus.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatus.aidl new file mode 100644 index 0000000000..834558ae72 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatus.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanStatus { + android.hardware.wifi.NanStatusCode status; + String description; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatusCode.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatusCode.aidl new file mode 100644 index 0000000000..ec12eb0c4c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanStatusCode.aidl @@ -0,0 +1,55 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanStatusCode { + SUCCESS = 0, + INTERNAL_FAILURE = 1, + PROTOCOL_FAILURE = 2, + INVALID_SESSION_ID = 3, + NO_RESOURCES_AVAILABLE = 4, + INVALID_ARGS = 5, + INVALID_PEER_ID = 6, + INVALID_NDP_ID = 7, + NAN_NOT_ALLOWED = 8, + NO_OTA_ACK = 9, + ALREADY_ENABLED = 10, + FOLLOWUP_TX_QUEUE_FULL = 11, + UNSUPPORTED_CONCURRENCY_NAN_DISABLED = 12, + INVALID_PAIRING_ID = 13, + INVALID_BOOTSTRAPPING_ID = 14, + REDUNDANT_REQUEST = 15, + NOT_SUPPORTED = 16, + NO_CONNECTION = 17, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeRequest.aidl new file mode 100644 index 0000000000..bf525a9c7e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeRequest.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanSubscribeRequest { + android.hardware.wifi.NanDiscoveryCommonConfig baseConfigs; + android.hardware.wifi.NanSubscribeType subscribeType; + android.hardware.wifi.NanSrfType srfType; + boolean srfRespondIfInAddressSet; + boolean shouldUseSrf; + boolean isSsiRequiredForMatch; + android.hardware.wifi.MacAddress[] intfAddr; + android.hardware.wifi.NanPairingConfig pairingConfig; + byte[16] identityKey; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeType.aidl new file mode 100644 index 0000000000..4f06df956d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSubscribeType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanSubscribeType { + PASSIVE = 0, + ACTIVE, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSuspensionModeChangeInd.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSuspensionModeChangeInd.aidl new file mode 100644 index 0000000000..557fc796d9 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanSuspensionModeChangeInd.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanSuspensionModeChangeInd { + boolean isSuspended; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTransmitFollowupRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTransmitFollowupRequest.aidl new file mode 100644 index 0000000000..20c94d9558 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTransmitFollowupRequest.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NanTransmitFollowupRequest { + byte discoverySessionId; + int peerId; + byte[6] addr; + boolean isHighPriority; + boolean shouldUseDiscoveryWindow; + byte[] serviceSpecificInfo; + byte[] extendedServiceSpecificInfo; + boolean disableFollowupResultIndication; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTxType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTxType.aidl new file mode 100644 index 0000000000..798d3a29e6 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NanTxType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum NanTxType { + BROADCAST = 0, + UNICAST, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NpkSecurityAssociation.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NpkSecurityAssociation.aidl new file mode 100644 index 0000000000..508e92009d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/NpkSecurityAssociation.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable NpkSecurityAssociation { + byte[16] peerNanIdentityKey; + byte[16] localNanIdentityKey; + byte[32] npk; + android.hardware.wifi.NanPairingAkm akm; + android.hardware.wifi.NanCipherSuiteType cipherType; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttBw.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttBw.aidl new file mode 100644 index 0000000000..7cc700250e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttBw.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttBw { + BW_UNSPECIFIED = 0x0, + BW_5MHZ = 0x01, + BW_10MHZ = 0x02, + BW_20MHZ = 0x04, + BW_40MHZ = 0x08, + BW_80MHZ = 0x10, + BW_160MHZ = 0x20, + BW_320MHZ = 0x40, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttCapabilities.aidl new file mode 100644 index 0000000000..6c6408454a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttCapabilities.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttCapabilities { + boolean rttOneSidedSupported; + boolean rttFtmSupported; + boolean lciSupported; + boolean lcrSupported; + boolean responderSupported; + android.hardware.wifi.RttPreamble preambleSupport; + android.hardware.wifi.RttBw bwSupport; + byte mcVersion; + int azPreambleSupport; + int azBwSupport; + boolean ntbInitiatorSupported; + boolean ntbResponderSupported; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttConfig.aidl new file mode 100644 index 0000000000..361361609c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttConfig.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttConfig { + byte[6] addr; + android.hardware.wifi.RttType type; + android.hardware.wifi.RttPeerType peer; + android.hardware.wifi.WifiChannelInfo channel; + int burstPeriod; + int numBurst; + int numFramesPerBurst; + int numRetriesPerRttFrame; + int numRetriesPerFtmr; + boolean mustRequestLci; + boolean mustRequestLcr; + int burstDuration; + android.hardware.wifi.RttPreamble preamble; + android.hardware.wifi.RttBw bw; + long ntbMinMeasurementTime; + long ntbMaxMeasurementTime; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLciInformation.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLciInformation.aidl new file mode 100644 index 0000000000..0fcf151fd1 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLciInformation.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttLciInformation { + long latitude; + long longitude; + int altitude; + byte latitudeUnc; + byte longitudeUnc; + byte altitudeUnc; + android.hardware.wifi.RttMotionPattern motionPattern; + int floor; + int heightAboveFloor; + int heightUnc; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLcrInformation.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLcrInformation.aidl new file mode 100644 index 0000000000..c756ddab0d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttLcrInformation.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttLcrInformation { + byte[2] countryCode; + String civicInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttMotionPattern.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttMotionPattern.aidl new file mode 100644 index 0000000000..7c8e3692b1 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttMotionPattern.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttMotionPattern { + NOT_EXPECTED = 0, + EXPECTED = 1, + UNKNOWN = 2, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPeerType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPeerType.aidl new file mode 100644 index 0000000000..23fa7f67cb --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPeerType.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttPeerType { + AP = 1, + STA = 2, + P2P_GO = 3, + P2P_CLIENT = 4, + NAN_TYPE = 5, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPreamble.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPreamble.aidl new file mode 100644 index 0000000000..280246451e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttPreamble.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttPreamble { + INVALID = 0, + LEGACY = 0x1, + HT = 0x2, + VHT = 0x4, + HE = 0x8, + EHT = 0x10, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResponder.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResponder.aidl new file mode 100644 index 0000000000..41463b5292 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResponder.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttResponder { + android.hardware.wifi.WifiChannelInfo channel; + android.hardware.wifi.RttPreamble preamble; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResult.aidl new file mode 100644 index 0000000000..13202ba3f2 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttResult.aidl @@ -0,0 +1,69 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable RttResult { + byte[6] addr; + int burstNum; + int measurementNumber; + int successNumber; + byte numberPerBurstPeer; + android.hardware.wifi.RttStatus status; + byte retryAfterDuration; + android.hardware.wifi.RttType type; + int rssi; + int rssiSpread; + android.hardware.wifi.WifiRateInfo txRate; + android.hardware.wifi.WifiRateInfo rxRate; + long rtt; + long rttSd; + long rttSpread; + int distanceInMm; + int distanceSdInMm; + int distanceSpreadInMm; + long timeStampInUs; + int burstDurationInMs; + int negotiatedBurstNum; + android.hardware.wifi.WifiInformationElement lci; + android.hardware.wifi.WifiInformationElement lcr; + int channelFreqMHz; + android.hardware.wifi.RttBw packetBw; + byte i2rTxLtfRepetitionCount; + byte r2iTxLtfRepetitionCount; + long ntbMinMeasurementTime; + long ntbMaxMeasurementTime; + byte numTxSpatialStreams; + byte numRxSpatialStreams; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttStatus.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttStatus.aidl new file mode 100644 index 0000000000..2817497a7a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttStatus.aidl @@ -0,0 +1,55 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttStatus { + SUCCESS = 0, + FAILURE = 1, + FAIL_NO_RSP = 2, + FAIL_REJECTED = 3, + FAIL_NOT_SCHEDULED_YET = 4, + FAIL_TM_TIMEOUT = 5, + FAIL_AP_ON_DIFF_CHANNEL = 6, + FAIL_NO_CAPABILITY = 7, + ABORTED = 8, + FAIL_INVALID_TS = 9, + FAIL_PROTOCOL = 10, + FAIL_SCHEDULE = 11, + FAIL_BUSY_TRY_LATER = 12, + INVALID_REQ = 13, + NO_WIFI = 14, + FAIL_FTM_PARAM_OVERRIDE = 15, + NAN_RANGING_PROTOCOL_FAILURE = 16, + NAN_RANGING_CONCURRENCY_NOT_SUPPORTED = 17, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttType.aidl new file mode 100644 index 0000000000..cb25673af3 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/RttType.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum RttType { + ONE_SIDED = 1, + TWO_SIDED = 2, + TWO_SIDED_11MC = TWO_SIDED /* 2 */, + TWO_SIDED_11AZ_NTB = 3, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/Ssid.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/Ssid.aidl new file mode 100644 index 0000000000..98b523f37e --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/Ssid.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable Ssid { + byte[32] data; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaApfPacketFilterCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaApfPacketFilterCapabilities.aidl new file mode 100644 index 0000000000..3b4d785a42 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaApfPacketFilterCapabilities.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaApfPacketFilterCapabilities { + int version; + int maxLength; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketEventReportSchemeMask.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketEventReportSchemeMask.aidl new file mode 100644 index 0000000000..249d87622a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketEventReportSchemeMask.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum StaBackgroundScanBucketEventReportSchemeMask { + EACH_SCAN = (1 << 0) /* 1 */, + FULL_RESULTS = (1 << 1) /* 2 */, + NO_BATCH = (1 << 2) /* 4 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketParameters.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketParameters.aidl new file mode 100644 index 0000000000..4e9671a370 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanBucketParameters.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaBackgroundScanBucketParameters { + int bucketIdx; + android.hardware.wifi.WifiBand band; + int[] frequencies; + int periodInMs; + int eventReportScheme; + int exponentialMaxPeriodInMs; + int exponentialBase; + int exponentialStepCount; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanCapabilities.aidl new file mode 100644 index 0000000000..758dd97485 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanCapabilities.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaBackgroundScanCapabilities { + int maxCacheSize; + int maxBuckets; + int maxApCachePerScan; + int maxReportingThreshold; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanLimits.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanLimits.aidl new file mode 100644 index 0000000000..05d0277d1c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanLimits.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum StaBackgroundScanLimits { + MAX_CHANNELS = 16, + MAX_BUCKETS = 16, + MAX_AP_CACHE_PER_SCAN = 32, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanParameters.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanParameters.aidl new file mode 100644 index 0000000000..077356685d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaBackgroundScanParameters.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaBackgroundScanParameters { + int basePeriodInMs; + int maxApPerScan; + int reportThresholdPercent; + int reportThresholdNumScans; + android.hardware.wifi.StaBackgroundScanBucketParameters[] buckets; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceContentionTimeStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceContentionTimeStats.aidl new file mode 100644 index 0000000000..4dee6de3fd --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceContentionTimeStats.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerIfaceContentionTimeStats { + int contentionTimeMinInUsec; + int contentionTimeMaxInUsec; + int contentionTimeAvgInUsec; + int contentionNumSamples; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfacePacketStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfacePacketStats.aidl new file mode 100644 index 0000000000..eddf52ee25 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfacePacketStats.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerIfacePacketStats { + long rxMpdu; + long txMpdu; + long lostMpdu; + long retries; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceStats.aidl new file mode 100644 index 0000000000..a4192076d2 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerIfaceStats.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerIfaceStats { + android.hardware.wifi.StaLinkLayerLinkStats[] links; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerLinkStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerLinkStats.aidl new file mode 100644 index 0000000000..cd21c256fe --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerLinkStats.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerLinkStats { + int linkId; + int radioId; + int frequencyMhz; + int beaconRx; + int avgRssiMgmt; + android.hardware.wifi.StaLinkLayerIfacePacketStats wmeBePktStats; + android.hardware.wifi.StaLinkLayerIfacePacketStats wmeBkPktStats; + android.hardware.wifi.StaLinkLayerIfacePacketStats wmeViPktStats; + android.hardware.wifi.StaLinkLayerIfacePacketStats wmeVoPktStats; + byte timeSliceDutyCycleInPercent; + android.hardware.wifi.StaLinkLayerIfaceContentionTimeStats wmeBeContentionTimeStats; + android.hardware.wifi.StaLinkLayerIfaceContentionTimeStats wmeBkContentionTimeStats; + android.hardware.wifi.StaLinkLayerIfaceContentionTimeStats wmeViContentionTimeStats; + android.hardware.wifi.StaLinkLayerIfaceContentionTimeStats wmeVoContentionTimeStats; + android.hardware.wifi.StaPeerInfo[] peers; + android.hardware.wifi.StaLinkLayerLinkStats.StaLinkState state; + @Backing(type="int") @VintfStability + enum StaLinkState { + UNKNOWN = 0, + NOT_IN_USE = (1 << 0) /* 1 */, + IN_USE = (1 << 1) /* 2 */, + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerRadioStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerRadioStats.aidl new file mode 100644 index 0000000000..84d24c9974 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerRadioStats.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerRadioStats { + int onTimeInMs; + int txTimeInMs; + int[] txTimeInMsPerLevel; + int rxTimeInMs; + int onTimeInMsForScan; + int onTimeInMsForNanScan; + int onTimeInMsForBgScan; + int onTimeInMsForRoamScan; + int onTimeInMsForPnoScan; + int onTimeInMsForHs20Scan; + android.hardware.wifi.WifiChannelStats[] channelStats; + int radioId; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerStats.aidl new file mode 100644 index 0000000000..9c05346998 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaLinkLayerStats.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaLinkLayerStats { + android.hardware.wifi.StaLinkLayerIfaceStats iface; + android.hardware.wifi.StaLinkLayerRadioStats[] radios; + long timeStampInMs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaPeerInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaPeerInfo.aidl new file mode 100644 index 0000000000..93a901fb2a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaPeerInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaPeerInfo { + char staCount; + char chanUtil; + android.hardware.wifi.StaRateStat[] rateStats; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRateStat.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRateStat.aidl new file mode 100644 index 0000000000..43b69fc900 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRateStat.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaRateStat { + android.hardware.wifi.WifiRateInfo rateInfo; + int txMpdu; + int rxMpdu; + int mpduLost; + int retries; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingCapabilities.aidl new file mode 100644 index 0000000000..9eed877d6f --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingCapabilities.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaRoamingCapabilities { + int maxBlocklistSize; + int maxAllowlistSize; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingConfig.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingConfig.aidl new file mode 100644 index 0000000000..2b37cee12a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingConfig.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaRoamingConfig { + android.hardware.wifi.MacAddress[] bssidBlocklist; + android.hardware.wifi.Ssid[] ssidAllowlist; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingState.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingState.aidl new file mode 100644 index 0000000000..fd7d567105 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaRoamingState.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="byte") @VintfStability +enum StaRoamingState { + DISABLED = 0, + ENABLED = 1, + AGGRESSIVE = 2, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanData.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanData.aidl new file mode 100644 index 0000000000..7c75232e51 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanData.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaScanData { + int flags; + int bucketsScanned; + android.hardware.wifi.StaScanResult[] results; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanDataFlagMask.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanDataFlagMask.aidl new file mode 100644 index 0000000000..0ca4b4b41c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanDataFlagMask.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum StaScanDataFlagMask { + INTERRUPTED = (1 << 0) /* 1 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanResult.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanResult.aidl new file mode 100644 index 0000000000..9a8d29720c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/StaScanResult.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable StaScanResult { + long timeStampInUs; + byte[] ssid; + byte[6] bssid; + int rssi; + int frequency; + char beaconPeriodInMs; + char capability; + android.hardware.wifi.WifiInformationElement[] informationElements; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtCapabilities.aidl new file mode 100644 index 0000000000..75f3e83829 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtCapabilities.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable TwtCapabilities { + boolean isTwtRequesterSupported; + boolean isTwtResponderSupported; + boolean isBroadcastTwtSupported; + boolean isFlexibleTwtScheduleSupported; + int minWakeDurationUs; + int maxWakeDurationUs; + long minWakeIntervalUs; + long maxWakeIntervalUs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtRequest.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtRequest.aidl new file mode 100644 index 0000000000..1e1c39a914 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtRequest.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable TwtRequest { + int mloLinkId; + int minWakeDurationUs; + int maxWakeDurationUs; + long minWakeIntervalUs; + long maxWakeIntervalUs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSession.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSession.aidl new file mode 100644 index 0000000000..0b88d8e75d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSession.aidl @@ -0,0 +1,54 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable TwtSession { + int sessionId; + int mloLinkId; + int wakeDurationUs; + long wakeIntervalUs; + android.hardware.wifi.TwtSession.TwtNegotiationType negotiationType; + boolean isTriggerEnabled; + boolean isAnnounced; + boolean isImplicit; + boolean isProtected; + boolean isUpdatable; + boolean isSuspendable; + boolean isResponderPmModeEnabled; + @Backing(type="byte") @VintfStability + enum TwtNegotiationType { + INDIVIDUAL = 0, + BROADCAST = 1, + } +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSessionStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSessionStats.aidl new file mode 100644 index 0000000000..f62b614146 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/TwtSessionStats.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable TwtSessionStats { + int avgTxPktCount; + int avgRxPktCount; + int avgTxPktSize; + int avgRxPktSize; + int avgEospDurationUs; + int eospCount; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiAntennaMode.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiAntennaMode.aidl new file mode 100644 index 0000000000..b47b7f502a --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiAntennaMode.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiAntennaMode { + WIFI_ANTENNA_MODE_UNSPECIFIED = 0, + WIFI_ANTENNA_MODE_1X1 = 1, + WIFI_ANTENNA_MODE_2X2 = 2, + WIFI_ANTENNA_MODE_3X3 = 3, + WIFI_ANTENNA_MODE_4X4 = 4, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiBand.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiBand.aidl new file mode 100644 index 0000000000..e9a87ee458 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiBand.aidl @@ -0,0 +1,51 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiBand { + BAND_UNSPECIFIED = 0, + BAND_24GHZ = 1, + BAND_5GHZ = 2, + BAND_5GHZ_DFS = 4, + BAND_5GHZ_WITH_DFS = 6, + BAND_24GHZ_5GHZ = 3, + BAND_24GHZ_5GHZ_WITH_DFS = 7, + BAND_6GHZ = 8, + BAND_5GHZ_6GHZ = 10, + BAND_24GHZ_5GHZ_6GHZ = 11, + BAND_24GHZ_5GHZ_WITH_DFS_6GHZ = 15, + BAND_60GHZ = 16, + BAND_24GHZ_5GHZ_6GHZ_60GHZ = 27, + BAND_24GHZ_5GHZ_WITH_DFS_6GHZ_60GHZ = 31, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelInfo.aidl new file mode 100644 index 0000000000..297c923dbe --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelInfo.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiChannelInfo { + android.hardware.wifi.WifiChannelWidthInMhz width; + int centerFreq; + int centerFreq0; + int centerFreq1; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelStats.aidl new file mode 100644 index 0000000000..c6e7acc937 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelStats.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiChannelStats { + android.hardware.wifi.WifiChannelInfo channel; + int onTimeInMs; + int ccaBusyTimeInMs; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelWidthInMhz.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelWidthInMhz.aidl new file mode 100644 index 0000000000..e6ea642db6 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChannelWidthInMhz.aidl @@ -0,0 +1,46 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiChannelWidthInMhz { + WIDTH_INVALID = (-1) /* -1 */, + WIDTH_20 = 0, + WIDTH_40 = 1, + WIDTH_80 = 2, + WIDTH_160 = 3, + WIDTH_80P80 = 4, + WIDTH_5 = 5, + WIDTH_10 = 6, + WIDTH_320 = 7, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChipCapabilities.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChipCapabilities.aidl new file mode 100644 index 0000000000..b5034ea387 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiChipCapabilities.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiChipCapabilities { + int maxMloAssociationLinkCount; + int maxMloStrLinkCount; + int maxConcurrentTdlsSessionCount; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxIcmpPacketDetails.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxIcmpPacketDetails.aidl new file mode 100644 index 0000000000..8415e09ad8 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxIcmpPacketDetails.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugHostWakeReasonRxIcmpPacketDetails { + int icmpPkt; + int icmp6Pkt; + int icmp6Ra; + int icmp6Na; + int icmp6Ns; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxMulticastPacketDetails.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxMulticastPacketDetails.aidl new file mode 100644 index 0000000000..30301d3e45 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxMulticastPacketDetails.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugHostWakeReasonRxMulticastPacketDetails { + int ipv4RxMulticastAddrCnt; + int ipv6RxMulticastAddrCnt; + int otherRxMulticastAddrCnt; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxPacketDetails.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxPacketDetails.aidl new file mode 100644 index 0000000000..81183225dc --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonRxPacketDetails.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugHostWakeReasonRxPacketDetails { + int rxUnicastCnt; + int rxMulticastCnt; + int rxBroadcastCnt; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonStats.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonStats.aidl new file mode 100644 index 0000000000..1766476919 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugHostWakeReasonStats.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugHostWakeReasonStats { + int totalCmdEventWakeCnt; + int[] cmdEventWakeCntPerType; + int totalDriverFwLocalWakeCnt; + int[] driverFwLocalWakeCntPerType; + int totalRxPacketWakeCnt; + android.hardware.wifi.WifiDebugHostWakeReasonRxPacketDetails rxPktWakeDetails; + android.hardware.wifi.WifiDebugHostWakeReasonRxMulticastPacketDetails rxMulticastPkWakeDetails; + android.hardware.wifi.WifiDebugHostWakeReasonRxIcmpPacketDetails rxIcmpPkWakeDetails; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameInfo.aidl new file mode 100644 index 0000000000..2ff6cfcbeb --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameInfo.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugPacketFateFrameInfo { + android.hardware.wifi.WifiDebugPacketFateFrameType frameType; + long frameLen; + long driverTimestampUsec; + long firmwareTimestampUsec; + byte[] frameContent; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameType.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameType.aidl new file mode 100644 index 0000000000..6db96efc0f --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugPacketFateFrameType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiDebugPacketFateFrameType { + UNKNOWN, + ETHERNET_II, + MGMT_80211, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferFlags.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferFlags.aidl new file mode 100644 index 0000000000..9ababc373d --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferFlags.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiDebugRingBufferFlags { + HAS_BINARY_ENTRIES = (1 << 0) /* 1 */, + HAS_ASCII_ENTRIES = (1 << 1) /* 2 */, + HAS_PER_PACKET_ENTRIES = (1 << 2) /* 4 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferStatus.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferStatus.aidl new file mode 100644 index 0000000000..e4249d9a88 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferStatus.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugRingBufferStatus { + String ringName; + int flags; + int ringId; + int sizeInBytes; + int freeSizeInBytes; + int verboseLevel; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferVerboseLevel.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferVerboseLevel.aidl new file mode 100644 index 0000000000..e614f3fba0 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRingBufferVerboseLevel.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiDebugRingBufferVerboseLevel { + NONE = 0, + DEFAULT = 1, + VERBOSE = 2, + EXCESSIVE = 3, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFate.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFate.aidl new file mode 100644 index 0000000000..f638c4f7df --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFate.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiDebugRxPacketFate { + SUCCESS, + FW_QUEUED, + FW_DROP_FILTER, + FW_DROP_INVALID, + FW_DROP_NOBUFS, + FW_DROP_OTHER, + DRV_QUEUED, + DRV_DROP_FILTER, + DRV_DROP_INVALID, + DRV_DROP_NOBUFS, + DRV_DROP_OTHER, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFateReport.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFateReport.aidl new file mode 100644 index 0000000000..bfe0c0aee6 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugRxPacketFateReport.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugRxPacketFateReport { + android.hardware.wifi.WifiDebugRxPacketFate fate; + android.hardware.wifi.WifiDebugPacketFateFrameInfo frameInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFate.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFate.aidl new file mode 100644 index 0000000000..778ca5dee2 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFate.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiDebugTxPacketFate { + ACKED, + SENT, + FW_QUEUED, + FW_DROP_INVALID, + FW_DROP_NOBUFS, + FW_DROP_OTHER, + DRV_QUEUED, + DRV_DROP_INVALID, + DRV_DROP_NOBUFS, + DRV_DROP_OTHER, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFateReport.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFateReport.aidl new file mode 100644 index 0000000000..aee5c31103 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiDebugTxPacketFateReport.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiDebugTxPacketFateReport { + android.hardware.wifi.WifiDebugTxPacketFate fate; + android.hardware.wifi.WifiDebugPacketFateFrameInfo frameInfo; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiIfaceMode.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiIfaceMode.aidl new file mode 100644 index 0000000000..557cef4c77 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiIfaceMode.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiIfaceMode { + IFACE_MODE_STA = (1 << 0) /* 1 */, + IFACE_MODE_SOFTAP = (1 << 1) /* 2 */, + IFACE_MODE_IBSS = (1 << 2) /* 4 */, + IFACE_MODE_P2P_CLIENT = (1 << 3) /* 8 */, + IFACE_MODE_P2P_GO = (1 << 4) /* 16 */, + IFACE_MODE_NAN = (1 << 5) /* 32 */, + IFACE_MODE_MESH = (1 << 6) /* 64 */, + IFACE_MODE_TDLS = (1 << 7) /* 128 */, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiInformationElement.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiInformationElement.aidl new file mode 100644 index 0000000000..27ba0db19c --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiInformationElement.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiInformationElement { + byte id; + byte[] data; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioCombination.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioCombination.aidl new file mode 100644 index 0000000000..f060db87f3 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioCombination.aidl @@ -0,0 +1,38 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiRadioCombination { + android.hardware.wifi.WifiRadioConfiguration[] radioConfigurations; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioConfiguration.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioConfiguration.aidl new file mode 100644 index 0000000000..5169351525 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRadioConfiguration.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiRadioConfiguration { + android.hardware.wifi.WifiBand bandInfo; + android.hardware.wifi.WifiAntennaMode antennaMode; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateInfo.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateInfo.aidl new file mode 100644 index 0000000000..c4aca637bf --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateInfo.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiRateInfo { + android.hardware.wifi.WifiRatePreamble preamble; + android.hardware.wifi.WifiRateNss nss; + android.hardware.wifi.WifiChannelWidthInMhz bw; + byte rateMcsIdx; + int bitRateInKbps; +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateNss.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateNss.aidl new file mode 100644 index 0000000000..0ad6f04847 --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRateNss.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiRateNss { + NSS_1x1 = 0, + NSS_2x2 = 1, + NSS_3x3 = 2, + NSS_4x4 = 3, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRatePreamble.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRatePreamble.aidl new file mode 100644 index 0000000000..04b63583ea --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiRatePreamble.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiRatePreamble { + OFDM = 0, + CCK = 1, + HT = 2, + VHT = 3, + RESERVED = 4, + HE = 5, + EHT = 6, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiStatusCode.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiStatusCode.aidl new file mode 100644 index 0000000000..9a15fa1cae --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiStatusCode.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@Backing(type="int") @VintfStability +enum WifiStatusCode { + SUCCESS, + ERROR_WIFI_CHIP_INVALID, + ERROR_WIFI_IFACE_INVALID, + ERROR_WIFI_RTT_CONTROLLER_INVALID, + ERROR_NOT_SUPPORTED, + ERROR_NOT_AVAILABLE, + ERROR_NOT_STARTED, + ERROR_INVALID_ARGS, + ERROR_BUSY, + ERROR_UNKNOWN, +} diff --git a/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiUsableChannel.aidl b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiUsableChannel.aidl new file mode 100644 index 0000000000..774b2423ff --- /dev/null +++ b/wifi/aidl/aidl_api/android.hardware.wifi/2/android/hardware/wifi/WifiUsableChannel.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi; +@VintfStability +parcelable WifiUsableChannel { + int channel; + android.hardware.wifi.WifiChannelWidthInMhz channelBandwidth; + int ifaceModeMask; +} diff --git a/wifi/common/aidl/Android.bp b/wifi/common/aidl/Android.bp index a9418691cd..0920a559c3 100644 --- a/wifi/common/aidl/Android.bp +++ b/wifi/common/aidl/Android.bp @@ -48,4 +48,12 @@ aidl_interface { enabled: false, }, }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], + frozen: true, + } diff --git a/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/.hash b/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/.hash new file mode 100644 index 0000000000..7e2287795a --- /dev/null +++ b/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/.hash @@ -0,0 +1 @@ +6a467a628209519b1b0ce9260c40157b7fea7713 diff --git a/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/android/hardware/wifi/common/OuiKeyedData.aidl b/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/android/hardware/wifi/common/OuiKeyedData.aidl new file mode 100644 index 0000000000..640a1f69d9 --- /dev/null +++ b/wifi/common/aidl/aidl_api/android.hardware.wifi.common/1/android/hardware/wifi/common/OuiKeyedData.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.common; +@VintfStability +parcelable OuiKeyedData { + int oui; + android.os.PersistableBundle vendorData; +} diff --git a/wifi/hostapd/aidl/Android.bp b/wifi/hostapd/aidl/Android.bp index 94bf9e2ebd..2e4d4d1eb2 100644 --- a/wifi/hostapd/aidl/Android.bp +++ b/wifi/hostapd/aidl/Android.bp @@ -59,5 +59,11 @@ aidl_interface { version: "1", imports: [], }, + { + version: "2", + imports: ["android.hardware.wifi.common-V1"], + }, + ], + frozen: true, } diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/.hash b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/.hash new file mode 100644 index 0000000000..1b118bea44 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/.hash @@ -0,0 +1 @@ +7dd4f61d4cddf5620591aaf0a3d67c61a8eb7287 diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ApInfo.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ApInfo.aidl new file mode 100644 index 0000000000..1a66105b8f --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ApInfo.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable ApInfo { + String ifaceName; + String apIfaceInstance; + int freqMhz; + android.hardware.wifi.hostapd.ChannelBandwidth channelBandwidth; + android.hardware.wifi.hostapd.Generation generation; + byte[] apIfaceInstanceMacAddress; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/BandMask.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/BandMask.aidl new file mode 100644 index 0000000000..fa9f1982d5 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/BandMask.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum BandMask { + BAND_2_GHZ = (1 << 0) /* 1 */, + BAND_5_GHZ = (1 << 1) /* 2 */, + BAND_6_GHZ = (1 << 2) /* 4 */, + BAND_60_GHZ = (1 << 3) /* 8 */, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelBandwidth.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelBandwidth.aidl new file mode 100644 index 0000000000..6c1fd22266 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelBandwidth.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum ChannelBandwidth { + BANDWIDTH_INVALID = 0, + BANDWIDTH_AUTO = 1, + BANDWIDTH_20_NOHT = 2, + BANDWIDTH_20 = 3, + BANDWIDTH_40 = 4, + BANDWIDTH_80 = 5, + BANDWIDTH_80P80 = 6, + BANDWIDTH_160 = 7, + BANDWIDTH_320 = 8, + BANDWIDTH_2160 = 9, + BANDWIDTH_4320 = 10, + BANDWIDTH_6480 = 11, + BANDWIDTH_8640 = 12, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelParams.aidl new file mode 100644 index 0000000000..43a9ada0e8 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ChannelParams.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable ChannelParams { + android.hardware.wifi.hostapd.BandMask bandMask; + android.hardware.wifi.hostapd.FrequencyRange[] acsChannelFreqRangesMhz; + boolean enableAcs; + boolean acsShouldExcludeDfs; + int channel; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ClientInfo.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ClientInfo.aidl new file mode 100644 index 0000000000..c4d62b68cc --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ClientInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable ClientInfo { + String ifaceName; + String apIfaceInstance; + byte[] clientAddress; + boolean isConnected; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/DebugLevel.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/DebugLevel.aidl new file mode 100644 index 0000000000..9795211df0 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/DebugLevel.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum DebugLevel { + EXCESSIVE = 0, + MSGDUMP = 1, + DEBUG = 2, + INFO = 3, + WARNING = 4, + ERROR = 5, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/EncryptionType.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/EncryptionType.aidl new file mode 100644 index 0000000000..840b8755c1 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/EncryptionType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum EncryptionType { + NONE, + WPA, + WPA2, + WPA3_SAE_TRANSITION, + WPA3_SAE, + WPA3_OWE_TRANSITION, + WPA3_OWE, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/FrequencyRange.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/FrequencyRange.aidl new file mode 100644 index 0000000000..11851438bd --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/FrequencyRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable FrequencyRange { + int startMhz; + int endMhz; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Generation.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Generation.aidl new file mode 100644 index 0000000000..a0c1886021 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Generation.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum Generation { + WIFI_STANDARD_UNKNOWN = (-1) /* -1 */, + WIFI_STANDARD_LEGACY = 0, + WIFI_STANDARD_11N = 1, + WIFI_STANDARD_11AC = 2, + WIFI_STANDARD_11AD = 3, + WIFI_STANDARD_11AX = 4, + WIFI_STANDARD_11BE = 5, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HostapdStatusCode.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HostapdStatusCode.aidl new file mode 100644 index 0000000000..7edff15c5e --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HostapdStatusCode.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum HostapdStatusCode { + SUCCESS, + FAILURE_UNKNOWN, + FAILURE_ARGS_INVALID, + FAILURE_IFACE_UNKNOWN, + FAILURE_IFACE_EXISTS, + FAILURE_CLIENT_UNKNOWN, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HwModeParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HwModeParams.aidl new file mode 100644 index 0000000000..d732bcbcd8 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/HwModeParams.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable HwModeParams { + boolean enable80211N; + boolean enable80211AC; + boolean enable80211AX; + boolean enable6GhzBand; + boolean enableHeSingleUserBeamformer; + boolean enableHeSingleUserBeamformee; + boolean enableHeMultiUserBeamformer; + boolean enableHeTargetWakeTime; + boolean enableEdmg; + boolean enable80211BE; + android.hardware.wifi.hostapd.ChannelBandwidth maximumChannelBandwidth; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapd.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapd.aidl new file mode 100644 index 0000000000..ff941fdbf7 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapd.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +interface IHostapd { + void addAccessPoint(in android.hardware.wifi.hostapd.IfaceParams ifaceParams, in android.hardware.wifi.hostapd.NetworkParams nwParams); + void forceClientDisconnect(in String ifaceName, in byte[] clientAddress, in android.hardware.wifi.hostapd.Ieee80211ReasonCode reasonCode); + void registerCallback(in android.hardware.wifi.hostapd.IHostapdCallback callback); + void removeAccessPoint(in String ifaceName); + void setDebugParams(in android.hardware.wifi.hostapd.DebugLevel level); + oneway void terminate(); +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapdCallback.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapdCallback.aidl new file mode 100644 index 0000000000..9dd062a1f2 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IHostapdCallback.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +interface IHostapdCallback { + oneway void onApInstanceInfoChanged(in android.hardware.wifi.hostapd.ApInfo apInfo); + oneway void onConnectedClientsChanged(in android.hardware.wifi.hostapd.ClientInfo clientInfo); + oneway void onFailure(in String ifaceName, in String instanceName); +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl new file mode 100644 index 0000000000..99879b59bd --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum Ieee80211ReasonCode { + WLAN_REASON_UNSPECIFIED = 1, + WLAN_REASON_PREV_AUTH_NOT_VALID = 2, + WLAN_REASON_DISASSOC_AP_BUSY = 5, +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IfaceParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IfaceParams.aidl new file mode 100644 index 0000000000..64367bbe70 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/IfaceParams.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable IfaceParams { + String name; + android.hardware.wifi.hostapd.HwModeParams hwModeParams; + android.hardware.wifi.hostapd.ChannelParams[] channelParams; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/NetworkParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/NetworkParams.aidl new file mode 100644 index 0000000000..4554223751 --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/NetworkParams.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@VintfStability +parcelable NetworkParams { + byte[] ssid; + boolean isHidden; + android.hardware.wifi.hostapd.EncryptionType encryptionType; + String passphrase; + boolean isMetered; + byte[] vendorElements; +} diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ParamSizeLimits.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ParamSizeLimits.aidl new file mode 100644 index 0000000000..70f94c1b5e --- /dev/null +++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/2/android/hardware/wifi/hostapd/ParamSizeLimits.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.hostapd; +@Backing(type="int") @VintfStability +enum ParamSizeLimits { + SSID_MAX_LEN_IN_BYTES = 32, + WPA2_PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8, + WPA2_PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63, +} diff --git a/wifi/supplicant/aidl/Android.bp b/wifi/supplicant/aidl/Android.bp index 59cfa6f8d7..b7242ed2b7 100644 --- a/wifi/supplicant/aidl/Android.bp +++ b/wifi/supplicant/aidl/Android.bp @@ -65,7 +65,11 @@ aidl_interface { version: "2", imports: [], }, + { + version: "3", + imports: ["android.hardware.wifi.common-V1"], + }, ], - frozen: false, + frozen: true, } diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/.hash b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/.hash new file mode 100644 index 0000000000..458d57f69e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/.hash @@ -0,0 +1 @@ +55b58c9bd6d40c1459073b5d03f4ede5cfc9a212 diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpData.aidl new file mode 100644 index 0000000000..d8e49d70f3 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpData.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable AnqpData { + byte[] venueName; + byte[] roamingConsortium; + byte[] ipAddrTypeAvailability; + byte[] naiRealm; + byte[] anqp3gppCellularNetwork; + byte[] domainName; + byte[] venueUrl; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpInfoId.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpInfoId.aidl new file mode 100644 index 0000000000..cc323608f9 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AnqpInfoId.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum AnqpInfoId { + VENUE_NAME = 258, + ROAMING_CONSORTIUM = 261, + IP_ADDR_TYPE_AVAILABILITY = 262, + NAI_REALM = 263, + ANQP_3GPP_CELLULAR_NETWORK = 264, + DOMAIN_NAME = 268, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AssociationRejectionData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AssociationRejectionData.aidl new file mode 100644 index 0000000000..f6830dc8be --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AssociationRejectionData.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable AssociationRejectionData { + byte[] ssid; + byte[] bssid; + android.hardware.wifi.supplicant.StaIfaceStatusCode statusCode; + boolean timedOut; + boolean isMboAssocDisallowedReasonCodePresent; + android.hardware.wifi.supplicant.MboAssocDisallowedReasonCode mboAssocDisallowedReason; + boolean isOceRssiBasedAssocRejectAttrPresent; + android.hardware.wifi.supplicant.OceRssiBasedAssocRejectAttr oceRssiBasedAssocRejectData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuthAlgMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuthAlgMask.aidl new file mode 100644 index 0000000000..44210185cf --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuthAlgMask.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum AuthAlgMask { + OPEN = (1 << 0) /* 1 */, + SHARED = (1 << 1) /* 2 */, + LEAP = (1 << 2) /* 4 */, + SAE = (1 << 4) /* 16 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuxiliarySupplicantEventCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuxiliarySupplicantEventCode.aidl new file mode 100644 index 0000000000..a339a9272f --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/AuxiliarySupplicantEventCode.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum AuxiliarySupplicantEventCode { + EAP_METHOD_SELECTED, + SSID_TEMP_DISABLED, + OPEN_SSL_FAILURE, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmData.aidl new file mode 100644 index 0000000000..34d894d6fa --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmData.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable BssTmData { + android.hardware.wifi.supplicant.BssTmStatusCode status; + android.hardware.wifi.supplicant.BssTmDataFlagsMask flags; + int assocRetryDelayMs; + android.hardware.wifi.supplicant.MboTransitionReasonCode mboTransitionReason; + android.hardware.wifi.supplicant.MboCellularDataConnectionPrefValue mboCellPreference; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmDataFlagsMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmDataFlagsMask.aidl new file mode 100644 index 0000000000..6f0045c82c --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmDataFlagsMask.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum BssTmDataFlagsMask { + WNM_MODE_PREFERRED_CANDIDATE_LIST_INCLUDED = (1 << 0) /* 1 */, + WNM_MODE_ABRIDGED = (1 << 1) /* 2 */, + WNM_MODE_DISASSOCIATION_IMMINENT = (1 << 2) /* 4 */, + WNM_MODE_BSS_TERMINATION_INCLUDED = (1 << 3) /* 8 */, + WNM_MODE_ESS_DISASSOCIATION_IMMINENT = (1 << 4) /* 16 */, + MBO_TRANSITION_REASON_CODE_INCLUDED = (1 << 5) /* 32 */, + MBO_ASSOC_RETRY_DELAY_INCLUDED = (1 << 6) /* 64 */, + MBO_CELLULAR_DATA_CONNECTION_PREFERENCE_INCLUDED = (1 << 7) /* 128 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmStatusCode.aidl new file mode 100644 index 0000000000..c95825fe3c --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssTmStatusCode.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum BssTmStatusCode { + ACCEPT = 0, + REJECT_UNSPECIFIED = 1, + REJECT_INSUFFICIENT_BEACON = 2, + REJECT_INSUFFICIENT_CAPABITY = 3, + REJECT_BSS_TERMINATION_UNDESIRED = 4, + REJECT_BSS_TERMINATION_DELAY_REQUEST = 5, + REJECT_STA_CANDIDATE_LIST_PROVIDED = 6, + REJECT_NO_SUITABLE_CANDIDATES = 7, + REJECT_LEAVING_ESS = 8, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssidChangeReason.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssidChangeReason.aidl new file mode 100644 index 0000000000..1d24579201 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BssidChangeReason.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum BssidChangeReason { + ASSOC_START = 0, + ASSOC_COMPLETE = 1, + DISASSOC = 2, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BtCoexistenceMode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BtCoexistenceMode.aidl new file mode 100644 index 0000000000..bdc1b4a991 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/BtCoexistenceMode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum BtCoexistenceMode { + ENABLED = 0, + DISABLED = 1, + SENSE = 2, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ConnectionCapabilities.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ConnectionCapabilities.aidl new file mode 100644 index 0000000000..a0dd32fee6 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ConnectionCapabilities.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable ConnectionCapabilities { + android.hardware.wifi.supplicant.WifiTechnology technology; + int channelBandwidth; + int maxNumberTxSpatialStreams; + int maxNumberRxSpatialStreams; + android.hardware.wifi.supplicant.LegacyMode legacyMode; + boolean apTidToLinkMapNegotiationSupported; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DebugLevel.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DebugLevel.aidl new file mode 100644 index 0000000000..fbfb5b3468 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DebugLevel.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DebugLevel { + EXCESSIVE = 0, + MSGDUMP = 1, + DEBUG = 2, + INFO = 3, + WARNING = 4, + ERROR = 5, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppAkm.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppAkm.aidl new file mode 100644 index 0000000000..730843d2ec --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppAkm.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppAkm { + PSK, + PSK_SAE, + SAE, + DPP, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConfigurationData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConfigurationData.aidl new file mode 100644 index 0000000000..2225330538 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConfigurationData.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable DppConfigurationData { + byte[] ssid; + String password; + byte[] psk; + android.hardware.wifi.supplicant.DppAkm securityAkm; + android.hardware.wifi.supplicant.DppConnectionKeys dppConnectionKeys; + boolean connStatusRequested; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConnectionKeys.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConnectionKeys.aidl new file mode 100644 index 0000000000..559d1c94ce --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppConnectionKeys.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable DppConnectionKeys { + byte[] connector; + byte[] cSign; + byte[] netAccessKey; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppCurve.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppCurve.aidl new file mode 100644 index 0000000000..14cb49f681 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppCurve.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppCurve { + PRIME256V1, + SECP384R1, + SECP521R1, + BRAINPOOLP256R1, + BRAINPOOLP384R1, + BRAINPOOLP512R1, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppEventType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppEventType.aidl new file mode 100644 index 0000000000..47c8cc0e35 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppEventType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppEventType { + CONFIGURATION_SENT, + CONFIGURATION_APPLIED, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppFailureCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppFailureCode.aidl new file mode 100644 index 0000000000..89fbc4bab1 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppFailureCode.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppFailureCode { + INVALID_URI, + AUTHENTICATION, + NOT_COMPATIBLE, + CONFIGURATION, + BUSY, + TIMEOUT, + FAILURE, + NOT_SUPPORTED, + CONFIGURATION_REJECTED, + CANNOT_FIND_NETWORK, + ENROLLEE_AUTHENTICATION, + URI_GENERATION, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppNetRole.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppNetRole.aidl new file mode 100644 index 0000000000..77a910b251 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppNetRole.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppNetRole { + STA, + AP, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppProgressCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppProgressCode.aidl new file mode 100644 index 0000000000..ea244de3c2 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppProgressCode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppProgressCode { + AUTHENTICATION_SUCCESS, + RESPONSE_PENDING, + CONFIGURATION_SENT_WAITING_RESPONSE, + CONFIGURATION_ACCEPTED, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppResponderBootstrapInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppResponderBootstrapInfo.aidl new file mode 100644 index 0000000000..8b6492b4f3 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppResponderBootstrapInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable DppResponderBootstrapInfo { + int bootstrapId; + int listenChannel; + String uri; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppStatusErrorCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppStatusErrorCode.aidl new file mode 100644 index 0000000000..21f07dded5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/DppStatusErrorCode.aidl @@ -0,0 +1,53 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum DppStatusErrorCode { + UNKNOWN = (-1) /* -1 */, + SUCCESS = 0, + NOT_COMPATIBLE = 1, + AUTH_FAILURE = 2, + UNWRAP_FAILURE = 3, + BAD_GROUP = 4, + CONFIGURE_FAILURE = 5, + RESPONSE_PENDING = 6, + INVALID_CONNECTOR = 7, + NO_MATCH = 8, + CONFIG_REJECTED = 9, + NO_AP = 10, + CONFIGURE_PENDING = 11, + CSR_NEEDED = 12, + CSR_BAD = 13, + NEW_KEY_NEEDED = 14, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapErrorCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapErrorCode.aidl new file mode 100644 index 0000000000..2cf81d9ca2 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapErrorCode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum EapErrorCode { + SIM_GENERAL_FAILURE_AFTER_AUTH = 0, + SIM_TEMPORARILY_DENIED = 1026, + SIM_NOT_SUBSCRIBED = 1031, + SIM_GENERAL_FAILURE_BEFORE_AUTH = 16384, + SIM_VENDOR_SPECIFIC_EXPIRED_CERT = 16385, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapMethod.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapMethod.aidl new file mode 100644 index 0000000000..4ab23afefd --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapMethod.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum EapMethod { + PEAP = 0, + TLS = 1, + TTLS = 2, + PWD = 3, + SIM = 4, + AKA = 5, + AKA_PRIME = 6, + WFA_UNAUTH_TLS = 7, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapPhase2Method.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapPhase2Method.aidl new file mode 100644 index 0000000000..4bd93a08da --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/EapPhase2Method.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum EapPhase2Method { + NONE = 0, + PAP = 1, + MSPAP = 2, + MSPAPV2 = 3, + GTC = 4, + SIM = 5, + AKA = 6, + AKA_PRIME = 7, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ExtRadioWorkDefaults.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ExtRadioWorkDefaults.aidl new file mode 100644 index 0000000000..cbf1a3ee37 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ExtRadioWorkDefaults.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum ExtRadioWorkDefaults { + TIMEOUT_IN_SECS = 10, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/FreqRange.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/FreqRange.aidl new file mode 100644 index 0000000000..0971d517f6 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/FreqRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable FreqRange { + int min; + int max; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupCipherMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupCipherMask.aidl new file mode 100644 index 0000000000..d22d3d0582 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupCipherMask.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum GroupCipherMask { + WEP40 = (1 << 1) /* 2 */, + WEP104 = (1 << 2) /* 4 */, + TKIP = (1 << 3) /* 8 */, + CCMP = (1 << 4) /* 16 */, + GTK_NOT_USED = (1 << 14) /* 16384 */, + GCMP_256 = (1 << 8) /* 256 */, + SMS4 = (1 << 7) /* 128 */, + GCMP_128 = (1 << 6) /* 64 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupMgmtCipherMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupMgmtCipherMask.aidl new file mode 100644 index 0000000000..23bb04fe2f --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GroupMgmtCipherMask.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum GroupMgmtCipherMask { + BIP_GMAC_128 = (1 << 11) /* 2048 */, + BIP_GMAC_256 = (1 << 12) /* 4096 */, + BIP_CMAC_256 = (1 << 13) /* 8192 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GsmRand.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GsmRand.aidl new file mode 100644 index 0000000000..599a68339a --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/GsmRand.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable GsmRand { + byte[] data; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpData.aidl new file mode 100644 index 0000000000..43b182a24a --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpData.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable Hs20AnqpData { + byte[] operatorFriendlyName; + byte[] wanMetrics; + byte[] connectionCapability; + byte[] osuProvidersList; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpSubtypes.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpSubtypes.aidl new file mode 100644 index 0000000000..270d43b073 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/Hs20AnqpSubtypes.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum Hs20AnqpSubtypes { + OPERATOR_FRIENDLY_NAME = 3, + WAN_METRICS = 4, + CONNECTION_CAPABILITY = 5, + OSU_PROVIDERS_LIST = 8, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/INonStandardCertCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/INonStandardCertCallback.aidl new file mode 100644 index 0000000000..bcf0ea8cb6 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/INonStandardCertCallback.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface INonStandardCertCallback { + byte[] getBlob(in String alias); + String[] listAliases(in String prefix); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicant.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicant.aidl new file mode 100644 index 0000000000..dd62167907 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicant.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicant { + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantP2pIface addP2pInterface(in String ifName); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantStaIface addStaInterface(in String ifName); + android.hardware.wifi.supplicant.DebugLevel getDebugLevel(); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantP2pIface getP2pInterface(in String ifName); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantStaIface getStaInterface(in String ifName); + boolean isDebugShowKeysEnabled(); + boolean isDebugShowTimestampEnabled(); + android.hardware.wifi.supplicant.IfaceInfo[] listInterfaces(); + void registerCallback(in android.hardware.wifi.supplicant.ISupplicantCallback callback); + void removeInterface(in android.hardware.wifi.supplicant.IfaceInfo ifaceInfo); + void setConcurrencyPriority(in android.hardware.wifi.supplicant.IfaceType type); + void setDebugParams(in android.hardware.wifi.supplicant.DebugLevel level, in boolean showTimestamp, in boolean showKeys); + oneway void terminate(); + void registerNonStandardCertCallback(in android.hardware.wifi.supplicant.INonStandardCertCallback callback); + const int EXT_RADIO_WORK_TIMEOUT_IN_SECS = 10; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantCallback.aidl new file mode 100644 index 0000000000..7281053cdb --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantCallback.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantCallback { + oneway void onInterfaceCreated(in String ifaceName); + oneway void onInterfaceRemoved(in String ifaceName); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl new file mode 100644 index 0000000000..0b068e001f --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIface.aidl @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantP2pIface { + void addBonjourService(in byte[] query, in byte[] response); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use createGroupOwner. + */ + void addGroup(in boolean persistent, in int persistentNetworkId); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use addGroupWithConfigurationParams. + */ + void addGroupWithConfig(in byte[] ssid, in String pskPassphrase, in boolean persistent, in int freq, in byte[] peerAddress, in boolean joinExistingGroup); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantP2pNetwork addNetwork(); + void addUpnpService(in int version, in String serviceName); + void cancelConnect(); + void cancelServiceDiscovery(in long identifier); + void cancelWps(in String groupIfName); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use configureExtListenWithParams. + */ + void configureExtListen(in int periodInMillis, in int intervalInMillis); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use connectWithParams. + */ + String connect(in byte[] peerAddress, in android.hardware.wifi.supplicant.WpsProvisionMethod provisionMethod, in String preSelectedPin, in boolean joinExistingGroup, in boolean persistent, in int goIntent); + byte[] createNfcHandoverRequestMessage(); + byte[] createNfcHandoverSelectMessage(); + void enableWfd(in boolean enable); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use findWithParams. + */ + void find(in int timeoutInSec); + void flush(); + void flushServices(); + byte[] getDeviceAddress(); + boolean getEdmg(); + android.hardware.wifi.supplicant.P2pGroupCapabilityMask getGroupCapability(in byte[] peerAddress); + String getName(); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantP2pNetwork getNetwork(in int id); + byte[] getSsid(in byte[] peerAddress); + android.hardware.wifi.supplicant.IfaceType getType(); + void invite(in String groupIfName, in byte[] goDeviceAddress, in byte[] peerAddress); + int[] listNetworks(); + void provisionDiscovery(in byte[] peerAddress, in android.hardware.wifi.supplicant.WpsProvisionMethod provisionMethod); + void registerCallback(in android.hardware.wifi.supplicant.ISupplicantP2pIfaceCallback callback); + void reinvoke(in int persistentNetworkId, in byte[] peerAddress); + void reject(in byte[] peerAddress); + void removeBonjourService(in byte[] query); + void removeGroup(in String groupIfName); + void removeNetwork(in int id); + void removeUpnpService(in int version, in String serviceName); + void reportNfcHandoverInitiation(in byte[] select); + void reportNfcHandoverResponse(in byte[] request); + long requestServiceDiscovery(in byte[] peerAddress, in byte[] query); + void saveConfig(); + void setDisallowedFrequencies(in android.hardware.wifi.supplicant.FreqRange[] ranges); + void setEdmg(in boolean enable); + void setGroupIdle(in String groupIfName, in int timeoutInSec); + void setListenChannel(in int channel, in int operatingClass); + void setMacRandomization(in boolean enable); + void setMiracastMode(in android.hardware.wifi.supplicant.MiracastMode mode); + void setPowerSave(in String groupIfName, in boolean enable); + void setSsidPostfix(in byte[] postfix); + void setWfdDeviceInfo(in byte[] info); + void setWfdR2DeviceInfo(in byte[] info); + void removeClient(in byte[] peerAddress, in boolean isLegacyClient); + void setWpsConfigMethods(in android.hardware.wifi.supplicant.WpsConfigMethods configMethods); + void setWpsDeviceName(in String name); + void setWpsDeviceType(in byte[] type); + void setWpsManufacturer(in String manufacturer); + void setWpsModelName(in String modelName); + void setWpsModelNumber(in String modelNumber); + void setWpsSerialNumber(in String serialNumber); + void startWpsPbc(in String groupIfName, in byte[] bssid); + String startWpsPinDisplay(in String groupIfName, in byte[] bssid); + void startWpsPinKeypad(in String groupIfName, in String pin); + void stopFind(); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use findWithParams. + */ + void findOnSocialChannels(in int timeoutInSec); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use findWithParams. + */ + void findOnSpecificFrequency(in int freqInHz, in int timeoutInSec); + void setVendorElements(in android.hardware.wifi.supplicant.P2pFrameTypeMask frameTypeMask, in byte[] vendorElemBytes); + void configureEapolIpAddressAllocationParams(in int ipAddressGo, in int ipAddressMask, in int ipAddressStart, in int ipAddressEnd); + String connectWithParams(in android.hardware.wifi.supplicant.P2pConnectInfo connectInfo); + void findWithParams(in android.hardware.wifi.supplicant.P2pDiscoveryInfo discoveryInfo); + void configureExtListenWithParams(in android.hardware.wifi.supplicant.P2pExtListenInfo extListenInfo); + void addGroupWithConfigurationParams(in android.hardware.wifi.supplicant.P2pAddGroupConfigurationParams groupConfigurationParams); + void createGroupOwner(in android.hardware.wifi.supplicant.P2pCreateGroupOwnerInfo groupOwnerInfo); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl new file mode 100644 index 0000000000..65ad4c1407 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pIfaceCallback.aidl @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantP2pIfaceCallback { + /** + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onDeviceFoundWithParams. + */ + oneway void onDeviceFound(in byte[] srcAddress, in byte[] p2pDeviceAddress, in byte[] primaryDeviceType, in String deviceName, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in byte deviceCapabilities, in android.hardware.wifi.supplicant.P2pGroupCapabilityMask groupCapabilities, in byte[] wfdDeviceInfo); + oneway void onDeviceLost(in byte[] p2pDeviceAddress); + oneway void onFindStopped(); + oneway void onGoNegotiationCompleted(in android.hardware.wifi.supplicant.P2pStatusCode status); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use onGoNegotiationRequestWithParams. + */ + oneway void onGoNegotiationRequest(in byte[] srcAddress, in android.hardware.wifi.supplicant.WpsDevPasswordId passwordId); + oneway void onGroupFormationFailure(in String failureReason); + oneway void onGroupFormationSuccess(); + oneway void onGroupRemoved(in String groupIfname, in boolean isGroupOwner); + oneway void onGroupStarted(in String groupIfname, in boolean isGroupOwner, in byte[] ssid, in int frequency, in byte[] psk, in String passphrase, in byte[] goDeviceAddress, in boolean isPersistent); + /** + * @deprecated This method is deprecated from AIDL v3, newer HALs should use onInvitationReceivedWithParams. + */ + oneway void onInvitationReceived(in byte[] srcAddress, in byte[] goDeviceAddress, in byte[] bssid, in int persistentNetworkId, in int operatingFrequency); + oneway void onInvitationResult(in byte[] bssid, in android.hardware.wifi.supplicant.P2pStatusCode status); + /** + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onProvisionDiscoveryCompletedEvent. + */ + oneway void onProvisionDiscoveryCompleted(in byte[] p2pDeviceAddress, in boolean isRequest, in android.hardware.wifi.supplicant.P2pProvDiscStatusCode status, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in String generatedPin); + oneway void onR2DeviceFound(in byte[] srcAddress, in byte[] p2pDeviceAddress, in byte[] primaryDeviceType, in String deviceName, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in byte deviceCapabilities, in android.hardware.wifi.supplicant.P2pGroupCapabilityMask groupCapabilities, in byte[] wfdDeviceInfo, in byte[] wfdR2DeviceInfo); + oneway void onServiceDiscoveryResponse(in byte[] srcAddress, in char updateIndicator, in byte[] tlvs); + /** + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onPeerClientJoined() + */ + oneway void onStaAuthorized(in byte[] srcAddress, in byte[] p2pDeviceAddress); + /** + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onPeerClientDisconnected() + */ + oneway void onStaDeauthorized(in byte[] srcAddress, in byte[] p2pDeviceAddress); + oneway void onGroupFrequencyChanged(in String groupIfname, in int frequency); + /** + * @deprecated This callback is deprecated from AIDL v3, newer HAL should call onDeviceFoundWithParams. + */ + oneway void onDeviceFoundWithVendorElements(in byte[] srcAddress, in byte[] p2pDeviceAddress, in byte[] primaryDeviceType, in String deviceName, in android.hardware.wifi.supplicant.WpsConfigMethods configMethods, in byte deviceCapabilities, in android.hardware.wifi.supplicant.P2pGroupCapabilityMask groupCapabilities, in byte[] wfdDeviceInfo, in byte[] wfdR2DeviceInfo, in byte[] vendorElemBytes); + oneway void onGroupStartedWithParams(in android.hardware.wifi.supplicant.P2pGroupStartedEventParams groupStartedEventParams); + oneway void onPeerClientJoined(in android.hardware.wifi.supplicant.P2pPeerClientJoinedEventParams clientJoinedEventParams); + oneway void onPeerClientDisconnected(in android.hardware.wifi.supplicant.P2pPeerClientDisconnectedEventParams clientDisconnectedEventParams); + oneway void onProvisionDiscoveryCompletedEvent(in android.hardware.wifi.supplicant.P2pProvisionDiscoveryCompletedEventParams provisionDiscoveryCompletedEventParams); + oneway void onDeviceFoundWithParams(in android.hardware.wifi.supplicant.P2pDeviceFoundEventParams deviceFoundEventParams); + oneway void onGoNegotiationRequestWithParams(in android.hardware.wifi.supplicant.P2pGoNegotiationReqEventParams params); + oneway void onInvitationReceivedWithParams(in android.hardware.wifi.supplicant.P2pInvitationEventParams params); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pNetwork.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pNetwork.aidl new file mode 100644 index 0000000000..ef72724642 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantP2pNetwork.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantP2pNetwork { + byte[] getBssid(); + android.hardware.wifi.supplicant.MacAddress[] getClientList(); + int getId(); + String getInterfaceName(); + byte[] getSsid(); + android.hardware.wifi.supplicant.IfaceType getType(); + boolean isCurrent(); + boolean isGroupOwner(); + boolean isPersistent(); + void setClientList(in android.hardware.wifi.supplicant.MacAddress[] clients); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl new file mode 100644 index 0000000000..917668e9ab --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantStaIface { + int addDppPeerUri(in String uri); + int addExtRadioWork(in String name, in int freqInMhz, in int timeoutInSec); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantStaNetwork addNetwork(); + void addRxFilter(in android.hardware.wifi.supplicant.RxFilterType type); + void cancelWps(); + void disconnect(); + void enableAutoReconnect(in boolean enable); + void filsHlpAddRequest(in byte[] dst_mac, in byte[] pkt); + void filsHlpFlushRequest(); + android.hardware.wifi.supplicant.DppResponderBootstrapInfo generateDppBootstrapInfoForResponder(in byte[] macAddress, in String deviceInfo, in android.hardware.wifi.supplicant.DppCurve curve); + void generateSelfDppConfiguration(in String ssid, in byte[] privEcKey); + android.hardware.wifi.supplicant.ConnectionCapabilities getConnectionCapabilities(); + android.hardware.wifi.supplicant.MloLinksInfo getConnectionMloLinksInfo(); + android.hardware.wifi.supplicant.KeyMgmtMask getKeyMgmtCapabilities(); + byte[] getMacAddress(); + String getName(); + @PropagateAllowBlocking android.hardware.wifi.supplicant.ISupplicantStaNetwork getNetwork(in int id); + android.hardware.wifi.supplicant.IfaceType getType(); + android.hardware.wifi.supplicant.WpaDriverCapabilitiesMask getWpaDriverCapabilities(); + void initiateAnqpQuery(in byte[] macAddress, in android.hardware.wifi.supplicant.AnqpInfoId[] infoElements, in android.hardware.wifi.supplicant.Hs20AnqpSubtypes[] subTypes); + /** + * @deprecated No longer in use. + */ + void initiateHs20IconQuery(in byte[] macAddress, in String fileName); + void initiateTdlsDiscover(in byte[] macAddress); + void initiateTdlsSetup(in byte[] macAddress); + void initiateTdlsTeardown(in byte[] macAddress); + void initiateVenueUrlAnqpQuery(in byte[] macAddress); + int[] listNetworks(); + void reassociate(); + void reconnect(); + void registerCallback(in android.hardware.wifi.supplicant.ISupplicantStaIfaceCallback callback); + void setQosPolicyFeatureEnabled(in boolean enable); + void sendQosPolicyResponse(in int qosPolicyRequestId, in boolean morePolicies, in android.hardware.wifi.supplicant.QosPolicyStatus[] qosPolicyStatusList); + void removeAllQosPolicies(); + void removeDppUri(in int id); + void removeExtRadioWork(in int id); + void removeNetwork(in int id); + void removeRxFilter(in android.hardware.wifi.supplicant.RxFilterType type); + void setBtCoexistenceMode(in android.hardware.wifi.supplicant.BtCoexistenceMode mode); + void setBtCoexistenceScanModeEnabled(in boolean enable); + void setCountryCode(in byte[] code); + void setExternalSim(in boolean useExternalSim); + void setMboCellularDataStatus(in boolean available); + void setPowerSave(in boolean enable); + void setSuspendModeEnabled(in boolean enable); + void setWpsConfigMethods(in android.hardware.wifi.supplicant.WpsConfigMethods configMethods); + void setWpsDeviceName(in String name); + void setWpsDeviceType(in byte[] type); + void setWpsManufacturer(in String manufacturer); + void setWpsModelName(in String modelName); + void setWpsModelNumber(in String modelNumber); + void setWpsSerialNumber(in String serialNumber); + byte[] startDppConfiguratorInitiator(in int peerBootstrapId, in int ownBootstrapId, in String ssid, in String password, in String psk, in android.hardware.wifi.supplicant.DppNetRole netRole, in android.hardware.wifi.supplicant.DppAkm securityAkm, in byte[] privEcKey); + void startDppEnrolleeInitiator(in int peerBootstrapId, in int ownBootstrapId); + void startDppEnrolleeResponder(in int listenChannel); + void startRxFilter(); + void startWpsPbc(in byte[] bssid); + String startWpsPinDisplay(in byte[] bssid); + void startWpsPinKeypad(in String pin); + void startWpsRegistrar(in byte[] bssid, in String pin); + void stopDppInitiator(); + void stopDppResponder(in int ownBootstrapId); + void stopRxFilter(); + android.hardware.wifi.supplicant.SignalPollResult[] getSignalPollResults(); + android.hardware.wifi.supplicant.QosPolicyScsRequestStatus[] addQosPolicyRequestForScs(in android.hardware.wifi.supplicant.QosPolicyScsData[] qosPolicyData); + android.hardware.wifi.supplicant.QosPolicyScsRequestStatus[] removeQosPolicyForScs(in byte[] scsPolicyIds); + void configureMscs(in android.hardware.wifi.supplicant.MscsParams params); + void disableMscs(); + const int MAX_POLICIES_PER_QOS_SCS_REQUEST = 16; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl new file mode 100644 index 0000000000..9fa8f56cd5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantStaIfaceCallback { + oneway void onAnqpQueryDone(in byte[] bssid, in android.hardware.wifi.supplicant.AnqpData data, in android.hardware.wifi.supplicant.Hs20AnqpData hs20Data); + oneway void onAssociationRejected(in android.hardware.wifi.supplicant.AssociationRejectionData assocRejectData); + oneway void onAuthenticationTimeout(in byte[] bssid); + oneway void onAuxiliarySupplicantEvent(in android.hardware.wifi.supplicant.AuxiliarySupplicantEventCode eventCode, in byte[] bssid, in String reasonString); + oneway void onBssTmHandlingDone(in android.hardware.wifi.supplicant.BssTmData tmData); + oneway void onBssidChanged(in android.hardware.wifi.supplicant.BssidChangeReason reason, in byte[] bssid); + oneway void onDisconnected(in byte[] bssid, in boolean locallyGenerated, in android.hardware.wifi.supplicant.StaIfaceReasonCode reasonCode); + oneway void onDppFailure(in android.hardware.wifi.supplicant.DppFailureCode code, in String ssid, in String channelList, in char[] bandList); + oneway void onDppProgress(in android.hardware.wifi.supplicant.DppProgressCode code); + oneway void onDppSuccess(in android.hardware.wifi.supplicant.DppEventType event); + /** + * @deprecated This callback is deprecated from AIDL v2, newer HAL should call onDppConfigReceived. + */ + oneway void onDppSuccessConfigReceived(in byte[] ssid, in String password, in byte[] psk, in android.hardware.wifi.supplicant.DppAkm securityAkm, in android.hardware.wifi.supplicant.DppConnectionKeys dppConnectionKeys); + oneway void onDppSuccessConfigSent(); + oneway void onEapFailure(in byte[] bssid, in int errorCode); + oneway void onExtRadioWorkStart(in int id); + oneway void onExtRadioWorkTimeout(in int id); + oneway void onHs20DeauthImminentNotice(in byte[] bssid, in int reasonCode, in int reAuthDelayInSec, in String url); + /** + * @deprecated This callback is deprecated from AIDL v3. + */ + oneway void onHs20IconQueryDone(in byte[] bssid, in String fileName, in byte[] data); + oneway void onHs20SubscriptionRemediation(in byte[] bssid, in android.hardware.wifi.supplicant.OsuMethod osuMethod, in String url); + oneway void onHs20TermsAndConditionsAcceptanceRequestedNotification(in byte[] bssid, in String url); + oneway void onNetworkAdded(in int id); + oneway void onNetworkNotFound(in byte[] ssid); + oneway void onNetworkRemoved(in int id); + /** + * @deprecated use onPmkSaCacheAdded() instead. + */ + oneway void onPmkCacheAdded(in long expirationTimeInSec, in byte[] serializedEntry); + /** + * @deprecated This callback is deprecated from AIDL v2, newer HAL should call onSupplicantStateChanged() + */ + oneway void onStateChanged(in android.hardware.wifi.supplicant.StaIfaceCallbackState newState, in byte[] bssid, in int id, in byte[] ssid, in boolean filsHlpSent); + oneway void onWpsEventFail(in byte[] bssid, in android.hardware.wifi.supplicant.WpsConfigError configError, in android.hardware.wifi.supplicant.WpsErrorIndication errorInd); + oneway void onWpsEventPbcOverlap(); + oneway void onWpsEventSuccess(); + oneway void onQosPolicyReset(); + oneway void onQosPolicyRequest(in int qosPolicyRequestId, in android.hardware.wifi.supplicant.QosPolicyData[] qosPolicyData); + oneway void onMloLinksInfoChanged(in android.hardware.wifi.supplicant.ISupplicantStaIfaceCallback.MloLinkInfoChangeReason reason); + oneway void onDppConfigReceived(in android.hardware.wifi.supplicant.DppConfigurationData configData); + oneway void onDppConnectionStatusResultSent(in android.hardware.wifi.supplicant.DppStatusErrorCode code); + oneway void onBssFrequencyChanged(in int frequencyMhz); + oneway void onSupplicantStateChanged(in android.hardware.wifi.supplicant.SupplicantStateChangeData stateChangeData); + oneway void onQosPolicyResponseForScs(in android.hardware.wifi.supplicant.QosPolicyScsResponseStatus[] qosPolicyScsResponseStatus); + oneway void onPmkSaCacheAdded(in android.hardware.wifi.supplicant.PmkSaCacheData pmkSaData); + @Backing(type="int") @VintfStability + enum MloLinkInfoChangeReason { + TID_TO_LINK_MAP = 0, + MULTI_LINK_RECONFIG_AP_REMOVAL = 1, + } +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl new file mode 100644 index 0000000000..488037f3b4 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetwork.aidl @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantStaNetwork { + void disable(); + void enable(in boolean noConnect); + void enableSaePkOnlyMode(in boolean enable); + void enableSuiteBEapOpenSslCiphers(); + void enableTlsSuiteBEapPhase1Param(in boolean enable); + android.hardware.wifi.supplicant.AuthAlgMask getAuthAlg(); + byte[] getBssid(); + String getEapAltSubjectMatch(); + byte[] getEapAnonymousIdentity(); + String getEapCACert(); + String getEapCAPath(); + String getEapClientCert(); + String getEapDomainSuffixMatch(); + boolean getEapEngine(); + String getEapEngineId(); + byte[] getEapIdentity(); + android.hardware.wifi.supplicant.EapMethod getEapMethod(); + byte[] getEapPassword(); + android.hardware.wifi.supplicant.EapPhase2Method getEapPhase2Method(); + String getEapPrivateKeyId(); + String getEapSubjectMatch(); + boolean getEdmg(); + android.hardware.wifi.supplicant.GroupCipherMask getGroupCipher(); + android.hardware.wifi.supplicant.GroupMgmtCipherMask getGroupMgmtCipher(); + int getId(); + String getIdStr(); + String getInterfaceName(); + android.hardware.wifi.supplicant.KeyMgmtMask getKeyMgmt(); + android.hardware.wifi.supplicant.OcspType getOcsp(); + android.hardware.wifi.supplicant.PairwiseCipherMask getPairwiseCipher(); + android.hardware.wifi.supplicant.ProtoMask getProto(); + byte[] getPsk(); + String getPskPassphrase(); + boolean getRequirePmf(); + String getSaePassword(); + String getSaePasswordId(); + boolean getScanSsid(); + byte[] getSsid(); + android.hardware.wifi.supplicant.IfaceType getType(); + String getWapiCertSuite(); + byte[] getWepKey(in int keyIdx); + int getWepTxKeyIdx(); + byte[] getWpsNfcConfigurationToken(); + void registerCallback(in android.hardware.wifi.supplicant.ISupplicantStaNetworkCallback callback); + void select(); + void sendNetworkEapIdentityResponse(in byte[] identity, in byte[] encryptedIdentity); + void sendNetworkEapSimGsmAuthFailure(); + void sendNetworkEapSimGsmAuthResponse(in android.hardware.wifi.supplicant.NetworkResponseEapSimGsmAuthParams[] params); + void sendNetworkEapSimUmtsAuthFailure(); + void sendNetworkEapSimUmtsAuthResponse(in android.hardware.wifi.supplicant.NetworkResponseEapSimUmtsAuthParams params); + void sendNetworkEapSimUmtsAutsResponse(in byte[] auts); + void setAuthAlg(in android.hardware.wifi.supplicant.AuthAlgMask authAlgMask); + void setBssid(in byte[] bssid); + void setDppKeys(in android.hardware.wifi.supplicant.DppConnectionKeys keys); + void setEapAltSubjectMatch(in String match); + void setEapAnonymousIdentity(in byte[] identity); + void setEapCACert(in String path); + void setEapCAPath(in String path); + void setEapClientCert(in String path); + void setEapDomainSuffixMatch(in String match); + void setEapEncryptedImsiIdentity(in byte[] identity); + void setEapEngine(in boolean enable); + void setEapEngineID(in String id); + void setEapErp(in boolean enable); + void setEapIdentity(in byte[] identity); + void setEapMethod(in android.hardware.wifi.supplicant.EapMethod method); + void setEapPassword(in byte[] password); + void setEapPhase2Method(in android.hardware.wifi.supplicant.EapPhase2Method method); + void setEapPrivateKeyId(in String id); + void setEapSubjectMatch(in String match); + void setEdmg(in boolean enable); + void setGroupCipher(in android.hardware.wifi.supplicant.GroupCipherMask groupCipherMask); + void setGroupMgmtCipher(in android.hardware.wifi.supplicant.GroupMgmtCipherMask groupMgmtCipherMask); + void setIdStr(in String idStr); + void setKeyMgmt(in android.hardware.wifi.supplicant.KeyMgmtMask keyMgmtMask); + void setOcsp(in android.hardware.wifi.supplicant.OcspType ocspType); + void setPairwiseCipher(in android.hardware.wifi.supplicant.PairwiseCipherMask pairwiseCipherMask); + void setPmkCache(in byte[] serializedEntry); + void setProactiveKeyCaching(in boolean enable); + void setProto(in android.hardware.wifi.supplicant.ProtoMask protoMask); + void setPsk(in byte[] psk); + void setPskPassphrase(in String psk); + void setRequirePmf(in boolean enable); + void setSaeH2eMode(in android.hardware.wifi.supplicant.SaeH2eMode mode); + void setSaePassword(in String saePassword); + void setSaePasswordId(in String saePasswordId); + void setScanSsid(in boolean enable); + void setSsid(in byte[] ssid); + void setUpdateIdentifier(in int id); + void setWapiCertSuite(in String suite); + void setWepKey(in int keyIdx, in byte[] wepKey); + void setWepTxKeyIdx(in int keyIdx); + void setRoamingConsortiumSelection(in byte[] selectedRcoi); + void setMinimumTlsVersionEapPhase1Param(android.hardware.wifi.supplicant.TlsVersion tlsVersion); + void setStrictConservativePeerMode(in boolean enable); + void disableEht(); + void setVendorData(in android.hardware.wifi.common.OuiKeyedData[] vendorData); + const int SSID_MAX_LEN_IN_BYTES = 32; + const int PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8; + const int PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63; + const int WEP_KEYS_MAX_NUM = 4; + const int WEP40_KEY_LEN_IN_BYTES = 5; + const int WEP104_KEY_LEN_IN_BYTES = 13; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetworkCallback.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetworkCallback.aidl new file mode 100644 index 0000000000..f9a078be4d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ISupplicantStaNetworkCallback.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +interface ISupplicantStaNetworkCallback { + oneway void onNetworkEapIdentityRequest(); + oneway void onNetworkEapSimGsmAuthRequest(in android.hardware.wifi.supplicant.NetworkRequestEapSimGsmAuthParams params); + oneway void onNetworkEapSimUmtsAuthRequest(in android.hardware.wifi.supplicant.NetworkRequestEapSimUmtsAuthParams params); + oneway void onTransitionDisable(in android.hardware.wifi.supplicant.TransitionDisableIndication ind); + oneway void onServerCertificateAvailable(in int depth, in byte[] subject, in byte[] certHash, in byte[] certBlob); + oneway void onPermanentIdReqDenied(); +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceInfo.aidl new file mode 100644 index 0000000000..6706c8c6ef --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable IfaceInfo { + android.hardware.wifi.supplicant.IfaceType type; + String name; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceType.aidl new file mode 100644 index 0000000000..e11c2f7ec6 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IfaceType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum IfaceType { + STA, + P2P, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IpVersion.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IpVersion.aidl new file mode 100644 index 0000000000..958031437c --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/IpVersion.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum IpVersion { + VERSION_4, + VERSION_6, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/KeyMgmtMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/KeyMgmtMask.aidl new file mode 100644 index 0000000000..06c22cbde8 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/KeyMgmtMask.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum KeyMgmtMask { + WPA_EAP = (1 << 0) /* 1 */, + WPA_PSK = (1 << 1) /* 2 */, + NONE = (1 << 2) /* 4 */, + IEEE8021X = (1 << 3) /* 8 */, + FT_EAP = (1 << 5) /* 32 */, + FT_PSK = (1 << 6) /* 64 */, + OSEN = (1 << 15) /* 32768 */, + WPA_EAP_SHA256 = (1 << 7) /* 128 */, + WPA_PSK_SHA256 = (1 << 8) /* 256 */, + SAE = (1 << 10) /* 1024 */, + SUITE_B_192 = (1 << 17) /* 131072 */, + OWE = (1 << 22) /* 4194304 */, + DPP = (1 << 23) /* 8388608 */, + WAPI_PSK = (1 << 12) /* 4096 */, + WAPI_CERT = (1 << 13) /* 8192 */, + FILS_SHA256 = (1 << 18) /* 262144 */, + FILS_SHA384 = (1 << 19) /* 524288 */, + PASN = (1 << 25) /* 33554432 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/LegacyMode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/LegacyMode.aidl new file mode 100644 index 0000000000..6896d75f7f --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/LegacyMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum LegacyMode { + UNKNOWN = 0, + A_MODE = 1, + B_MODE = 2, + G_MODE = 3, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MacAddress.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MacAddress.aidl new file mode 100644 index 0000000000..d17930a649 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MacAddress.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable MacAddress { + byte[] data; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboAssocDisallowedReasonCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboAssocDisallowedReasonCode.aidl new file mode 100644 index 0000000000..661165d062 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboAssocDisallowedReasonCode.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum MboAssocDisallowedReasonCode { + RESERVED = 0, + UNSPECIFIED = 1, + MAX_NUM_STA_ASSOCIATED = 2, + AIR_INTERFACE_OVERLOADED = 3, + AUTH_SERVER_OVERLOADED = 4, + INSUFFICIENT_RSSI = 5, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboCellularDataConnectionPrefValue.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboCellularDataConnectionPrefValue.aidl new file mode 100644 index 0000000000..c4024d097b --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboCellularDataConnectionPrefValue.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum MboCellularDataConnectionPrefValue { + EXCLUDED = 0, + NOT_PREFERRED = 1, + PREFERRED = 255, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboTransitionReasonCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboTransitionReasonCode.aidl new file mode 100644 index 0000000000..caed0950ee --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MboTransitionReasonCode.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum MboTransitionReasonCode { + UNSPECIFIED = 0, + EXCESSIVE_FRAME_LOSS = 1, + EXCESSIVE_TRAFFIC_DELAY = 2, + INSUFFICIENT_BANDWIDTH = 3, + LOAD_BALANCING = 4, + LOW_RSSI = 5, + RX_EXCESSIVE_RETRIES = 6, + HIGH_INTERFERENCE = 7, + GRAY_ZONE = 8, + TRANSITION_TO_PREMIUM_AP = 9, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MiracastMode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MiracastMode.aidl new file mode 100644 index 0000000000..6bc9e4d629 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MiracastMode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum MiracastMode { + DISABLED = 0, + SOURCE = 1, + SINK = 2, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLink.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLink.aidl new file mode 100644 index 0000000000..8bda3242b3 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLink.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable MloLink { + byte linkId; + byte[] staLinkMacAddress; + byte tidsUplinkMap; + byte tidsDownlinkMap; + @nullable byte[6] apLinkMacAddress; + int frequencyMHz; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLinksInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLinksInfo.aidl new file mode 100644 index 0000000000..3dac2d6694 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MloLinksInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable MloLinksInfo { + android.hardware.wifi.supplicant.MloLink[] links; + int apMloLinkId; + @nullable byte[6] apMldMacAddress; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MscsParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MscsParams.aidl new file mode 100644 index 0000000000..aeed4080de --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MscsParams.aidl @@ -0,0 +1,52 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable MscsParams { + byte upBitmap; + byte upLimit; + int streamTimeoutUs; + byte frameClassifierMask; + @Backing(type="int") @VintfStability + enum FrameClassifierFields { + IP_VERSION = (1 << 0) /* 1 */, + SRC_IP_ADDR = (1 << 1) /* 2 */, + DST_IP_ADDR = (1 << 2) /* 4 */, + SRC_PORT = (1 << 3) /* 8 */, + DST_PORT = (1 << 4) /* 16 */, + DSCP = (1 << 5) /* 32 */, + PROTOCOL_NEXT_HDR = (1 << 6) /* 64 */, + FLOW_LABEL = (1 << 7) /* 128 */, + } +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MsduDeliveryInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MsduDeliveryInfo.aidl new file mode 100644 index 0000000000..792e08d2cd --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/MsduDeliveryInfo.aidl @@ -0,0 +1,51 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable MsduDeliveryInfo { + android.hardware.wifi.supplicant.MsduDeliveryInfo.DeliveryRatio deliveryRatio; + byte countExponent; + @Backing(type="byte") @VintfStability + enum DeliveryRatio { + RATIO_95 = 1, + RATIO_96 = 2, + RATIO_97 = 3, + RATIO_98 = 4, + RATIO_99 = 5, + RATIO_99_9 = 6, + RATIO_99_99 = 7, + RATIO_99_999 = 8, + RATIO_99_9999 = 9, + } +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimGsmAuthParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimGsmAuthParams.aidl new file mode 100644 index 0000000000..1f03bb84c7 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimGsmAuthParams.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable NetworkRequestEapSimGsmAuthParams { + android.hardware.wifi.supplicant.GsmRand[] rands; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimUmtsAuthParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimUmtsAuthParams.aidl new file mode 100644 index 0000000000..956a799b7d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkRequestEapSimUmtsAuthParams.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable NetworkRequestEapSimUmtsAuthParams { + byte[] rand; + byte[] autn; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimGsmAuthParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimGsmAuthParams.aidl new file mode 100644 index 0000000000..29415b739d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimGsmAuthParams.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable NetworkResponseEapSimGsmAuthParams { + byte[] kc; + byte[] sres; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimUmtsAuthParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimUmtsAuthParams.aidl new file mode 100644 index 0000000000..4e58dd8261 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/NetworkResponseEapSimUmtsAuthParams.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable NetworkResponseEapSimUmtsAuthParams { + byte[] res; + byte[] ik; + byte[] ck; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OceRssiBasedAssocRejectAttr.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OceRssiBasedAssocRejectAttr.aidl new file mode 100644 index 0000000000..95a95bc543 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OceRssiBasedAssocRejectAttr.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable OceRssiBasedAssocRejectAttr { + int deltaRssi; + int retryDelayS; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OcspType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OcspType.aidl new file mode 100644 index 0000000000..d5ed084537 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OcspType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum OcspType { + NONE, + REQUEST_CERT_STATUS, + REQUIRE_CERT_STATUS, + REQUIRE_ALL_CERTS_STATUS, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OsuMethod.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OsuMethod.aidl new file mode 100644 index 0000000000..1b99e2f157 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/OsuMethod.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum OsuMethod { + OMA_DM = 0, + SOAP_XML_SPP = 1, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl new file mode 100644 index 0000000000..ff73f84f24 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pAddGroupConfigurationParams.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pAddGroupConfigurationParams { + byte[] ssid; + String passphrase; + boolean isPersistent; + int frequencyMHzOrBand; + byte[6] goInterfaceAddress; + boolean joinExistingGroup; + int keyMgmtMask; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pClientEapolIpAddressInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pClientEapolIpAddressInfo.aidl new file mode 100644 index 0000000000..db31ca1d48 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pClientEapolIpAddressInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pClientEapolIpAddressInfo { + int ipAddressClient; + int ipAddressMask; + int ipAddressGo; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pConnectInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pConnectInfo.aidl new file mode 100644 index 0000000000..f4662de122 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pConnectInfo.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pConnectInfo { + byte[6] peerAddress; + android.hardware.wifi.supplicant.WpsProvisionMethod provisionMethod; + String preSelectedPin; + boolean joinExistingGroup; + boolean persistent; + int goIntent; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl new file mode 100644 index 0000000000..4451fb55ef --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pCreateGroupOwnerInfo.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pCreateGroupOwnerInfo { + boolean persistent; + int persistentNetworkId; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDeviceFoundEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDeviceFoundEventParams.aidl new file mode 100644 index 0000000000..ee8e6dc186 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDeviceFoundEventParams.aidl @@ -0,0 +1,48 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pDeviceFoundEventParams { + byte[6] srcAddress; + byte[6] p2pDeviceAddress; + byte[] primaryDeviceType; + String deviceName; + int configMethods; + byte deviceCapabilities; + int groupCapabilities; + byte[] wfdDeviceInfo; + byte[] wfdR2DeviceInfo; + byte[] vendorElemBytes; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDiscoveryInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDiscoveryInfo.aidl new file mode 100644 index 0000000000..5b7dd3f043 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pDiscoveryInfo.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pDiscoveryInfo { + android.hardware.wifi.supplicant.P2pScanType scanType; + int frequencyMhz; + int timeoutInSec; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl new file mode 100644 index 0000000000..b4d8e9d92e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pExtListenInfo.aidl @@ -0,0 +1,40 @@ +/** + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pExtListenInfo { + int periodMs; + int intervalMs; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pFrameTypeMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pFrameTypeMask.aidl new file mode 100644 index 0000000000..3c6f8ed5ed --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pFrameTypeMask.aidl @@ -0,0 +1,50 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum P2pFrameTypeMask { + P2P_FRAME_PROBE_REQ_P2P = (1 << 0) /* 1 */, + P2P_FRAME_PROBE_RESP_P2P = (1 << 1) /* 2 */, + P2P_FRAME_PROBE_RESP_P2P_GO = (1 << 2) /* 4 */, + P2P_FRAME_BEACON_P2P_GO = (1 << 3) /* 8 */, + P2P_FRAME_P2P_PD_REQ = (1 << 4) /* 16 */, + P2P_FRAME_P2P_PD_RESP = (1 << 5) /* 32 */, + P2P_FRAME_P2P_GO_NEG_REQ = (1 << 6) /* 64 */, + P2P_FRAME_P2P_GO_NEG_RESP = (1 << 7) /* 128 */, + P2P_FRAME_P2P_GO_NEG_CONF = (1 << 8) /* 256 */, + P2P_FRAME_P2P_INV_REQ = (1 << 9) /* 512 */, + P2P_FRAME_P2P_INV_RESP = (1 << 10) /* 1024 */, + P2P_FRAME_P2P_ASSOC_REQ = (1 << 11) /* 2048 */, + P2P_FRAME_P2P_ASSOC_RESP = (1 << 12) /* 4096 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl new file mode 100644 index 0000000000..ba10b3ee64 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGoNegotiationReqEventParams.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pGoNegotiationReqEventParams { + byte[6] srcAddress; + android.hardware.wifi.supplicant.WpsDevPasswordId passwordId; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupCapabilityMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupCapabilityMask.aidl new file mode 100644 index 0000000000..e47713182e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupCapabilityMask.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum P2pGroupCapabilityMask { + GROUP_OWNER = (1 << 0) /* 1 */, + PERSISTENT_GROUP = (1 << 1) /* 2 */, + GROUP_LIMIT = (1 << 2) /* 4 */, + INTRA_BSS_DIST = (1 << 3) /* 8 */, + CROSS_CONN = (1 << 4) /* 16 */, + PERSISTENT_RECONN = (1 << 5) /* 32 */, + GROUP_FORMATION = (1 << 6) /* 64 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupStartedEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupStartedEventParams.aidl new file mode 100644 index 0000000000..e19ae4460d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pGroupStartedEventParams.aidl @@ -0,0 +1,49 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pGroupStartedEventParams { + String groupInterfaceName; + boolean isGroupOwner; + byte[] ssid; + int frequencyMHz; + byte[] psk; + String passphrase; + boolean isPersistent; + byte[6] goDeviceAddress; + byte[6] goInterfaceAddress; + boolean isP2pClientEapolIpAddressInfoPresent; + android.hardware.wifi.supplicant.P2pClientEapolIpAddressInfo p2pClientIpInfo; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl new file mode 100644 index 0000000000..541ee4f93d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pInvitationEventParams.aidl @@ -0,0 +1,43 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pInvitationEventParams { + byte[6] srcAddress; + byte[6] goDeviceAddress; + byte[6] bssid; + int persistentNetworkId; + int operatingFrequencyMHz; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientDisconnectedEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientDisconnectedEventParams.aidl new file mode 100644 index 0000000000..5c7c393b4b --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientDisconnectedEventParams.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pPeerClientDisconnectedEventParams { + String groupInterfaceName; + byte[6] clientInterfaceAddress; + byte[6] clientDeviceAddress; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientJoinedEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientJoinedEventParams.aidl new file mode 100644 index 0000000000..40c8ff6d8a --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pPeerClientJoinedEventParams.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pPeerClientJoinedEventParams { + String groupInterfaceName; + byte[6] clientInterfaceAddress; + byte[6] clientDeviceAddress; + int clientIpAddress; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvDiscStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvDiscStatusCode.aidl new file mode 100644 index 0000000000..c8e53b93c1 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvDiscStatusCode.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum P2pProvDiscStatusCode { + SUCCESS = 0, + TIMEOUT = 1, + REJECTED = 2, + TIMEOUT_JOIN = 3, + INFO_UNAVAILABLE = 4, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl new file mode 100644 index 0000000000..46366cc8d3 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pProvisionDiscoveryCompletedEventParams.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable P2pProvisionDiscoveryCompletedEventParams { + byte[6] p2pDeviceAddress; + boolean isRequest; + android.hardware.wifi.supplicant.P2pProvDiscStatusCode status; + int configMethods; + String generatedPin; + String groupInterfaceName; + @nullable android.hardware.wifi.common.OuiKeyedData[] vendorData; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pScanType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pScanType.aidl new file mode 100644 index 0000000000..ff3efd2063 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pScanType.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum P2pScanType { + FULL, + SOCIAL, + SPECIFIC_FREQ, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pStatusCode.aidl new file mode 100644 index 0000000000..c7ad3832c7 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/P2pStatusCode.aidl @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum P2pStatusCode { + SUCCESS = 0, + FAIL_INFO_CURRENTLY_UNAVAILABLE = 1, + FAIL_INCOMPATIBLE_PARAMS = 2, + FAIL_LIMIT_REACHED = 3, + FAIL_INVALID_PARAMS = 4, + FAIL_UNABLE_TO_ACCOMMODATE = 5, + FAIL_PREV_PROTOCOL_ERROR = 6, + FAIL_NO_COMMON_CHANNELS = 7, + FAIL_UNKNOWN_GROUP = 8, + FAIL_BOTH_GO_INTENT_15 = 9, + FAIL_INCOMPATIBLE_PROV_METHOD = 10, + FAIL_REJECTED_BY_USER = 11, + SUCCESS_DEFERRED = 12, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PairwiseCipherMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PairwiseCipherMask.aidl new file mode 100644 index 0000000000..a4c7b6065b --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PairwiseCipherMask.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum PairwiseCipherMask { + NONE = (1 << 0) /* 1 */, + TKIP = (1 << 3) /* 8 */, + CCMP = (1 << 4) /* 16 */, + GCMP_128 = (1 << 6) /* 64 */, + SMS4 = (1 << 7) /* 128 */, + GCMP_256 = (1 << 8) /* 256 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PmkSaCacheData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PmkSaCacheData.aidl new file mode 100644 index 0000000000..c31b16756c --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PmkSaCacheData.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable PmkSaCacheData { + byte[6] bssid; + long expirationTimeInSec; + byte[] serializedEntry; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PortRange.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PortRange.aidl new file mode 100644 index 0000000000..b2004f242b --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/PortRange.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable PortRange { + int startPort; + int endPort; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtoMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtoMask.aidl new file mode 100644 index 0000000000..ba79025fa1 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtoMask.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum ProtoMask { + WPA = (1 << 0) /* 1 */, + RSN = (1 << 1) /* 2 */, + WAPI = (1 << 2) /* 4 */, + OSEN = (1 << 3) /* 8 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtocolNextHeader.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtocolNextHeader.aidl new file mode 100644 index 0000000000..8fb91d0511 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/ProtocolNextHeader.aidl @@ -0,0 +1,40 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum ProtocolNextHeader { + TCP = 6, + UDP = 17, + ESP = 50, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosCharacteristics.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosCharacteristics.aidl new file mode 100644 index 0000000000..dacac8c49a --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosCharacteristics.aidl @@ -0,0 +1,59 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosCharacteristics { + int minServiceIntervalUs; + int maxServiceIntervalUs; + int minDataRateKbps; + int delayBoundUs; + int optionalFieldMask; + char maxMsduSizeOctets; + int serviceStartTimeUs; + byte serviceStartTimeLinkId; + int meanDataRateKbps; + int burstSizeOctets; + char msduLifetimeMs; + android.hardware.wifi.supplicant.MsduDeliveryInfo msduDeliveryInfo; + @Backing(type="int") @VintfStability + enum QosCharacteristicsMask { + MAX_MSDU_SIZE = (1 << 0) /* 1 */, + SERVICE_START_TIME = (1 << 1) /* 2 */, + SERVICE_START_TIME_LINK_ID = (1 << 2) /* 4 */, + MEAN_DATA_RATE = (1 << 3) /* 8 */, + BURST_SIZE = (1 << 4) /* 16 */, + MSDU_LIFETIME = (1 << 5) /* 32 */, + MSDU_DELIVERY_INFO = (1 << 6) /* 64 */, + } +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParams.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParams.aidl new file mode 100644 index 0000000000..156d57ac0c --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParams.aidl @@ -0,0 +1,47 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyClassifierParams { + android.hardware.wifi.supplicant.IpVersion ipVersion; + android.hardware.wifi.supplicant.QosPolicyClassifierParamsMask classifierParamMask; + byte[] srcIp; + byte[] dstIp; + int srcPort; + android.hardware.wifi.supplicant.PortRange dstPortRange; + android.hardware.wifi.supplicant.ProtocolNextHeader protocolNextHdr; + byte[] flowLabelIpv6; + String domainName; + byte dscp; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParamsMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParamsMask.aidl new file mode 100644 index 0000000000..fda5e3ef67 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyClassifierParamsMask.aidl @@ -0,0 +1,45 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum QosPolicyClassifierParamsMask { + SRC_IP = (1 << 0) /* 1 */, + DST_IP = (1 << 1) /* 2 */, + SRC_PORT = (1 << 2) /* 4 */, + DST_PORT_RANGE = (1 << 3) /* 8 */, + PROTOCOL_NEXT_HEADER = (1 << 4) /* 16 */, + FLOW_LABEL = (1 << 5) /* 32 */, + DOMAIN_NAME = (1 << 6) /* 64 */, + DSCP = (1 << 7) /* 128 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyData.aidl new file mode 100644 index 0000000000..1719565a81 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyData.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyData { + byte policyId; + android.hardware.wifi.supplicant.QosPolicyRequestType requestType; + byte dscp; + android.hardware.wifi.supplicant.QosPolicyClassifierParams classifierParams; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyRequestType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyRequestType.aidl new file mode 100644 index 0000000000..fd4e787d9e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyRequestType.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum QosPolicyRequestType { + QOS_POLICY_ADD, + QOS_POLICY_REMOVE, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsData.aidl new file mode 100644 index 0000000000..20be616fbb --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsData.aidl @@ -0,0 +1,32 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyScsData { + byte policyId; + byte userPriority; + android.hardware.wifi.supplicant.QosPolicyClassifierParams classifierParams; + android.hardware.wifi.supplicant.QosPolicyScsData.LinkDirection direction; + @nullable android.hardware.wifi.supplicant.QosCharacteristics QosCharacteristics; + @Backing(type="byte") @VintfStability + enum LinkDirection { + DOWNLINK, + UPLINK, + } +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatus.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatus.aidl new file mode 100644 index 0000000000..d5573af593 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatus.aidl @@ -0,0 +1,24 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyScsRequestStatus { + byte policyId; + android.hardware.wifi.supplicant.QosPolicyScsRequestStatusCode qosPolicyScsRequestStatusCode; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatusCode.aidl new file mode 100644 index 0000000000..8e0467f75a --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsRequestStatusCode.aidl @@ -0,0 +1,26 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum QosPolicyScsRequestStatusCode { + SENT, + ALREADY_ACTIVE, + NOT_EXIST, + INVALID, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatus.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatus.aidl new file mode 100644 index 0000000000..2737f1a5a8 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatus.aidl @@ -0,0 +1,24 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyScsResponseStatus { + byte policyId; + android.hardware.wifi.supplicant.QosPolicyScsResponseStatusCode qosPolicyScsResponseStatusCode; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatusCode.aidl new file mode 100644 index 0000000000..5d460c69c5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyScsResponseStatusCode.aidl @@ -0,0 +1,31 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum QosPolicyScsResponseStatusCode { + SUCCESS, + TCLAS_REQUEST_DECLINED, + TCLAS_NOT_SUPPORTED_BY_AP, + TCLAS_INSUFFICIENT_RESOURCES, + TCLAS_RESOURCES_EXHAUSTED, + TCLAS_PROCESSING_TERMINATED_INSUFFICIENT_QOS, + TCLAS_PROCESSING_TERMINATED_POLICY_CONFLICT, + TCLAS_PROCESSING_TERMINATED, + TIMEOUT, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatus.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatus.aidl new file mode 100644 index 0000000000..61278c5fe5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatus.aidl @@ -0,0 +1,39 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable QosPolicyStatus { + byte policyId; + android.hardware.wifi.supplicant.QosPolicyStatusCode status; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatusCode.aidl new file mode 100644 index 0000000000..92286325c8 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/QosPolicyStatusCode.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum QosPolicyStatusCode { + QOS_POLICY_SUCCESS, + QOS_POLICY_REQUEST_DECLINED, + QOS_POLICY_CLASSIFIER_NOT_SUPPORTED, + QOS_POLICY_INSUFFICIENT_RESOURCES, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/RxFilterType.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/RxFilterType.aidl new file mode 100644 index 0000000000..63f5bf2c45 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/RxFilterType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum RxFilterType { + V4_MULTICAST = 0, + V6_MULTICAST = 1, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SaeH2eMode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SaeH2eMode.aidl new file mode 100644 index 0000000000..4730d72c04 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SaeH2eMode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="byte") @VintfStability +enum SaeH2eMode { + DISABLED, + H2E_OPTIONAL, + H2E_MANDATORY, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SignalPollResult.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SignalPollResult.aidl new file mode 100644 index 0000000000..52d3f2447d --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SignalPollResult.aidl @@ -0,0 +1,42 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable SignalPollResult { + int linkId; + int currentRssiDbm; + int txBitrateMbps; + int rxBitrateMbps; + int frequencyMhz; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceCallbackState.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceCallbackState.aidl new file mode 100644 index 0000000000..d78cfa2f28 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceCallbackState.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum StaIfaceCallbackState { + DISCONNECTED = 0, + IFACE_DISABLED = 1, + INACTIVE = 2, + SCANNING = 3, + AUTHENTICATING = 4, + ASSOCIATING = 5, + ASSOCIATED = 6, + FOURWAY_HANDSHAKE = 7, + GROUP_HANDSHAKE = 8, + COMPLETED = 9, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceReasonCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceReasonCode.aidl new file mode 100644 index 0000000000..f26e7c5393 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceReasonCode.aidl @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum StaIfaceReasonCode { + UNSPECIFIED = 1, + PREV_AUTH_NOT_VALID = 2, + DEAUTH_LEAVING = 3, + DISASSOC_DUE_TO_INACTIVITY = 4, + DISASSOC_AP_BUSY = 5, + CLASS2_FRAME_FROM_NONAUTH_STA = 6, + CLASS3_FRAME_FROM_NONASSOC_STA = 7, + DISASSOC_STA_HAS_LEFT = 8, + STA_REQ_ASSOC_WITHOUT_AUTH = 9, + PWR_CAPABILITY_NOT_VALID = 10, + SUPPORTED_CHANNEL_NOT_VALID = 11, + BSS_TRANSITION_DISASSOC = 12, + INVALID_IE = 13, + MICHAEL_MIC_FAILURE = 14, + FOURWAY_HANDSHAKE_TIMEOUT = 15, + GROUP_KEY_UPDATE_TIMEOUT = 16, + IE_IN_4WAY_DIFFERS = 17, + GROUP_CIPHER_NOT_VALID = 18, + PAIRWISE_CIPHER_NOT_VALID = 19, + AKMP_NOT_VALID = 20, + UNSUPPORTED_RSN_IE_VERSION = 21, + INVALID_RSN_IE_CAPAB = 22, + IEEE_802_1X_AUTH_FAILED = 23, + CIPHER_SUITE_REJECTED = 24, + TDLS_TEARDOWN_UNREACHABLE = 25, + TDLS_TEARDOWN_UNSPECIFIED = 26, + SSP_REQUESTED_DISASSOC = 27, + NO_SSP_ROAMING_AGREEMENT = 28, + BAD_CIPHER_OR_AKM = 29, + NOT_AUTHORIZED_THIS_LOCATION = 30, + SERVICE_CHANGE_PRECLUDES_TS = 31, + UNSPECIFIED_QOS_REASON = 32, + NOT_ENOUGH_BANDWIDTH = 33, + DISASSOC_LOW_ACK = 34, + EXCEEDED_TXOP = 35, + STA_LEAVING = 36, + END_TS_BA_DLS = 37, + UNKNOWN_TS_BA = 38, + TIMEOUT = 39, + PEERKEY_MISMATCH = 45, + AUTHORIZED_ACCESS_LIMIT_REACHED = 46, + EXTERNAL_SERVICE_REQUIREMENTS = 47, + INVALID_FT_ACTION_FRAME_COUNT = 48, + INVALID_PMKID = 49, + INVALID_MDE = 50, + INVALID_FTE = 51, + MESH_PEERING_CANCELLED = 52, + MESH_MAX_PEERS = 53, + MESH_CONFIG_POLICY_VIOLATION = 54, + MESH_CLOSE_RCVD = 55, + MESH_MAX_RETRIES = 56, + MESH_CONFIRM_TIMEOUT = 57, + MESH_INVALID_GTK = 58, + MESH_INCONSISTENT_PARAMS = 59, + MESH_INVALID_SECURITY_CAP = 60, + MESH_PATH_ERROR_NO_PROXY_INFO = 61, + MESH_PATH_ERROR_NO_FORWARDING_INFO = 62, + MESH_PATH_ERROR_DEST_UNREACHABLE = 63, + MAC_ADDRESS_ALREADY_EXISTS_IN_MBSS = 64, + MESH_CHANNEL_SWITCH_REGULATORY_REQ = 65, + MESH_CHANNEL_SWITCH_UNSPECIFIED = 66, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceStatusCode.aidl new file mode 100644 index 0000000000..13529a5be1 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/StaIfaceStatusCode.aidl @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum StaIfaceStatusCode { + SUCCESS = 0, + UNSPECIFIED_FAILURE = 1, + TDLS_WAKEUP_ALTERNATE = 2, + TDLS_WAKEUP_REJECT = 3, + SECURITY_DISABLED = 5, + UNACCEPTABLE_LIFETIME = 6, + NOT_IN_SAME_BSS = 7, + CAPS_UNSUPPORTED = 10, + REASSOC_NO_ASSOC = 11, + ASSOC_DENIED_UNSPEC = 12, + NOT_SUPPORTED_AUTH_ALG = 13, + UNKNOWN_AUTH_TRANSACTION = 14, + CHALLENGE_FAIL = 15, + AUTH_TIMEOUT = 16, + AP_UNABLE_TO_HANDLE_NEW_STA = 17, + ASSOC_DENIED_RATES = 18, + ASSOC_DENIED_NOSHORT = 19, + SPEC_MGMT_REQUIRED = 22, + PWR_CAPABILITY_NOT_VALID = 23, + SUPPORTED_CHANNEL_NOT_VALID = 24, + ASSOC_DENIED_NO_SHORT_SLOT_TIME = 25, + ASSOC_DENIED_NO_HT = 27, + R0KH_UNREACHABLE = 28, + ASSOC_DENIED_NO_PCO = 29, + ASSOC_REJECTED_TEMPORARILY = 30, + ROBUST_MGMT_FRAME_POLICY_VIOLATION = 31, + UNSPECIFIED_QOS_FAILURE = 32, + DENIED_INSUFFICIENT_BANDWIDTH = 33, + DENIED_POOR_CHANNEL_CONDITIONS = 34, + DENIED_QOS_NOT_SUPPORTED = 35, + REQUEST_DECLINED = 37, + INVALID_PARAMETERS = 38, + REJECTED_WITH_SUGGESTED_CHANGES = 39, + INVALID_IE = 40, + GROUP_CIPHER_NOT_VALID = 41, + PAIRWISE_CIPHER_NOT_VALID = 42, + AKMP_NOT_VALID = 43, + UNSUPPORTED_RSN_IE_VERSION = 44, + INVALID_RSN_IE_CAPAB = 45, + CIPHER_REJECTED_PER_POLICY = 46, + TS_NOT_CREATED = 47, + DIRECT_LINK_NOT_ALLOWED = 48, + DEST_STA_NOT_PRESENT = 49, + DEST_STA_NOT_QOS_STA = 50, + ASSOC_DENIED_LISTEN_INT_TOO_LARGE = 51, + INVALID_FT_ACTION_FRAME_COUNT = 52, + INVALID_PMKID = 53, + INVALID_MDIE = 54, + INVALID_FTIE = 55, + REQUESTED_TCLAS_NOT_SUPPORTED = 56, + INSUFFICIENT_TCLAS_PROCESSING_RESOURCES = 57, + TRY_ANOTHER_BSS = 58, + GAS_ADV_PROTO_NOT_SUPPORTED = 59, + NO_OUTSTANDING_GAS_REQ = 60, + GAS_RESP_NOT_RECEIVED = 61, + STA_TIMED_OUT_WAITING_FOR_GAS_RESP = 62, + GAS_RESP_LARGER_THAN_LIMIT = 63, + REQ_REFUSED_HOME = 64, + ADV_SRV_UNREACHABLE = 65, + REQ_REFUSED_SSPN = 67, + REQ_REFUSED_UNAUTH_ACCESS = 68, + INVALID_RSNIE = 72, + U_APSD_COEX_NOT_SUPPORTED = 73, + U_APSD_COEX_MODE_NOT_SUPPORTED = 74, + BAD_INTERVAL_WITH_U_APSD_COEX = 75, + ANTI_CLOGGING_TOKEN_REQ = 76, + FINITE_CYCLIC_GROUP_NOT_SUPPORTED = 77, + CANNOT_FIND_ALT_TBTT = 78, + TRANSMISSION_FAILURE = 79, + REQ_TCLAS_NOT_SUPPORTED = 80, + TCLAS_RESOURCES_EXCHAUSTED = 81, + REJECTED_WITH_SUGGESTED_BSS_TRANSITION = 82, + REJECT_WITH_SCHEDULE = 83, + REJECT_NO_WAKEUP_SPECIFIED = 84, + SUCCESS_POWER_SAVE_MODE = 85, + PENDING_ADMITTING_FST_SESSION = 86, + PERFORMING_FST_NOW = 87, + PENDING_GAP_IN_BA_WINDOW = 88, + REJECT_U_PID_SETTING = 89, + REFUSED_EXTERNAL_REASON = 92, + REFUSED_AP_OUT_OF_MEMORY = 93, + REJECTED_EMERGENCY_SERVICE_NOT_SUPPORTED = 94, + QUERY_RESP_OUTSTANDING = 95, + REJECT_DSE_BAND = 96, + TCLAS_PROCESSING_TERMINATED = 97, + TS_SCHEDULE_CONFLICT = 98, + DENIED_WITH_SUGGESTED_BAND_AND_CHANNEL = 99, + MCCAOP_RESERVATION_CONFLICT = 100, + MAF_LIMIT_EXCEEDED = 101, + MCCA_TRACK_LIMIT_EXCEEDED = 102, + DENIED_DUE_TO_SPECTRUM_MANAGEMENT = 103, + ASSOC_DENIED_NO_VHT = 104, + ENABLEMENT_DENIED = 105, + RESTRICTION_FROM_AUTHORIZED_GDB = 106, + AUTHORIZATION_DEENABLED = 107, + FILS_AUTHENTICATION_FAILURE = 112, + UNKNOWN_AUTHENTICATION_SERVER = 113, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStateChangeData.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStateChangeData.aidl new file mode 100644 index 0000000000..1d37635a29 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStateChangeData.aidl @@ -0,0 +1,44 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@VintfStability +parcelable SupplicantStateChangeData { + android.hardware.wifi.supplicant.StaIfaceCallbackState newState; + int id; + byte[] ssid; + byte[6] bssid; + android.hardware.wifi.supplicant.KeyMgmtMask keyMgmtMask; + int frequencyMhz; + boolean filsHlpSent; +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStatusCode.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStatusCode.aidl new file mode 100644 index 0000000000..d7ff7982b5 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/SupplicantStatusCode.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum SupplicantStatusCode { + SUCCESS, + FAILURE_UNKNOWN, + FAILURE_ARGS_INVALID, + FAILURE_IFACE_INVALID, + FAILURE_IFACE_UNKNOWN, + FAILURE_IFACE_EXISTS, + FAILURE_IFACE_DISABLED, + FAILURE_IFACE_NOT_DISCONNECTED, + FAILURE_NETWORK_INVALID, + FAILURE_NETWORK_UNKNOWN, + FAILURE_UNSUPPORTED, + FAILURE_ONGOING_REQUEST, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TlsVersion.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TlsVersion.aidl new file mode 100644 index 0000000000..b31826a198 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TlsVersion.aidl @@ -0,0 +1,41 @@ +/* + * 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum TlsVersion { + TLS_V1_0, + TLS_V1_1, + TLS_V1_2, + TLS_V1_3, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TransitionDisableIndication.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TransitionDisableIndication.aidl new file mode 100644 index 0000000000..f1d7370c76 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/TransitionDisableIndication.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum TransitionDisableIndication { + USE_WPA3_PERSONAL = (1 << 0) /* 1 */, + USE_SAE_PK = (1 << 1) /* 2 */, + USE_WPA3_ENTERPRISE = (1 << 2) /* 4 */, + USE_ENHANCED_OPEN = (1 << 3) /* 8 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WifiTechnology.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WifiTechnology.aidl new file mode 100644 index 0000000000..bf5081ea70 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WifiTechnology.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WifiTechnology { + UNKNOWN = 0, + LEGACY = 1, + HT = 2, + VHT = 3, + HE = 4, + EHT = 5, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpaDriverCapabilitiesMask.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpaDriverCapabilitiesMask.aidl new file mode 100644 index 0000000000..330f2aa267 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpaDriverCapabilitiesMask.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpaDriverCapabilitiesMask { + MBO = (1 << 0) /* 1 */, + OCE = (1 << 1) /* 2 */, + SAE_PK = (1 << 2) /* 4 */, + WFD_R2 = (1 << 3) /* 8 */, + TRUST_ON_FIRST_USE = (1 << 4) /* 16 */, + SET_TLS_MINIMUM_VERSION = (1 << 5) /* 32 */, + TLS_V1_3 = (1 << 6) /* 64 */, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigError.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigError.aidl new file mode 100644 index 0000000000..c48b282e35 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigError.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpsConfigError { + NO_ERROR = 0, + OOB_IFACE_READ_ERROR = 1, + DECRYPTION_CRC_FAILURE = 2, + CHAN_24_NOT_SUPPORTED = 3, + CHAN_50_NOT_SUPPORTED = 4, + SIGNAL_TOO_WEAK = 5, + NETWORK_AUTH_FAILURE = 6, + NETWORK_ASSOC_FAILURE = 7, + NO_DHCP_RESPONSE = 8, + FAILED_DHCP_CONFIG = 9, + IP_ADDR_CONFLICT = 10, + NO_CONN_TO_REGISTRAR = 11, + MULTIPLE_PBC_DETECTED = 12, + ROGUE_SUSPECTED = 13, + DEVICE_BUSY = 14, + SETUP_LOCKED = 15, + MSG_TIMEOUT = 16, + REG_SESS_TIMEOUT = 17, + DEV_PASSWORD_AUTH_FAILURE = 18, + CHAN_60G_NOT_SUPPORTED = 19, + PUBLIC_KEY_HASH_MISMATCH = 20, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigMethods.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigMethods.aidl new file mode 100644 index 0000000000..b9ea211bb4 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsConfigMethods.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpsConfigMethods { + USBA = 0x0001, + ETHERNET = 0x0002, + LABEL = 0x0004, + DISPLAY = 0x0008, + EXT_NFC_TOKEN = 0x0010, + INT_NFC_TOKEN = 0x0020, + NFC_INTERFACE = 0x0040, + PUSHBUTTON = 0x0080, + KEYPAD = 0x0100, + VIRT_PUSHBUTTON = 0x0280, + PHY_PUSHBUTTON = 0x0480, + P2PS = 0x1000, + VIRT_DISPLAY = 0x2008, + PHY_DISPLAY = 0x4008, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsDevPasswordId.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsDevPasswordId.aidl new file mode 100644 index 0000000000..9a20187b6e --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsDevPasswordId.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpsDevPasswordId { + DEFAULT = 0x0000, + USER_SPECIFIED = 0x0001, + MACHINE_SPECIFIED = 0x0002, + REKEY = 0x0003, + PUSHBUTTON = 0x0004, + REGISTRAR_SPECIFIED = 0x0005, + NFC_CONNECTION_HANDOVER = 0x0007, + P2PS_DEFAULT = 0x0008, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsErrorIndication.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsErrorIndication.aidl new file mode 100644 index 0000000000..50e69ff03b --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsErrorIndication.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpsErrorIndication { + NO_ERROR = 0, + SECURITY_TKIP_ONLY_PROHIBITED = 1, + SECURITY_WEP_PROHIBITED = 2, + AUTH_FAILURE = 3, +} diff --git a/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsProvisionMethod.aidl b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsProvisionMethod.aidl new file mode 100644 index 0000000000..177d218db3 --- /dev/null +++ b/wifi/supplicant/aidl/aidl_api/android.hardware.wifi.supplicant/3/android/hardware/wifi/supplicant/WpsProvisionMethod.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.wifi.supplicant; +@Backing(type="int") @VintfStability +enum WpsProvisionMethod { + PBC, + DISPLAY, + KEYPAD, +} From 76fe5d7870f47d180d024f4f82d310a3fdcb6cfb Mon Sep 17 00:00:00 2001 From: Kai Shi Date: Tue, 20 Feb 2024 14:16:24 -0800 Subject: [PATCH 178/198] Add VTS test for cached scan data Test: atest VtsHalWifiStaIfaceTargetTest Bug: 269485350 Change-Id: Iff3523c424cd529115c3f5b49cec19120ae7b809 --- .../functional/wifi_sta_iface_aidl_test.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp index 1ea1237a2d..aa7c87f4b4 100644 --- a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp @@ -29,6 +29,7 @@ #include "wifi_aidl_test_utils.h" +using aidl::android::hardware::wifi::CachedScanData; using aidl::android::hardware::wifi::IWifi; using aidl::android::hardware::wifi::IWifiStaIface; using aidl::android::hardware::wifi::MacAddress; @@ -324,6 +325,23 @@ TEST_P(WifiStaIfaceAidlTest, PacketFateMonitoring) { } } +/* + * CachedScanData + */ +TEST_P(WifiStaIfaceAidlTest, CachedScanData) { + if (!isFeatureSupported(IWifiStaIface::FeatureSetMask::CACHED_SCAN_DATA)) { + GTEST_SKIP() << "Cached scan data is not supported."; + } + + // Retrieve cached scan data. + CachedScanData cached_scan_data = {}; + EXPECT_TRUE(wifi_sta_iface_->getCachedScanData(&cached_scan_data).isOk()); + + if (cached_scan_data.cachedScanResults.size() > 0) { + EXPECT_GT(cached_scan_data.cachedScanResults[0].frequencyMhz, 0); + } +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(WifiStaIfaceAidlTest); INSTANTIATE_TEST_SUITE_P(WifiTest, WifiStaIfaceAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames(IWifi::descriptor)), From 67c465f7fe3c68019157290dff5235d43ef39c27 Mon Sep 17 00:00:00 2001 From: shrikar Date: Sun, 14 Jan 2024 06:11:07 +0000 Subject: [PATCH 179/198] Added resolution to SubscriptionManager in reference VHAL Bug: 276124296 Test: atest DefaultVehicleHalTest Change-Id: I972b7f0c04953b390f642317c491f3f99e045045 --- .../impl/utils/common/include/VehicleUtils.h | 17 +++ .../impl/vhal/include/SubscriptionManager.h | 19 +++- .../impl/vhal/src/SubscriptionManager.cpp | 79 ++++++++++--- .../vhal/test/SubscriptionManagerTest.cpp | 104 ++++++++++++++++++ 4 files changed, 198 insertions(+), 21 deletions(-) diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h index 523cac527e..aca725df56 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h @@ -333,6 +333,23 @@ inline std::string propIdToString(int32_t propId) { static_cast(propId)); } +template +void roundToNearestResolution(std::vector& arrayToSanitize, float resolution) { + if (resolution == 0) { + return; + } + for (size_t i = 0; i < arrayToSanitize.size(); i++) { + arrayToSanitize[i] = (T)((std::round(arrayToSanitize[i] / resolution)) * resolution); + } +} + +inline void sanitizeByResolution(aidl::android::hardware::automotive::vehicle::RawPropValues* value, + float resolution) { + roundToNearestResolution(value->int32Values, resolution); + roundToNearestResolution(value->floatValues, resolution); + roundToNearestResolution(value->int64Values, resolution); +} + } // namespace vehicle } // namespace automotive } // namespace hardware diff --git a/automotive/vehicle/aidl/impl/vhal/include/SubscriptionManager.h b/automotive/vehicle/aidl/impl/vhal/include/SubscriptionManager.h index 5053c96efe..2f16fca93c 100644 --- a/automotive/vehicle/aidl/impl/vhal/include/SubscriptionManager.h +++ b/automotive/vehicle/aidl/impl/vhal/include/SubscriptionManager.h @@ -25,6 +25,8 @@ #include #include +#include +#include #include #include #include @@ -39,6 +41,7 @@ namespace vehicle { // A structure to represent subscription config for one subscription client. struct SubConfig { float sampleRateHz; + float resolution; bool enableVur; }; @@ -47,14 +50,19 @@ class ContSubConfigs final { public: using ClientIdType = const AIBinder*; - void addClient(const ClientIdType& clientId, float sampleRateHz, bool enableVur); + void addClient(const ClientIdType& clientId, const SubConfig& subConfig); void removeClient(const ClientIdType& clientId); float getMaxSampleRateHz() const; + float getMinRequiredResolution() const; bool isVurEnabled() const; - bool isVurEnabledForClient(const ClientIdType& clientId); + bool isVurEnabledForClient(const ClientIdType& clientId) const; + float getResolutionForClient(const ClientIdType& clientId) const; private: float mMaxSampleRateHz = 0.; + // Baseline for resolution is maximum possible float. We want to sanitize to the highest + // requested resolution, which is the smallest float value for resolution. + float mMinRequiredResolution = std::numeric_limits::max(); bool mEnableVur; std::unordered_map mConfigByClient; @@ -117,6 +125,9 @@ class SubscriptionManager final { // Checks whether the sample rate is valid. static bool checkSampleRateHz(float sampleRateHz); + // Checks whether the resolution is valid. + static bool checkResolution(float resolution); + private: // Friend class for testing. friend class DefaultVehicleHalTest; @@ -153,8 +164,8 @@ class SubscriptionManager final { VhalResult addContinuousSubscriberLocked(const ClientIdType& clientId, const PropIdAreaId& propIdAreaId, - float sampleRateHz, bool enableVur) - REQUIRES(mLock); + float sampleRateHz, float resolution, + bool enableVur) REQUIRES(mLock); VhalResult addOnChangeSubscriberLocked(const PropIdAreaId& propIdAreaId) REQUIRES(mLock); // Removes the subscription client for the continuous [propId, areaId]. VhalResult removeContinuousSubscriberLocked(const ClientIdType& clientId, diff --git a/automotive/vehicle/aidl/impl/vhal/src/SubscriptionManager.cpp b/automotive/vehicle/aidl/impl/vhal/src/SubscriptionManager.cpp index 29d81a75e7..f1106eea54 100644 --- a/automotive/vehicle/aidl/impl/vhal/src/SubscriptionManager.cpp +++ b/automotive/vehicle/aidl/impl/vhal/src/SubscriptionManager.cpp @@ -43,11 +43,12 @@ using ::ndk::ScopedAStatus; constexpr float ONE_SECOND_IN_NANOS = 1'000'000'000.; SubscribeOptions newSubscribeOptions(int32_t propId, int32_t areaId, float sampleRateHz, - bool enableVur) { + float resolution, bool enableVur) { SubscribeOptions subscribedOptions; subscribedOptions.propId = propId; subscribedOptions.areaIds = {areaId}; subscribedOptions.sampleRate = sampleRateHz; + subscribedOptions.resolution = resolution; subscribedOptions.enableVariableUpdateRate = enableVur; return subscribedOptions; @@ -81,8 +82,18 @@ Result SubscriptionManager::getIntervalNanos(float sampleRateHz) { return intervalNanos; } +bool SubscriptionManager::checkResolution(float resolution) { + if (resolution == 0) { + return true; + } + + float log = std::log10(resolution); + return log == (int)log; +} + void ContSubConfigs::refreshCombinedConfig() { float maxSampleRateHz = 0.; + float minRequiredResolution = std::numeric_limits::max(); bool enableVur = true; // This is not called frequently so a brute-focre is okay. More efficient way exists but this // is simpler. @@ -90,6 +101,9 @@ void ContSubConfigs::refreshCombinedConfig() { if (subConfig.sampleRateHz > maxSampleRateHz) { maxSampleRateHz = subConfig.sampleRateHz; } + if (subConfig.resolution < minRequiredResolution) { + minRequiredResolution = subConfig.resolution; + } if (!subConfig.enableVur) { // If one client does not enable variable update rate, we cannot enable variable update // rate in IVehicleHardware. @@ -97,14 +111,12 @@ void ContSubConfigs::refreshCombinedConfig() { } } mMaxSampleRateHz = maxSampleRateHz; + mMinRequiredResolution = minRequiredResolution; mEnableVur = enableVur; } -void ContSubConfigs::addClient(const ClientIdType& clientId, float sampleRateHz, bool enableVur) { - mConfigByClient[clientId] = { - .sampleRateHz = sampleRateHz, - .enableVur = enableVur, - }; +void ContSubConfigs::addClient(const ClientIdType& clientId, const SubConfig& subConfig) { + mConfigByClient[clientId] = subConfig; refreshCombinedConfig(); } @@ -117,12 +129,26 @@ float ContSubConfigs::getMaxSampleRateHz() const { return mMaxSampleRateHz; } +float ContSubConfigs::getMinRequiredResolution() const { + return mMinRequiredResolution; +} + bool ContSubConfigs::isVurEnabled() const { return mEnableVur; } -bool ContSubConfigs::isVurEnabledForClient(const ClientIdType& clientId) { - return mConfigByClient[clientId].enableVur; +bool ContSubConfigs::isVurEnabledForClient(const ClientIdType& clientId) const { + if (mConfigByClient.find(clientId) == mConfigByClient.end()) { + return false; + } + return mConfigByClient.at(clientId).enableVur; +} + +float ContSubConfigs::getResolutionForClient(const ClientIdType& clientId) const { + if (mConfigByClient.find(clientId) == mConfigByClient.end()) { + return 0.0f; + } + return mConfigByClient.at(clientId).resolution; } VhalResult SubscriptionManager::addOnChangeSubscriberLocked( @@ -135,7 +161,8 @@ VhalResult SubscriptionManager::addOnChangeSubscriberLocked( int32_t propId = propIdAreaId.propId; int32_t areaId = propIdAreaId.areaId; if (auto status = mVehicleHardware->subscribe( - newSubscribeOptions(propId, areaId, /*updateRateHz=*/0, /*enableVur*/ false)); + newSubscribeOptions(propId, areaId, /*updateRateHz=*/0, /*resolution*/ 0.0f, + /*enableVur*/ false)); status != StatusCode::OK) { return StatusError(status) << StringPrintf("failed subscribe for prop: %s, areaId: %" PRId32, @@ -146,10 +173,15 @@ VhalResult SubscriptionManager::addOnChangeSubscriberLocked( VhalResult SubscriptionManager::addContinuousSubscriberLocked( const ClientIdType& clientId, const PropIdAreaId& propIdAreaId, float sampleRateHz, - bool enableVur) { + float resolution, bool enableVur) { // Make a copy so that we don't modify 'mContSubConfigsByPropIdArea' on failure cases. ContSubConfigs newConfig = mContSubConfigsByPropIdArea[propIdAreaId]; - newConfig.addClient(clientId, sampleRateHz, enableVur); + SubConfig subConfig = { + .sampleRateHz = sampleRateHz, + .resolution = resolution, + .enableVur = enableVur, + }; + newConfig.addClient(clientId, subConfig); return updateContSubConfigsLocked(propIdAreaId, newConfig); } @@ -183,7 +215,10 @@ VhalResult SubscriptionManager::updateContSubConfigsLocked(const PropIdAre const auto& oldConfig = mContSubConfigsByPropIdArea[propIdAreaId]; float newRateHz = newConfig.getMaxSampleRateHz(); float oldRateHz = oldConfig.getMaxSampleRateHz(); - if (newRateHz == oldRateHz && newConfig.isVurEnabled() == oldConfig.isVurEnabled()) { + float newResolution = newConfig.getMinRequiredResolution(); + float oldResolution = oldConfig.getMinRequiredResolution(); + if (newRateHz == oldRateHz && newResolution == oldResolution && + newConfig.isVurEnabled() == oldConfig.isVurEnabled()) { mContSubConfigsByPropIdArea[propIdAreaId] = newConfig; return {}; } @@ -199,8 +234,8 @@ VhalResult SubscriptionManager::updateContSubConfigsLocked(const PropIdAre } } if (newRateHz != 0) { - if (auto status = mVehicleHardware->subscribe( - newSubscribeOptions(propId, areaId, newRateHz, newConfig.isVurEnabled())); + if (auto status = mVehicleHardware->subscribe(newSubscribeOptions( + propId, areaId, newRateHz, newResolution, newConfig.isVurEnabled())); status != StatusCode::OK) { return StatusError(status) << StringPrintf( "failed subscribe for prop: %s, areaId" @@ -231,6 +266,11 @@ VhalResult SubscriptionManager::subscribe(const std::shared_ptr SubscriptionManager::subscribe(const std::shared_ptr result; if (isContinuousProperty) { result = addContinuousSubscriberLocked(clientId, propIdAreaId, option.sampleRate, + option.resolution, option.enableVariableUpdateRate); } else { result = addOnChangeSubscriberLocked(propIdAreaId); @@ -393,15 +434,19 @@ SubscriptionManager::getSubscribedClients(std::vector&& update for (const auto& [client, callback] : mClientsByPropIdAreaId[propIdAreaId]) { auto& subConfigs = mContSubConfigsByPropIdArea[propIdAreaId]; + // Clients must be sent different VehiclePropValues with different levels of granularity + // as requested by the client using resolution. + VehiclePropValue newValue = value; + sanitizeByResolution(&(newValue.value), subConfigs.getResolutionForClient(client)); // If client wants VUR (and VUR is supported as checked in DefaultVehicleHal), it is // possible that VUR is not enabled in IVehicleHardware because another client does not // enable VUR. We will implement VUR filtering here for the client that enables it. if (subConfigs.isVurEnabledForClient(client) && !subConfigs.isVurEnabled()) { - if (isValueUpdatedLocked(callback, value)) { - clients[callback].push_back(value); + if (isValueUpdatedLocked(callback, newValue)) { + clients[callback].push_back(newValue); } } else { - clients[callback].push_back(value); + clients[callback].push_back(newValue); } } } diff --git a/automotive/vehicle/aidl/impl/vhal/test/SubscriptionManagerTest.cpp b/automotive/vehicle/aidl/impl/vhal/test/SubscriptionManagerTest.cpp index aa5f003dec..f3772022e8 100644 --- a/automotive/vehicle/aidl/impl/vhal/test/SubscriptionManagerTest.cpp +++ b/automotive/vehicle/aidl/impl/vhal/test/SubscriptionManagerTest.cpp @@ -520,6 +520,14 @@ TEST_F(SubscriptionManagerTest, testCheckSampleRateHzInvalidZero) { ASSERT_FALSE(SubscriptionManager::checkSampleRateHz(0)); } +TEST_F(SubscriptionManagerTest, testCheckResolutionValid) { + ASSERT_TRUE(SubscriptionManager::checkResolution(1.0)); +} + +TEST_F(SubscriptionManagerTest, testCheckResolutionInvalid) { + ASSERT_FALSE(SubscriptionManager::checkResolution(2.0)); +} + TEST_F(SubscriptionManagerTest, testSubscribe_enableVur) { std::vector options = {{ .propId = 0, @@ -641,6 +649,102 @@ TEST_F(SubscriptionManagerTest, testSubscribe_enableVur_filterUnchangedEvents) { << "Must filter out property events if VUR is enabled"; } +TEST_F(SubscriptionManagerTest, testSubscribe_enableVur_filterUnchangedEvents_withResolution) { + SpAIBinder binder1 = ndk::SharedRefBase::make()->asBinder(); + std::shared_ptr client1 = IVehicleCallback::fromBinder(binder1); + SpAIBinder binder2 = ndk::SharedRefBase::make()->asBinder(); + std::shared_ptr client2 = IVehicleCallback::fromBinder(binder2); + SubscribeOptions client1Option = { + .propId = 0, + .areaIds = {0}, + .sampleRate = 10.0, + .resolution = 0.01, + .enableVariableUpdateRate = false, + }; + auto result = getManager()->subscribe(client1, {client1Option}, true); + ASSERT_TRUE(result.ok()) << "failed to subscribe: " << result.error().message(); + + ASSERT_THAT(getHardware()->getSubscribeOptions(), UnorderedElementsAre(client1Option)); + + getHardware()->clearSubscribeOptions(); + SubscribeOptions client2Option = { + .propId = 0, + .areaIds = {0, 1}, + .sampleRate = 20.0, + .resolution = 0.1, + .enableVariableUpdateRate = true, + }; + + result = getManager()->subscribe(client2, {client2Option}, true); + ASSERT_TRUE(result.ok()) << "failed to subscribe: " << result.error().message(); + + ASSERT_THAT(getHardware()->getSubscribeOptions(), + UnorderedElementsAre( + SubscribeOptions{ + .propId = 0, + .areaIds = {0}, + .sampleRate = 20.0, + .resolution = 0.01, + // This is enabled for client2, but disabled for client1. + .enableVariableUpdateRate = false, + }, + SubscribeOptions{ + .propId = 0, + .areaIds = {1}, + .sampleRate = 20.0, + .resolution = 0.1, + .enableVariableUpdateRate = true, + })); + + std::vector propertyEvents = {{ + .prop = 0, + .areaId = 0, + .value = {.floatValues = {1.0}}, + .timestamp = 1, + }, + { + .prop = 0, + .areaId = 1, + .value = {.floatValues = {1.0}}, + .timestamp = 1, + }}; + auto clients = + getManager()->getSubscribedClients(std::vector(propertyEvents)); + + ASSERT_THAT(clients[client1], UnorderedElementsAre(propertyEvents[0])); + ASSERT_THAT(clients[client2], UnorderedElementsAre(propertyEvents[0], propertyEvents[1])); + + clients = getManager()->getSubscribedClients({{ + .prop = 0, + .areaId = 0, + .value = {.floatValues = {1.01}}, + .timestamp = 2, + }}); + + ASSERT_FALSE(clients.find(client1) == clients.end()) + << "Must not filter out property events if VUR is not enabled"; + ASSERT_TRUE(clients.find(client2) == clients.end()) + << "Must filter out property events if VUR is enabled and change is too small"; + ASSERT_TRUE(abs(clients[client1][0].value.floatValues[0] - 1.01) < 0.0000001) + << "Expected property value == 1.01, instead got " + << clients[client1][0].value.floatValues[0]; + + clients = getManager()->getSubscribedClients({{ + .prop = 0, + .areaId = 1, + .value = {.floatValues = {1.06}}, + .timestamp = 3, + }}); + + ASSERT_TRUE(clients.find(client1) == clients.end()) + << "Must not get property events for an areaId that the client hasn't subscribed to"; + ASSERT_FALSE(clients.find(client2) == clients.end()) + << "Must get property events significant changes"; + ASSERT_TRUE(abs(clients[client2][0].value.floatValues[0] - 1.1) < 0.0000001) + << "Expected property value == 1.1, instead got " + << clients[client2][0].value.floatValues[0]; +} + TEST_F(SubscriptionManagerTest, testSubscribe_enableVur_mustNotFilterStatusChange) { SpAIBinder binder1 = ndk::SharedRefBase::make()->asBinder(); std::shared_ptr client1 = IVehicleCallback::fromBinder(binder1); From cb59b0522b610dc3bb72ee9d2d0d8169a7860742 Mon Sep 17 00:00:00 2001 From: shrikar Date: Thu, 8 Feb 2024 21:11:53 +0000 Subject: [PATCH 180/198] Added resolution check in DefaultVehicleHal Bug: 276124296 Test: atest DefaultVehicleHalTest Change-Id: If53c6395a8ea9656e6b59a43872a0d9f6871dac5 --- .../vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp | 4 ++++ .../vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp b/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp index cc5edcc49c..a29861f475 100644 --- a/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp +++ b/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp @@ -722,6 +722,10 @@ VhalResult DefaultVehicleHal::checkSubscribeOptions( return StatusError(StatusCode::INVALID_ARG) << "invalid sample rate: " << sampleRateHz << " HZ"; } + if (!SubscriptionManager::checkResolution(option.resolution)) { + return StatusError(StatusCode::INVALID_ARG) + << "invalid resolution: " << option.resolution; + } } } return {}; diff --git a/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp b/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp index bb82108c1a..11a8fc7ac1 100644 --- a/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp +++ b/automotive/vehicle/aidl/impl/vhal/test/DefaultVehicleHalTest.cpp @@ -233,6 +233,14 @@ std::vector getSubscribeInvalidOptionsTestCases .sampleRate = 0.0, }, }, + { + .name = "invalid_resolution", + .option = + { + .propId = GLOBAL_CONTINUOUS_PROP, + .resolution = 2.0, + }, + }, { .name = "static_property", .option = From 4fe58519f6693bf09392d5e8bdf4003a6ec19deb Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Wed, 21 Feb 2024 19:00:25 +0000 Subject: [PATCH 181/198] Add VTS test for add/remove QoS policy with traffic characteristics. Bug: 319313500 Test: atest VtsHalWifiSupplicantStaIfaceTargetTest Change-Id: Ie3e270c210a0d29b98428418f2bbcade594784ba --- .../supplicant_sta_iface_aidl_test.cpp | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp b/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp index a2338d8bf3..58f9be8ded 100644 --- a/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp +++ b/wifi/supplicant/aidl/vts/functional/supplicant_sta_iface_aidl_test.cpp @@ -44,6 +44,9 @@ using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaNetwork; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; using aidl::android::hardware::wifi::supplicant::MscsParams; +using aidl::android::hardware::wifi::supplicant::QosCharacteristics; +using aidl::android::hardware::wifi::supplicant::QosPolicyScsData; +using aidl::android::hardware::wifi::supplicant::QosPolicyScsRequestStatus; using aidl::android::hardware::wifi::supplicant::WpaDriverCapabilitiesMask; using aidl::android::hardware::wifi::supplicant::WpsConfigMethods; using android::ProcessState; @@ -807,6 +810,39 @@ TEST_P(SupplicantStaIfaceAidlTest, ConfigureAndDisableMscs) { EXPECT_TRUE(sta_iface_->disableMscs().isOk()); } +/* + * Add and remove QoS policy with traffic characteristics + */ +TEST_P(SupplicantStaIfaceAidlTest, AddAndRemoveQosWithTrafficChars) { + if (interface_version_ < 3) { + GTEST_SKIP() << "QosCharacteristics is available as of Supplicant V3"; + } + + QosCharacteristics qosChars; + qosChars.minServiceIntervalUs = 2000; + qosChars.maxServiceIntervalUs = 5000; + qosChars.minDataRateKbps = 500; + qosChars.delayBoundUs = 200; + qosChars.optionalFieldMask = 0; // no optional fields + + uint8_t policyId = 5; + QosPolicyScsData qosPolicy; + qosPolicy.policyId = policyId; + qosPolicy.direction = QosPolicyScsData::LinkDirection::UPLINK; + qosPolicy.QosCharacteristics = qosChars; + + std::vector policyIdList{policyId}; + std::vector policyList{qosPolicy}; + std::vector responseList; + + // Check that we receive some reply for this request. + // Policy may not be accepted (ex. policy with this id already exists). + EXPECT_TRUE(sta_iface_->addQosPolicyRequestForScs(policyList, &responseList).isOk()); + EXPECT_EQ(1, responseList.size()); + EXPECT_TRUE(sta_iface_->removeQosPolicyForScs(policyIdList, &responseList).isOk()); + EXPECT_EQ(1, responseList.size()); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(SupplicantStaIfaceAidlTest); INSTANTIATE_TEST_SUITE_P(Supplicant, SupplicantStaIfaceAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames( From 2ccf70f5693ffad883b24f1f5abc1b280c7494cb Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Wed, 14 Feb 2024 22:52:58 +0000 Subject: [PATCH 182/198] Temporarily print the size of all variable-length fields in StaLinkLayerStats. Will be used to verify whether abnormally large instances of this class can cause getLinkLayerStats to fail with an IllegalArgumentException. Bug: 324519882 Test: Manual test: 1. Reboot device 2. Connect to wifi 3. Verify logged link layer stats Change-Id: I9378c7e4c2befd98743eb0752fe00cd322110c0f --- wifi/aidl/default/aidl_struct_util.cpp | 35 ++++++++++++++++++++++++++ wifi/aidl/default/aidl_struct_util.h | 1 + wifi/aidl/default/wifi_sta_iface.cpp | 1 + 3 files changed, 37 insertions(+) diff --git a/wifi/aidl/default/aidl_struct_util.cpp b/wifi/aidl/default/aidl_struct_util.cpp index 0f0c77e171..d9e023c80e 100644 --- a/wifi/aidl/default/aidl_struct_util.cpp +++ b/wifi/aidl/default/aidl_struct_util.cpp @@ -1085,6 +1085,41 @@ bool convertLegacyLinkLayerStatsToAidl(const legacy_hal::LinkLayerStats& legacy_ return true; } +// TODO (b/324519882): Remove logs after validating the structure size. +void logAidlLinkLayerStatsSize(StaLinkLayerStats& aidl_stats) { + unsigned long expectedMaxRadios = 5; + unsigned long expectedMaxLinks = 5; + unsigned long expectedMaxChannelStats = 512; + unsigned long expectedMaxPeers = 3; + unsigned long expectedMaxRateStats = 1024; + + unsigned long maxChannelStats = 0, maxPeers = 0, maxRateStats = 0; + for (size_t i = 0; i < aidl_stats.radios.size(); i++) { + maxChannelStats = + std::max(maxChannelStats, (unsigned long)aidl_stats.radios[i].channelStats.size()); + } + for (size_t i = 0; i < aidl_stats.iface.links.size(); i++) { + maxPeers = std::max(maxPeers, (unsigned long)aidl_stats.iface.links[i].peers.size()); + for (size_t j = 0; j < aidl_stats.iface.links[i].peers.size(); j++) { + maxRateStats = + std::max(maxRateStats, + (unsigned long)aidl_stats.iface.links[i].peers[j].rateStats.size()); + } + } + + if (aidl_stats.radios.size() > expectedMaxRadios || + aidl_stats.iface.links.size() > expectedMaxLinks || + maxChannelStats > expectedMaxChannelStats || maxPeers > expectedMaxPeers || + maxRateStats > expectedMaxRateStats) { + LOG(INFO) << "StaLinkLayerStats exceeds expected vector size"; + LOG(INFO) << " numRadios: " << aidl_stats.radios.size(); + LOG(INFO) << " numLinks: " << aidl_stats.iface.links.size(); + LOG(INFO) << " maxChannelStats: " << maxChannelStats; + LOG(INFO) << " maxPeers: " << maxPeers; + LOG(INFO) << " maxRateStats: " << maxRateStats; + } +} + bool convertLegacyPeerInfoStatsToAidl(const legacy_hal::WifiPeerInfo& legacy_peer_info_stats, StaPeerInfo* aidl_peer_info_stats) { if (!aidl_peer_info_stats) { diff --git a/wifi/aidl/default/aidl_struct_util.h b/wifi/aidl/default/aidl_struct_util.h index 708936354a..2574f9546b 100644 --- a/wifi/aidl/default/aidl_struct_util.h +++ b/wifi/aidl/default/aidl_struct_util.h @@ -94,6 +94,7 @@ bool convertLegacyLinkLayerMlStatsToAidl(const legacy_hal::LinkLayerMlStats& leg StaLinkLayerStats* aidl_stats); bool convertLegacyLinkLayerStatsToAidl(const legacy_hal::LinkLayerStats& legacy_stats, StaLinkLayerStats* aidl_stats); +void logAidlLinkLayerStatsSize(StaLinkLayerStats& aidl_stats); bool convertLegacyRoamingCapabilitiesToAidl( const legacy_hal::wifi_roaming_capabilities& legacy_caps, StaRoamingCapabilities* aidl_caps); diff --git a/wifi/aidl/default/wifi_sta_iface.cpp b/wifi/aidl/default/wifi_sta_iface.cpp index f0509dc19e..aee183d429 100644 --- a/wifi/aidl/default/wifi_sta_iface.cpp +++ b/wifi/aidl/default/wifi_sta_iface.cpp @@ -435,6 +435,7 @@ std::pair WifiStaIface::getLinkLayerStats } else { return {StaLinkLayerStats{}, createWifiStatus(WifiStatusCode::ERROR_UNKNOWN)}; } + aidl_struct_util::logAidlLinkLayerStatsSize(aidl_stats); return {aidl_stats, ndk::ScopedAStatus::ok()}; } From 9f982fb81585154fc8e0e199bcd50cb394bea17a Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 15 Feb 2024 16:16:42 -0800 Subject: [PATCH 183/198] Support Enter Garage Mode in remote access HAL. Handles task type in reference remote access HAL and passes to remote access server through GRPC. Update host-side TestWakeupClientService to handle vehicleInUse and ApPowerBootupReason VHAL properties. Update reference VHAL to get the property values rom a remote grpc server. Test: atest --host TestWakeupClientServiceImplUnitTest Manual run TestWakeupClientServerHost verifies that reference VHAL can get power properties. Bug: 316233421 Change-Id: I188aa9eed2dedb3b81b4eb6f5685ca33b646b2f5 --- .../hal/default/proto/wakeup_client.proto | 28 ++++ .../hal/default/src/RemoteAccessService.cpp | 5 +- .../include/TestWakeupClientServiceImpl.h | 122 ++++++++++++++--- .../impl/src/TestWakeupClientServiceImpl.cpp | 125 +++++++++++------- .../test_grpc_server/impl/src/main.cpp | 58 ++++---- .../TestWakeupClientServiceImplUnitTest.cpp | 20 ++- .../JsonConfigLoader/src/JsonConfigLoader.cpp | 3 + .../config/DefaultProperties.json | 8 ++ .../aidl/impl/fake_impl/hardware/Android.bp | 12 +- .../hardware/include/FakeVehicleHardware.h | 7 + .../hardware/src/FakeVehicleHardware.cpp | 73 ++++++++++ .../impl/fake_impl/hardware/test/Android.bp | 2 + .../hardware/test/FakeVehicleHardwareTest.cpp | 6 + .../utils/common/include/VehicleHalTypes.h | 1 + 14 files changed, 362 insertions(+), 108 deletions(-) diff --git a/automotive/remoteaccess/hal/default/proto/wakeup_client.proto b/automotive/remoteaccess/hal/default/proto/wakeup_client.proto index 14ba0a5e74..8ff6059009 100644 --- a/automotive/remoteaccess/hal/default/proto/wakeup_client.proto +++ b/automotive/remoteaccess/hal/default/proto/wakeup_client.proto @@ -124,6 +124,11 @@ message ScheduleTaskResponse { ErrorCode errorCode = 1; } +enum ScheduleTaskType { + CUSTOM = 0; + ENTER_GARAGE_MODE = 1; +} + message GrpcScheduleInfo { string clientId = 1; string scheduleId = 2; @@ -131,6 +136,7 @@ message GrpcScheduleInfo { int32 count = 4; int64 startTimeInEpochSeconds = 5; int64 periodicInSeconds = 6; + ScheduleTaskType taskType = 7; } message UnscheduleTaskRequest { @@ -162,3 +168,25 @@ message GetAllPendingScheduledTasksRequest { message GetAllPendingScheduledTasksResponse { repeated GrpcScheduleInfo allScheduledTasks = 1; } + +/** + * Service provided by a power controller unit. + */ +service PowerController { + rpc IsVehicleInUse(IsVehicleInUseRequest) returns (IsVehicleInUseResponse) {} + + rpc GetApPowerBootupReason(GetApPowerBootupReasonRequest) + returns (GetApPowerBootupReasonResponse) {} +} + +message IsVehicleInUseRequest {} + +message IsVehicleInUseResponse { + bool isVehicleInUse = 1; +} + +message GetApPowerBootupReasonRequest {} + +message GetApPowerBootupReasonResponse { + int32 bootupReason = 1; +} diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp index dbd5bed7df..91689b17da 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessService.cpp @@ -346,8 +346,8 @@ ndk::ScopedAStatus RemoteAccessService::getSupportedTaskTypesForScheduling( return ScopedAStatus::ok(); } - // TODO(b/316233421): support ENTER_GARAGE_MODE type. out->push_back(TaskType::CUSTOM); + out->push_back(TaskType::ENTER_GARAGE_MODE); return ScopedAStatus::ok(); } @@ -380,6 +380,8 @@ ScopedAStatus RemoteAccessService::scheduleTask(const ScheduleInfo& scheduleInfo } request.mutable_scheduleinfo()->set_clientid(scheduleInfo.clientId); + request.mutable_scheduleinfo()->set_tasktype( + static_cast(scheduleInfo.taskType)); request.mutable_scheduleinfo()->set_scheduleid(scheduleInfo.scheduleId); request.mutable_scheduleinfo()->set_data(scheduleInfo.taskData.data(), scheduleInfo.taskData.size()); @@ -485,6 +487,7 @@ ScopedAStatus RemoteAccessService::getAllPendingScheduledTasks(const std::string const GrpcScheduleInfo& rpcScheduleInfo = response.allscheduledtasks(i); ScheduleInfo scheduleInfo = { .clientId = rpcScheduleInfo.clientid(), + .taskType = static_cast(rpcScheduleInfo.tasktype()), .scheduleId = rpcScheduleInfo.scheduleid(), .taskData = stringToBytes(rpcScheduleInfo.data()), .count = rpcScheduleInfo.count(), diff --git a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h index 41cc5d0035..74245717d3 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h +++ b/automotive/remoteaccess/test_grpc_server/impl/include/TestWakeupClientServiceImpl.h @@ -30,6 +30,11 @@ namespace hardware { namespace automotive { namespace remoteaccess { +// The following are the same as VehicleApPowerBootupReason defined in VHAL. +constexpr int32_t BOOTUP_REASON_USER_POWER_ON = 0; +constexpr int32_t BOOTUP_REASON_SYSTEM_REMOTE_ACCESS = 2; +constexpr int32_t BOOTUP_REASON_SYSTEM_ENTER_GARAGE_MODE = 3; + // A class to generate fake task for testing. Not required for real implementation. In real // implementation, the task should come from remote task server. This class is thread-safe. class FakeTaskGenerator final { @@ -98,50 +103,57 @@ class TaskQueue final { }; // forward-declaration -class TestWakeupClientServiceImpl; +class ServiceImpl; class TaskScheduleMsgHandler final : public android::MessageHandler { public: - TaskScheduleMsgHandler(TestWakeupClientServiceImpl* mImpl); + TaskScheduleMsgHandler(ServiceImpl* impl); void handleMessage(const android::Message& message) override; private: - TestWakeupClientServiceImpl* mImpl; + ServiceImpl* mImpl; }; -class TestWakeupClientServiceImpl : public WakeupClient::Service { +class ServiceImpl { public: - TestWakeupClientServiceImpl(); + ServiceImpl(); - ~TestWakeupClientServiceImpl(); + virtual ~ServiceImpl() = 0; // Stop the handling for all income requests. Prepare for shutdown. void stopServer(); grpc::Status GetRemoteTasks(grpc::ServerContext* context, const GetRemoteTasksRequest* request, - grpc::ServerWriter* writer) override; + grpc::ServerWriter* writer); grpc::Status NotifyWakeupRequired(grpc::ServerContext* context, const NotifyWakeupRequiredRequest* request, - NotifyWakeupRequiredResponse* response) override; + NotifyWakeupRequiredResponse* response); grpc::Status ScheduleTask(grpc::ServerContext* context, const ScheduleTaskRequest* request, - ScheduleTaskResponse* response) override; + ScheduleTaskResponse* response); grpc::Status UnscheduleTask(grpc::ServerContext* context, const UnscheduleTaskRequest* request, - UnscheduleTaskResponse* response) override; + UnscheduleTaskResponse* response); grpc::Status UnscheduleAllTasks(grpc::ServerContext* context, const UnscheduleAllTasksRequest* request, - UnscheduleAllTasksResponse* response) override; + UnscheduleAllTasksResponse* response); grpc::Status IsTaskScheduled(grpc::ServerContext* context, const IsTaskScheduledRequest* request, - IsTaskScheduledResponse* response) override; + IsTaskScheduledResponse* response); - grpc::Status GetAllPendingScheduledTasks( - grpc::ServerContext* context, const GetAllPendingScheduledTasksRequest* request, - GetAllPendingScheduledTasksResponse* response) override; + grpc::Status GetAllPendingScheduledTasks(grpc::ServerContext* context, + const GetAllPendingScheduledTasksRequest* request, + GetAllPendingScheduledTasksResponse* response); + + grpc::Status IsVehicleInUse(grpc::ServerContext* context, const IsVehicleInUseRequest* request, + IsVehicleInUseResponse* response); + + grpc::Status GetApPowerBootupReason(grpc::ServerContext* context, + const GetApPowerBootupReasonRequest* request, + GetApPowerBootupReasonResponse* response); /** * Starts generating fake tasks for the specific client repeatedly. @@ -177,7 +189,7 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { * This must be implemented by child class and contains device specific logic. E.g. this might * be sending QEMU commands for the emulator device. */ - virtual void wakeupApplicationProcessor() = 0; + virtual void wakeupApplicationProcessor(int32_t bootupReason) = 0; /** * Cleans up a scheduled task info. @@ -185,6 +197,16 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { void cleanupScheduledTaskLocked(const std::string& clientId, const std::string& scheduleId) REQUIRES(mLock); + /** + * Sets whether vehicle is in use. + */ + void setVehicleInUse(bool vehicleInUse); + + /** + * Sets the bootup reason. + */ + void setBootupReason(int32_t bootupReason); + private: friend class TaskScheduleMsgHandler; @@ -218,6 +240,8 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { std::atomic mServerStopped = false; std::unordered_map> mInfoByScheduleIdByClientId GUARDED_BY(mLock); + std::atomic mVehicleInUse = false; + std::atomic mBootupReason = BOOTUP_REASON_USER_POWER_ON; // Thread-safe. For test impl only. FakeTaskGenerator mFakeTaskGenerator; @@ -232,6 +256,72 @@ class TestWakeupClientServiceImpl : public WakeupClient::Service { void loop(); }; +class WakeupClientServiceImpl : public WakeupClient::Service { + public: + WakeupClientServiceImpl(ServiceImpl* impl) { mImpl = impl; } + + grpc::Status GetRemoteTasks(grpc::ServerContext* context, const GetRemoteTasksRequest* request, + grpc::ServerWriter* writer) override { + return mImpl->GetRemoteTasks(context, request, writer); + } + + grpc::Status NotifyWakeupRequired(grpc::ServerContext* context, + const NotifyWakeupRequiredRequest* request, + NotifyWakeupRequiredResponse* response) override { + return mImpl->NotifyWakeupRequired(context, request, response); + } + + grpc::Status ScheduleTask(grpc::ServerContext* context, const ScheduleTaskRequest* request, + ScheduleTaskResponse* response) override { + return mImpl->ScheduleTask(context, request, response); + } + + grpc::Status UnscheduleTask(grpc::ServerContext* context, const UnscheduleTaskRequest* request, + UnscheduleTaskResponse* response) override { + return mImpl->UnscheduleTask(context, request, response); + } + + grpc::Status UnscheduleAllTasks(grpc::ServerContext* context, + const UnscheduleAllTasksRequest* request, + UnscheduleAllTasksResponse* response) override { + return mImpl->UnscheduleAllTasks(context, request, response); + } + + grpc::Status IsTaskScheduled(grpc::ServerContext* context, + const IsTaskScheduledRequest* request, + IsTaskScheduledResponse* response) override { + return mImpl->IsTaskScheduled(context, request, response); + } + + grpc::Status GetAllPendingScheduledTasks( + grpc::ServerContext* context, const GetAllPendingScheduledTasksRequest* request, + GetAllPendingScheduledTasksResponse* response) override { + return mImpl->GetAllPendingScheduledTasks(context, request, response); + } + + private: + ServiceImpl* mImpl; +}; + +class PowerControllerServiceImpl : public PowerController::Service { + public: + PowerControllerServiceImpl(ServiceImpl* impl) { mImpl = impl; } + + grpc::Status IsVehicleInUse(grpc::ServerContext* context, const IsVehicleInUseRequest* request, + IsVehicleInUseResponse* response) override { + return mImpl->IsVehicleInUse(context, request, response); + } + + grpc::Status GetApPowerBootupReason(grpc::ServerContext* context, + const GetApPowerBootupReasonRequest* request, + GetApPowerBootupReasonResponse* response) override { + return mImpl->GetApPowerBootupReason(context, request, response); + } + + private: + ServiceImpl* mImpl; +}; + } // namespace remoteaccess } // namespace automotive } // namespace hardware diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp index eed3495575..5d33fcb632 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/TestWakeupClientServiceImpl.cpp @@ -38,7 +38,7 @@ using ::grpc::ServerWriter; using ::grpc::Status; constexpr int64_t kTaskIntervalInMs = 5'000; -constexpr int64_t kTaskTimeoutInMs = 20'000; +constexpr int64_t kTaskTimeoutInMs = 60'000; int64_t msToNs(int64_t ms) { return std::chrono::duration_cast(std::chrono::milliseconds(ms)) @@ -140,21 +140,21 @@ void TaskQueue::handleTaskTimeout() { } } -TestWakeupClientServiceImpl::TestWakeupClientServiceImpl() { +ServiceImpl::ServiceImpl() { mTaskScheduleMsgHandler = android::sp::make(this); mLooper = android::sp::make(/*opts=*/0); mLooperThread = std::thread([this] { loop(); }); mTaskQueue = std::make_unique(mLooper); } -TestWakeupClientServiceImpl::~TestWakeupClientServiceImpl() { +ServiceImpl::~ServiceImpl() { if (mServerStopped) { return; } stopServer(); } -void TestWakeupClientServiceImpl::stopServer() { +void ServiceImpl::stopServer() { mTaskQueue->stopWait(); stopGeneratingFakeTask(); // Set the flag so that the loop thread will exit. @@ -165,7 +165,7 @@ void TestWakeupClientServiceImpl::stopServer() { } } -void TestWakeupClientServiceImpl::loop() { +void ServiceImpl::loop() { Looper::setForThread(mLooper); while (true) { @@ -176,23 +176,22 @@ void TestWakeupClientServiceImpl::loop() { } } -void TestWakeupClientServiceImpl::injectTask(const std::string& taskData, - const std::string& clientId) { +void ServiceImpl::injectTask(const std::string& taskData, const std::string& clientId) { GetRemoteTasksResponse response; response.set_data(taskData); response.set_clientid(clientId); injectTaskResponse(response); } -void TestWakeupClientServiceImpl::injectTaskResponse(const GetRemoteTasksResponse& response) { +void ServiceImpl::injectTaskResponse(const GetRemoteTasksResponse& response) { printf("Receive a new task\n"); mTaskQueue->add(response); if (mWakeupRequired) { - wakeupApplicationProcessor(); + wakeupApplicationProcessor(BOOTUP_REASON_SYSTEM_REMOTE_ACCESS); } } -void TestWakeupClientServiceImpl::startGeneratingFakeTask(const std::string& clientId) { +void ServiceImpl::startGeneratingFakeTask(const std::string& clientId) { std::lock_guard lockGuard(mLock); if (mGeneratingFakeTask) { printf("Fake task is already being generated\n"); @@ -203,7 +202,7 @@ void TestWakeupClientServiceImpl::startGeneratingFakeTask(const std::string& cli printf("Started generating fake tasks\n"); } -void TestWakeupClientServiceImpl::stopGeneratingFakeTask() { +void ServiceImpl::stopGeneratingFakeTask() { { std::lock_guard lockGuard(mLock); if (!mGeneratingFakeTask) { @@ -219,7 +218,7 @@ void TestWakeupClientServiceImpl::stopGeneratingFakeTask() { printf("Stopped generating fake tasks\n"); } -void TestWakeupClientServiceImpl::fakeTaskGenerateLoop(const std::string& clientId) { +void ServiceImpl::fakeTaskGenerateLoop(const std::string& clientId) { // In actual implementation, this should communicate with the remote server and receives tasks // from it. Here we simulate receiving one remote task every {kTaskIntervalInMs}ms. while (true) { @@ -237,9 +236,8 @@ void TestWakeupClientServiceImpl::fakeTaskGenerateLoop(const std::string& client } } -Status TestWakeupClientServiceImpl::GetRemoteTasks(ServerContext* context, - const GetRemoteTasksRequest* request, - ServerWriter* writer) { +Status ServiceImpl::GetRemoteTasks(ServerContext* context, const GetRemoteTasksRequest* request, + ServerWriter* writer) { printf("GetRemoteTasks called\n"); mRemoteTaskConnectionAlive = true; while (true) { @@ -277,15 +275,15 @@ Status TestWakeupClientServiceImpl::GetRemoteTasks(ServerContext* context, return Status::CANCELLED; } -Status TestWakeupClientServiceImpl::NotifyWakeupRequired(ServerContext* context, - const NotifyWakeupRequiredRequest* request, - NotifyWakeupRequiredResponse* response) { +Status ServiceImpl::NotifyWakeupRequired(ServerContext* context, + const NotifyWakeupRequiredRequest* request, + NotifyWakeupRequiredResponse* response) { printf("NotifyWakeupRequired called\n"); if (request->iswakeuprequired() && !mWakeupRequired && !mTaskQueue->isEmpty()) { // If wakeup is now required and previously not required, this means we have finished // shutting down the device. If there are still pending tasks, try waking up AP again // to finish executing those tasks. - wakeupApplicationProcessor(); + wakeupApplicationProcessor(BOOTUP_REASON_SYSTEM_REMOTE_ACCESS); } mWakeupRequired = request->iswakeuprequired(); if (mWakeupRequired) { @@ -296,23 +294,22 @@ Status TestWakeupClientServiceImpl::NotifyWakeupRequired(ServerContext* context, return Status::OK; } -void TestWakeupClientServiceImpl::cleanupScheduledTaskLocked(const std::string& clientId, - const std::string& scheduleId) { +void ServiceImpl::cleanupScheduledTaskLocked(const std::string& clientId, + const std::string& scheduleId) { mInfoByScheduleIdByClientId[clientId].erase(scheduleId); if (mInfoByScheduleIdByClientId[clientId].size() == 0) { mInfoByScheduleIdByClientId.erase(clientId); } } -TaskScheduleMsgHandler::TaskScheduleMsgHandler(TestWakeupClientServiceImpl* impl) : mImpl(impl) {} +TaskScheduleMsgHandler::TaskScheduleMsgHandler(ServiceImpl* impl) : mImpl(impl) {} void TaskScheduleMsgHandler::handleMessage(const android::Message& message) { mImpl->handleAddTask(message.what); } -Status TestWakeupClientServiceImpl::ScheduleTask(ServerContext* context, - const ScheduleTaskRequest* request, - ScheduleTaskResponse* response) { +Status ServiceImpl::ScheduleTask(ServerContext* context, const ScheduleTaskRequest* request, + ScheduleTaskResponse* response) { std::lock_guard lockGuard(mLock); const GrpcScheduleInfo& grpcScheduleInfo = request->scheduleinfo(); @@ -359,8 +356,7 @@ Status TestWakeupClientServiceImpl::ScheduleTask(ServerContext* context, return Status::OK; } -bool TestWakeupClientServiceImpl::getScheduleInfoLocked(int scheduleMsgId, - ScheduleInfo** outScheduleInfoPtr) { +bool ServiceImpl::getScheduleInfoLocked(int scheduleMsgId, ScheduleInfo** outScheduleInfoPtr) { for (auto& [_, infoByScheduleId] : mInfoByScheduleIdByClientId) { for (auto& [_, scheduleInfo] : infoByScheduleId) { if (scheduleInfo.scheduleMsgId == scheduleMsgId) { @@ -372,7 +368,7 @@ bool TestWakeupClientServiceImpl::getScheduleInfoLocked(int scheduleMsgId, return false; } -void TestWakeupClientServiceImpl::handleAddTask(int scheduleMsgId) { +void ServiceImpl::handleAddTask(int scheduleMsgId) { std::lock_guard lockGuard(mLock); ScheduleInfo* scheduleInfoPtr; @@ -385,15 +381,27 @@ void TestWakeupClientServiceImpl::handleAddTask(int scheduleMsgId) { const GrpcScheduleInfo& grpcScheduleInfo = *scheduleInfoPtr->grpcScheduleInfo; const std::string scheduleId = grpcScheduleInfo.scheduleid(); const std::string clientId = grpcScheduleInfo.clientid(); - - GetRemoteTasksResponse injectResponse; - injectResponse.set_data(grpcScheduleInfo.data().data(), grpcScheduleInfo.data().size()); - injectResponse.set_clientid(clientId); - injectTaskResponse(injectResponse); scheduleInfoPtr->currentCount++; + ScheduleTaskType taskType = grpcScheduleInfo.tasktype(); + printf("Sending scheduled tasks for scheduleId: %s, clientId: %s, taskCount: %d, " + "taskType: %d\n", + scheduleId.c_str(), clientId.c_str(), scheduleInfoPtr->currentCount, + static_cast(taskType)); - printf("Sending scheduled tasks for scheduleId: %s, clientId: %s, taskCount: %d\n", - scheduleId.c_str(), clientId.c_str(), scheduleInfoPtr->currentCount); + if (taskType == ScheduleTaskType::ENTER_GARAGE_MODE) { + if (mWakeupRequired) { + wakeupApplicationProcessor(BOOTUP_REASON_SYSTEM_ENTER_GARAGE_MODE); + } else { + printf("Ignore ENTER_GARAGE_MODE task type because the head unit is already running"); + } + } else if (grpcScheduleInfo.tasktype() == ScheduleTaskType::CUSTOM) { + GetRemoteTasksResponse injectResponse; + injectResponse.set_data(grpcScheduleInfo.data().data(), grpcScheduleInfo.data().size()); + injectResponse.set_clientid(clientId); + injectTaskResponse(injectResponse); + } else { + printf("Unknown task type: %d\n", static_cast(taskType)); + } if (scheduleInfoPtr->totalCount != 0 && scheduleInfoPtr->currentCount == scheduleInfoPtr->totalCount) { @@ -407,9 +415,8 @@ void TestWakeupClientServiceImpl::handleAddTask(int scheduleMsgId) { android::Message(scheduleMsgId)); } -Status TestWakeupClientServiceImpl::UnscheduleTask(ServerContext* context, - const UnscheduleTaskRequest* request, - UnscheduleTaskResponse* response) { +Status ServiceImpl::UnscheduleTask(ServerContext* context, const UnscheduleTaskRequest* request, + UnscheduleTaskResponse* response) { std::lock_guard lockGuard(mLock); const std::string& clientId = request->clientid(); @@ -431,9 +438,9 @@ Status TestWakeupClientServiceImpl::UnscheduleTask(ServerContext* context, return Status::OK; } -Status TestWakeupClientServiceImpl::UnscheduleAllTasks(ServerContext* context, - const UnscheduleAllTasksRequest* request, - UnscheduleAllTasksResponse* response) { +Status ServiceImpl::UnscheduleAllTasks(ServerContext* context, + const UnscheduleAllTasksRequest* request, + UnscheduleAllTasksResponse* response) { std::lock_guard lockGuard(mLock); const std::string& clientId = request->clientid(); @@ -452,9 +459,8 @@ Status TestWakeupClientServiceImpl::UnscheduleAllTasks(ServerContext* context, return Status::OK; } -Status TestWakeupClientServiceImpl::IsTaskScheduled(ServerContext* context, - const IsTaskScheduledRequest* request, - IsTaskScheduledResponse* response) { +Status ServiceImpl::IsTaskScheduled(ServerContext* context, const IsTaskScheduledRequest* request, + IsTaskScheduledResponse* response) { std::lock_guard lockGuard(mLock); const std::string& clientId = request->clientid(); @@ -475,9 +481,9 @@ Status TestWakeupClientServiceImpl::IsTaskScheduled(ServerContext* context, return Status::OK; } -Status TestWakeupClientServiceImpl::GetAllPendingScheduledTasks( - ServerContext* context, const GetAllPendingScheduledTasksRequest* request, - GetAllPendingScheduledTasksResponse* response) { +Status ServiceImpl::GetAllPendingScheduledTasks(ServerContext* context, + const GetAllPendingScheduledTasksRequest* request, + GetAllPendingScheduledTasksResponse* response) { const std::string& clientId = request->clientid(); printf("GetAllPendingScheduledTasks called with client Id: %s\n", clientId.c_str()); response->clear_allscheduledtasks(); @@ -493,14 +499,35 @@ Status TestWakeupClientServiceImpl::GetAllPendingScheduledTasks( return Status::OK; } -bool TestWakeupClientServiceImpl::isWakeupRequired() { +Status ServiceImpl::IsVehicleInUse(ServerContext* context, const IsVehicleInUseRequest* request, + IsVehicleInUseResponse* response) { + response->set_isvehicleinuse(mVehicleInUse); + return Status::OK; +} + +Status ServiceImpl::GetApPowerBootupReason(ServerContext* context, + const GetApPowerBootupReasonRequest* request, + GetApPowerBootupReasonResponse* response) { + response->set_bootupreason(mBootupReason); + return Status::OK; +} + +bool ServiceImpl::isWakeupRequired() { return mWakeupRequired; } -bool TestWakeupClientServiceImpl::isRemoteTaskConnectionAlive() { +bool ServiceImpl::isRemoteTaskConnectionAlive() { return mRemoteTaskConnectionAlive; } +void ServiceImpl::setVehicleInUse(bool vehicleInUse) { + mVehicleInUse = vehicleInUse; +} + +void ServiceImpl::setBootupReason(int32_t bootupReason) { + mBootupReason = bootupReason; +} + } // namespace remoteaccess } // namespace automotive } // namespace hardware diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp index 5443ad9c36..63324f3bc5 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp @@ -33,7 +33,12 @@ #include #include -using ::android::hardware::automotive::remoteaccess::TestWakeupClientServiceImpl; +using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_ENTER_GARAGE_MODE; +using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_REMOTE_ACCESS; +using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_USER_POWER_ON; +using ::android::hardware::automotive::remoteaccess::PowerControllerServiceImpl; +using ::android::hardware::automotive::remoteaccess::ServiceImpl; +using ::android::hardware::automotive::remoteaccess::WakeupClientServiceImpl; using ::grpc::Server; using ::grpc::ServerBuilder; using ::grpc::ServerWriter; @@ -48,11 +53,13 @@ const char* COMMAND_SET_VHAL_PROP = pid_t emuPid = 0; -void RunServer(const std::string& serviceAddr, - std::shared_ptr service) { +void RunServer(const std::string& serviceAddr, std::shared_ptr service) { ServerBuilder builder; builder.AddListeningPort(serviceAddr, grpc::InsecureServerCredentials()); - builder.RegisterService(service.get()); + WakeupClientServiceImpl wakeupClientService(service.get()); + builder.RegisterService(&wakeupClientService); + PowerControllerServiceImpl powerControllerService(service.get()); + builder.RegisterService(&powerControllerService); std::unique_ptr server(builder.BuildAndStart()); printf("Test Remote Access GRPC Server listening on %s\n", serviceAddr.c_str()); server->Wait(); @@ -81,20 +88,21 @@ void updateEmuStatus() { } } -bool powerOnEmu() { +bool powerOnEmu(ServiceImpl* service, int32_t bootupReason) { updateEmuStatus(); if (emuPid != 0) { printf("The emulator is already running\n"); return false; } + service->setBootupReason(bootupReason); emuPid = runCommand(COMMAND_RUN_EMU); printf("Emulator started in process: %d\n", emuPid); return true; } -bool powerOn() { +bool powerOn(ServiceImpl* service, int32_t bootupReason) { #ifdef HOST - return powerOnEmu(); + return powerOnEmu(service, bootupReason); #else printf("power on is only supported on host\n"); return false; @@ -133,21 +141,6 @@ void powerOff() { #endif } -void setVehicleInUse(bool vehicleInUse) { -#ifdef HOST - printf("Set vehicleInUse to %d\n", vehicleInUse); - int value = 0; - if (vehicleInUse) { - value = 1; - } - const char* command = getSetPropCommand(VEHICLE_IN_USE, value); - runCommand(command); - delete[] command; -#else - printf("set vehicleInUse is only supported on host\n"); -#endif -} - void help() { std::cout << "Remote Access Host Test Utility" << std::endl << "help:\t" @@ -171,8 +164,7 @@ void help() { << "(only supported on host)" << std::endl; } -void parseCommand(const std::string& userInput, - std::shared_ptr service) { +void parseCommand(const std::string& userInput, std::shared_ptr service) { if (userInput == "") { // ignore empty line. } else if (userInput == "help") { @@ -199,8 +191,10 @@ void parseCommand(const std::string& userInput, printf("isWakeupRequired: %B, isRemoteTaskConnectionAlive: %B\n", service->isWakeupRequired(), service->isRemoteTaskConnectionAlive()); } else if (userInput == "power on") { - powerOn(); + service->setVehicleInUse(true); + powerOn(service.get(), BOOTUP_REASON_USER_POWER_ON); } else if (userInput == "power off") { + service->setVehicleInUse(false); powerOff(); } else if (userInput.rfind("inject task", 0) == 0) { std::stringstream ss; @@ -226,7 +220,7 @@ void parseCommand(const std::string& userInput, printf("Remote task with client ID: %s, data: %s injected\n", clientId.c_str(), taskData.c_str()); } else if (userInput == "set vehicleInUse") { - setVehicleInUse(true); + service->setVehicleInUse(true); } else { printf("Unknown command, see 'help'\n"); } @@ -242,14 +236,11 @@ void saHandler(int signum) { exit(-1); } -class MyTestWakeupClientServiceImpl final : public TestWakeupClientServiceImpl { +class MyServiceImpl final : public ServiceImpl { public: - void wakeupApplicationProcessor() override { + void wakeupApplicationProcessor(int32_t bootupReason) override { #ifdef HOST - if (powerOnEmu()) { - // If we wake up AP to execute remote task, vehicle in use should be false. - setVehicleInUse(false); - } + powerOnEmu(this, bootupReason); #else wakeupAp(); #endif @@ -262,8 +253,7 @@ int main(int argc, char** argv) { serviceAddr = argv[1]; } // Let the server thread run, we will force kill the server when we exit the program. - std::shared_ptr service = - std::make_shared(); + std::shared_ptr service = std::make_shared(); std::thread serverThread([serviceAddr, service] { RunServer(serviceAddr, service); }); // Register the signal handler for SIGTERM and SIGINT so that we can stop the emulator before diff --git a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp index 63458aee6d..4bc008697d 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/test/TestWakeupClientServiceImplUnitTest.cpp @@ -43,9 +43,9 @@ constexpr int64_t kTestStartTimeInEpochSeconds = 2345; constexpr int64_t kTestPeriodicInSeconds = 123; const std::string kTestGrpcAddr = "localhost:50051"; -class MyTestWakeupClientServiceImpl final : public TestWakeupClientServiceImpl { +class MyTestWakeupClientServiceImpl final : public ServiceImpl { public: - void wakeupApplicationProcessor() override { + void wakeupApplicationProcessor([[maybe_unused]] int32_t bootupReason) override { // Do nothing. } }; @@ -54,13 +54,14 @@ class TestWakeupClientServiceImplUnitTest : public ::testing::Test { public: virtual void SetUp() override { mServerThread = std::thread([this] { + mService = std::make_unique(); + ServerBuilder builder; + builder.AddListeningPort(kTestGrpcAddr, grpc::InsecureServerCredentials()); + WakeupClientServiceImpl wakeupClientService(mService.get()); + builder.RegisterService(&wakeupClientService); + mServer = builder.BuildAndStart(); { std::unique_lock lock(mLock); - mService = std::make_unique(); - ServerBuilder builder; - builder.AddListeningPort(kTestGrpcAddr, grpc::InsecureServerCredentials()); - builder.RegisterService(mService.get()); - mServer = builder.BuildAndStart(); mServerStartCv.notify_one(); } mServer->Wait(); @@ -124,6 +125,7 @@ class TestWakeupClientServiceImplUnitTest : public ::testing::Test { std::chrono::system_clock::now().time_since_epoch()) .count(); request.mutable_scheduleinfo()->set_clientid(kTestClientId); + request.mutable_scheduleinfo()->set_tasktype(ScheduleTaskType::CUSTOM); request.mutable_scheduleinfo()->set_scheduleid(scheduleId); request.mutable_scheduleinfo()->set_data(kTestData.data(), kTestData.size()); request.mutable_scheduleinfo()->set_count(count); @@ -156,6 +158,7 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestScheduleTask) { ScheduleTaskResponse response = {}; request.mutable_scheduleinfo()->set_clientid(kTestClientId); + request.mutable_scheduleinfo()->set_tasktype(ScheduleTaskType::CUSTOM); request.mutable_scheduleinfo()->set_scheduleid(kTestScheduleId); request.mutable_scheduleinfo()->set_data(kTestData.data(), kTestData.size()); request.mutable_scheduleinfo()->set_count(2); @@ -191,6 +194,7 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestScheduleTask_conflictScheduleId) request.mutable_scheduleinfo()->set_clientid(kTestClientId); request.mutable_scheduleinfo()->set_scheduleid(kTestScheduleId); + request.mutable_scheduleinfo()->set_tasktype(ScheduleTaskType::CUSTOM); request.mutable_scheduleinfo()->set_data(kTestData.data(), kTestData.size()); request.mutable_scheduleinfo()->set_count(2); request.mutable_scheduleinfo()->set_starttimeinepochseconds(getNow() + 1); @@ -315,6 +319,7 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestGetAllPendingScheduledTasks) { for (int i = 0; i < 2; i++) { EXPECT_EQ(response2.allscheduledtasks(i).clientid(), kTestClientId); if (response2.allscheduledtasks(i).scheduleid() == scheduleId1) { + EXPECT_EQ(response2.allscheduledtasks(i).tasktype(), ScheduleTaskType::CUSTOM); EXPECT_EQ(response2.allscheduledtasks(i).data(), std::string(kTestData.begin(), kTestData.end())); EXPECT_EQ(response2.allscheduledtasks(i).count(), count1); @@ -322,6 +327,7 @@ TEST_F(TestWakeupClientServiceImplUnitTest, TestGetAllPendingScheduledTasks) { EXPECT_EQ(response2.allscheduledtasks(i).periodicinseconds(), periodicInSeconds1); } else { EXPECT_EQ(response2.allscheduledtasks(i).scheduleid(), scheduleId2); + EXPECT_EQ(response2.allscheduledtasks(i).tasktype(), ScheduleTaskType::CUSTOM); EXPECT_EQ(response2.allscheduledtasks(i).data(), std::string(kTestData.begin(), kTestData.end())); EXPECT_EQ(response2.allscheduledtasks(i).count(), count2); diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 76db891a5b..d987e6f571 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -67,6 +67,7 @@ using ::aidl::android::hardware::automotive::vehicle::LowSpeedAutomaticEmergency using ::aidl::android::hardware::automotive::vehicle::LowSpeedCollisionWarningState; using ::aidl::android::hardware::automotive::vehicle::RawPropValues; using ::aidl::android::hardware::automotive::vehicle::VehicleAirbagLocation; +using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerBootupReason; using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReport; using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReq; using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig; @@ -300,6 +301,8 @@ JsonValueParser::JsonValueParser() { std::make_unique>(); mConstantParsersByType["LowSpeedAutomaticEmergencyBrakingState"] = std::make_unique>(); + mConstantParsersByType["VehicleApPowerBootupReason"] = + std::make_unique>(); mConstantParsersByType["Constants"] = std::make_unique(); #ifdef ENABLE_VEHICLE_HAL_TEST_PROPERTIES mConstantParsersByType["TestVendorProperty"] = diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 590eff9a23..1a7cdafd0f 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -3195,6 +3195,14 @@ ] } }, + { + "property": "VehicleProperty::AP_POWER_BOOTUP_REASON", + "defaultValue": { + "int32Values": [ + "VehicleApPowerBootupReason::USER_POWER_ON" + ] + } + }, { "property": "VehicleProperty::DISPLAY_BRIGHTNESS", "defaultValue": { diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp b/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp index e75f6485b8..80e40878e2 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp @@ -27,11 +27,19 @@ cc_library { ], local_include_dirs: ["include"], export_include_dirs: ["include"], - cflags: ["-DENABLE_VEHICLE_HAL_TEST_PROPERTIES"], + cflags: [ + "-DENABLE_VEHICLE_HAL_TEST_PROPERTIES", + // Uncomment this if running on emulator and connecting to a local grpc server + // running on host 127.0.0.1:50051 (TestWakeupClientServerHost) + // "-DPOWER_GRPC_SERVICE_ADDRESS=\"10.0.2.2:50051\"", + ], defaults: [ "VehicleHalDefaults", "FakeVehicleHardwareDefaults", ], + whole_static_libs: [ + "wakeup_client_protos", + ], } cc_defaults { @@ -54,7 +62,9 @@ cc_defaults { "Prebuilt_VehicleHalVendorClusterTestProperties_JSON", ], shared_libs: [ + "libgrpc++", "libjsoncpp", + "libprotobuf-cpp-full", ], export_static_lib_headers: ["VehicleHalUtils"], } diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h index 1153217ee2..8d6c883287 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include @@ -240,6 +242,11 @@ class FakeVehicleHardware : public IVehicleHardware { VhalResult synchronizeHvacTemp(int32_t hvacDualOnAreaId, std::optional newTempC) const; std::optional getSyncedAreaIdIfHvacDualOn(int32_t hvacTemperatureSetAreaId) const; + ValueResultType getPowerPropFromExternalService(int32_t propId) const; + ValueResultType getVehicleInUse( + android::hardware::automotive::remoteaccess::PowerController::Stub* clientStub) const; + ValueResultType getApPowerBootupReason( + android::hardware::automotive::remoteaccess::PowerController::Stub* clientStub) const; std::unordered_map loadConfigDeclarations(); diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index bcc765cf96..c4e708660b 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -82,6 +82,12 @@ using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType; using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue; using ::aidl::android::hardware::automotive::vehicle::VehicleUnit; +using ::android::hardware::automotive::remoteaccess::GetApPowerBootupReasonRequest; +using ::android::hardware::automotive::remoteaccess::GetApPowerBootupReasonResponse; +using ::android::hardware::automotive::remoteaccess::IsVehicleInUseRequest; +using ::android::hardware::automotive::remoteaccess::IsVehicleInUseResponse; +using ::android::hardware::automotive::remoteaccess::PowerController; + using ::android::base::EqualsIgnoreCase; using ::android::base::Error; using ::android::base::GetIntProperty; @@ -256,6 +262,11 @@ const std::unordered_map> mAdasEnabledPropToAdasPr }, }, }; + +// The list of VHAL properties that might be handled by an external power controller. +const std::unordered_set mPowerPropIds = {toInt(VehicleProperty::VEHICLE_IN_USE), + toInt(VehicleProperty::AP_POWER_BOOTUP_REASON)}; + } // namespace void FakeVehicleHardware::storePropInitialValue(const ConfigDeclaration& config) { @@ -763,6 +774,13 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::maybeGetSpecialValue( int32_t propId = value.prop; ValueResultType result; +#ifdef POWER_GRPC_SERVICE_ADDRESS + if (mPowerPropIds.find(propId) != mPowerPropIds.end()) { + *isSpecialValue = true; + return getPowerPropFromExternalService(propId); + } +#endif + if (propId >= STARTING_VENDOR_CODE_PROPERTIES_FOR_TEST && propId < ENDING_VENDOR_CODE_PROPERTIES_FOR_TEST) { *isSpecialValue = true; @@ -844,6 +862,61 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::maybeGetSpecialValue( return nullptr; } +FakeVehicleHardware::ValueResultType FakeVehicleHardware::getPowerPropFromExternalService( + [[maybe_unused]] int32_t propId) const { +#ifdef POWER_GRPC_SERVICE_ADDRESS + auto channel = + grpc::CreateChannel(POWER_GRPC_SERVICE_ADDRESS, grpc::InsecureChannelCredentials()); + auto clientStub = PowerController::NewStub(channel); + switch (propId) { + case toInt(VehicleProperty::VEHICLE_IN_USE): + return getVehicleInUse(clientStub.get()); + case toInt(VehicleProperty::AP_POWER_BOOTUP_REASON): + return getApPowerBootupReason(clientStub.get()); + default: + return StatusError(StatusCode::INTERNAL_ERROR) + << "Unsupported power property ID: " << propId; + } +#else + // Must not reach here. + return StatusError(StatusCode::INTERNAL_ERROR); +#endif +} + +FakeVehicleHardware::ValueResultType FakeVehicleHardware::getVehicleInUse( + PowerController::Stub* clientStub) const { + IsVehicleInUseRequest request = {}; + IsVehicleInUseResponse response = {}; + grpc::ClientContext context; + auto status = clientStub->IsVehicleInUse(&context, request, &response); + if (!status.ok()) { + return StatusError(StatusCode::TRY_AGAIN) << "Cannot connect to GRPC service " + << ", error: " << status.error_message(); + } + auto result = mValuePool->obtainBoolean(response.isvehicleinuse()); + result->prop = toInt(VehicleProperty::VEHICLE_IN_USE); + result->areaId = 0; + result->timestamp = elapsedRealtimeNano(); + return result; +} + +FakeVehicleHardware::ValueResultType FakeVehicleHardware::getApPowerBootupReason( + PowerController::Stub* clientStub) const { + GetApPowerBootupReasonRequest request = {}; + GetApPowerBootupReasonResponse response = {}; + grpc::ClientContext context; + auto status = clientStub->GetApPowerBootupReason(&context, request, &response); + if (!status.ok()) { + return StatusError(StatusCode::TRY_AGAIN) << "Cannot connect to GRPC service " + << ", error: " << status.error_message(); + } + auto result = mValuePool->obtainInt32(response.bootupreason()); + result->prop = toInt(VehicleProperty::AP_POWER_BOOTUP_REASON); + result->areaId = 0; + result->timestamp = elapsedRealtimeNano(); + return result; +} + FakeVehicleHardware::ValueResultType FakeVehicleHardware::getEchoReverseBytes( const VehiclePropValue& value) const { auto readResult = mServerSidePropStore->readValue(value); diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/Android.bp b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/Android.bp index b763d2f55d..ac70b51423 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/Android.bp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/Android.bp @@ -41,7 +41,9 @@ cc_test { "libgmock", ], shared_libs: [ + "libgrpc++", "libjsoncpp", + "libprotobuf-cpp-full", ], data: [ ":VehicleHalDefaultProperties_JSON", diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp index 90643aa5e3..cab33e10e8 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/test/FakeVehicleHardwareTest.cpp @@ -506,6 +506,12 @@ TEST_F(FakeVehicleHardwareTest, testGetDefaultValues) { continue; } + if (propId == toInt(VehicleProperty::VEHICLE_IN_USE) || + propId == toInt(VehicleProperty::AP_POWER_BOOTUP_REASON)) { + // These may be controller by an external power control unit. + continue; + } + if (isGlobalProp(propId)) { if (config.initialValue == RawPropValues{}) { addGetValueRequest(getValueRequests, expectedGetValueResults, requestId++, diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h index 0c8ebbda34..77facf2790 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include From 4cc6345c6c5d7dfb8977835b02f5614b87f98281 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Wed, 21 Feb 2024 14:36:26 -0800 Subject: [PATCH 184/198] Move FakeVehicleHardwareUnitTest to auto-presumbmit. It depends on libgrpc++ which is not present on some cf target system images. Test: Presubmit Bug: 316233421 Change-Id: I6fe76fff7fc4cab85ebe2bb50b6233cb71d33605 --- automotive/vehicle/TEST_MAPPING | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/automotive/vehicle/TEST_MAPPING b/automotive/vehicle/TEST_MAPPING index e1a90cba39..7306b47fa8 100644 --- a/automotive/vehicle/TEST_MAPPING +++ b/automotive/vehicle/TEST_MAPPING @@ -24,9 +24,6 @@ { "name": "VehiclePropertyAnnotationJavaTest" }, - { - "name": "FakeVehicleHardwareTest" - }, { "name": "FakeVehicleHalValueGeneratorsTest" }, @@ -44,6 +41,9 @@ { "name": "VtsHalAutomotiveVehicle_TargetTest" }, + { + "name": "FakeVehicleHardwareTest" + }, { "name": "CarServiceUnitTest", "options" : [ From e0ed3508758b68eddb7ce61dca906539456985c0 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Tue, 20 Feb 2024 17:52:15 -0800 Subject: [PATCH 185/198] Use runtime config file instead of compile flag. Use runtime config file instead of compile flag to control an optional external grpc server address. This allows us to test connecting with an external simluated power unit without recompiling the image. Test: Manual test with push the config file at /vendor/etc/automotive/powercontroller/serverconfig Bug: 325675883 Change-Id: I04193e7603a670c8398c6d6dc0466a0071f7c33d --- .../remoteaccess/hal/default/Android.bp | 9 --- .../hal/default/src/RemoteAccessImpl.cpp | 75 +++++++++++++------ .../aidl/impl/fake_impl/hardware/Android.bp | 3 - .../hardware/include/FakeVehicleHardware.h | 4 + .../hardware/src/FakeVehicleHardware.cpp | 35 ++++++--- 5 files changed, 79 insertions(+), 47 deletions(-) diff --git a/automotive/remoteaccess/hal/default/Android.bp b/automotive/remoteaccess/hal/default/Android.bp index be6a425485..cf173d5e18 100644 --- a/automotive/remoteaccess/hal/default/Android.bp +++ b/automotive/remoteaccess/hal/default/Android.bp @@ -52,11 +52,6 @@ cc_binary { defaults: ["remote-access-hal-defaults"], vintf_fragments: ["remoteaccess-default-service.xml"], init_rc: ["remoteaccess-default-service.rc"], - cflags: [ - // Uncomment this if running on emulator and connecting to a local grpc server - // running on host 127.0.0.1:50051 (TestWakeupClientServerHost) - // "-DGRPC_SERVICE_ADDRESS=\"10.0.2.2:50051\"", - ], } cc_binary { @@ -64,10 +59,6 @@ cc_binary { defaults: ["remote-access-hal-defaults"], vintf_fragments: ["remoteaccess-default-service.xml"], init_rc: ["remoteaccess-tcu-test-service.rc"], - cflags: [ - "-DGRPC_SERVICE_ADDRESS=\"10.10.10.1:50051\"", - "-DGRPC_SERVICE_IFNAME=\"eth1\"", - ], } cc_library { diff --git a/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp b/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp index 28c5cd5cf2..a50f3bb7fc 100644 --- a/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp +++ b/automotive/remoteaccess/hal/default/src/RemoteAccessImpl.cpp @@ -27,37 +27,66 @@ #include #include +namespace { + +constexpr char GRPC_SERVICE_CONFIG_FILE[] = "/vendor/etc/automotive/powercontroller/serverconfig"; constexpr char SERVICE_NAME[] = "android.hardware.automotive.remoteaccess.IRemoteAccess/default"; +void maybeGetGrpcServiceInfo(std::string* address, std::string* ifname) { + std::ifstream ifs(GRPC_SERVICE_CONFIG_FILE); + if (!ifs) { + LOG(INFO) << "Cannot open grpc service config file at: " << GRPC_SERVICE_CONFIG_FILE + << ", assume no service is available"; + return; + } + int count = 0; + while (ifs.good()) { + std::string line; + ifs >> line; + // First line is address, second line, if present is ifname. + if (count == 0) { + *address = line; + } else { + *ifname = line; + break; + } + count++; + } + ifs.close(); +} + +} // namespace + int main(int /* argc */, char* /* argv */[]) { - android::hardware::automotive::remoteaccess::WakeupClient::StubInterface* grpcStub = nullptr; + std::string grpcServiceAddress = ""; + std::string grpcServiceIfname = ""; + maybeGetGrpcServiceInfo(&grpcServiceAddress, &grpcServiceIfname); -#ifdef GRPC_SERVICE_ADDRESS - LOG(INFO) << "Registering RemoteAccessService as service, server: " << GRPC_SERVICE_ADDRESS - << "..."; - grpc::ChannelArguments grpcargs = {}; + std::unique_ptr grpcStub; -#ifdef GRPC_SERVICE_IFNAME - grpcargs.SetSocketMutator( - android::hardware::automotive::remoteaccess::MakeBindToDeviceSocketMutator( - GRPC_SERVICE_IFNAME)); - LOG(DEBUG) << "GRPC_SERVICE_IFNAME specified as: " << GRPC_SERVICE_IFNAME; - LOG(INFO) << "Waiting for interface: " << GRPC_SERVICE_IFNAME; - android::netdevice::waitFor({GRPC_SERVICE_IFNAME}, - android::netdevice::WaitCondition::PRESENT_AND_UP); - LOG(INFO) << "Waiting for interface: " << GRPC_SERVICE_IFNAME << " done"; -#endif // #ifdef GRPC_SERVICE_IFNAME - auto channel = grpc::CreateChannel(GRPC_SERVICE_ADDRESS, grpc::InsecureChannelCredentials()); - auto clientStub = android::hardware::automotive::remoteaccess::WakeupClient::NewStub(channel); + if (grpcServiceAddress != "") { + LOG(INFO) << "Registering RemoteAccessService as service, server: " << grpcServiceAddress + << "..."; + grpc::ChannelArguments grpcargs = {}; - grpcStub = clientStub.get(); - -#else - LOG(INFO) << "GRPC_SERVICE_ADDRESS is not defined, work in fake mode"; -#endif // #ifdef GRPC_SERVICE_ADDRESS + if (grpcServiceIfname != "") { + grpcargs.SetSocketMutator( + android::hardware::automotive::remoteaccess::MakeBindToDeviceSocketMutator( + grpcServiceIfname)); + LOG(DEBUG) << "grpcServiceIfname specified as: " << grpcServiceIfname; + LOG(INFO) << "Waiting for interface: " << grpcServiceIfname; + android::netdevice::waitFor({grpcServiceIfname}, + android::netdevice::WaitCondition::PRESENT_AND_UP); + LOG(INFO) << "Waiting for interface: " << grpcServiceIfname << " done"; + } + auto channel = grpc::CreateChannel(grpcServiceAddress, grpc::InsecureChannelCredentials()); + grpcStub = android::hardware::automotive::remoteaccess::WakeupClient::NewStub(channel); + } else { + LOG(INFO) << "grpcServiceAddress is not defined, work in fake mode"; + } auto service = ndk::SharedRefBase::make< - android::hardware::automotive::remoteaccess::RemoteAccessService>(grpcStub); + android::hardware::automotive::remoteaccess::RemoteAccessService>(grpcStub.get()); binder_exception_t err = AServiceManager_addService(service->asBinder().get(), SERVICE_NAME); if (err != EX_NONE) { diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp b/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp index 80e40878e2..5fc07c947a 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/Android.bp @@ -29,9 +29,6 @@ cc_library { export_include_dirs: ["include"], cflags: [ "-DENABLE_VEHICLE_HAL_TEST_PROPERTIES", - // Uncomment this if running on emulator and connecting to a local grpc server - // running on host 127.0.0.1:50051 (TestWakeupClientServerHost) - // "-DPOWER_GRPC_SERVICE_ADDRESS=\"10.0.2.2:50051\"", ], defaults: [ "VehicleHalDefaults", diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h index 8d6c883287..644d1cd025 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/include/FakeVehicleHardware.h @@ -189,6 +189,10 @@ class FakeVehicleHardware : public IVehicleHardware { // Only used during initialization. JsonConfigLoader mLoader; + // Only used during initialization. If not empty, points to an external grpc server that + // provides power controlling related properties. + std::string mPowerControllerServiceAddress = ""; + void init(); // Stores the initial value to property store. void storePropInitialValue(const ConfigDeclaration& config); diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index c4e708660b..072aafc2b4 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -114,6 +114,9 @@ constexpr char DEFAULT_CONFIG_DIR[] = "/vendor/etc/automotive/vhalconfig/"; // The directory for property configuration file that overrides the default configuration file. // For config file format, see impl/default_config/config/README.md. constexpr char OVERRIDE_CONFIG_DIR[] = "/vendor/etc/automotive/vhaloverride/"; +// The optional config file for power controller grpc service that provides vehicleInUse and +// ApPowerBootupReason property. +constexpr char GRPC_SERVICE_CONFIG_FILE[] = "/vendor/etc/automotive/powercontroller/serverconfig"; // If OVERRIDE_PROPERTY is set, we will use the configuration files from OVERRIDE_CONFIG_DIR to // overwrite the default configs. constexpr char OVERRIDE_PROPERTY[] = "persist.vendor.vhal_init_value_override"; @@ -267,6 +270,17 @@ const std::unordered_map> mAdasEnabledPropToAdasPr const std::unordered_set mPowerPropIds = {toInt(VehicleProperty::VEHICLE_IN_USE), toInt(VehicleProperty::AP_POWER_BOOTUP_REASON)}; +void maybeGetGrpcServiceInfo(std::string* address) { + std::ifstream ifs(GRPC_SERVICE_CONFIG_FILE); + if (!ifs) { + ALOGI("Cannot open grpc service config file at: %s, assume no service is available", + GRPC_SERVICE_CONFIG_FILE); + return; + } + ifs >> *address; + ifs.close(); +} + } // namespace void FakeVehicleHardware::storePropInitialValue(const ConfigDeclaration& config) { @@ -357,6 +371,8 @@ std::unordered_map FakeVehicleHardware::loadConfigDe } void FakeVehicleHardware::init() { + maybeGetGrpcServiceInfo(&mPowerControllerServiceAddress); + for (auto& [_, configDeclaration] : loadConfigDeclarations()) { VehiclePropConfig cfg = configDeclaration.config; VehiclePropertyStore::TokenFunction tokenFunction = nullptr; @@ -774,12 +790,12 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::maybeGetSpecialValue( int32_t propId = value.prop; ValueResultType result; -#ifdef POWER_GRPC_SERVICE_ADDRESS - if (mPowerPropIds.find(propId) != mPowerPropIds.end()) { - *isSpecialValue = true; - return getPowerPropFromExternalService(propId); + if (mPowerControllerServiceAddress != "") { + if (mPowerPropIds.find(propId) != mPowerPropIds.end()) { + *isSpecialValue = true; + return getPowerPropFromExternalService(propId); + } } -#endif if (propId >= STARTING_VENDOR_CODE_PROPERTIES_FOR_TEST && propId < ENDING_VENDOR_CODE_PROPERTIES_FOR_TEST) { @@ -863,10 +879,9 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::maybeGetSpecialValue( } FakeVehicleHardware::ValueResultType FakeVehicleHardware::getPowerPropFromExternalService( - [[maybe_unused]] int32_t propId) const { -#ifdef POWER_GRPC_SERVICE_ADDRESS + int32_t propId) const { auto channel = - grpc::CreateChannel(POWER_GRPC_SERVICE_ADDRESS, grpc::InsecureChannelCredentials()); + grpc::CreateChannel(mPowerControllerServiceAddress, grpc::InsecureChannelCredentials()); auto clientStub = PowerController::NewStub(channel); switch (propId) { case toInt(VehicleProperty::VEHICLE_IN_USE): @@ -877,10 +892,6 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::getPowerPropFromExtern return StatusError(StatusCode::INTERNAL_ERROR) << "Unsupported power property ID: " << propId; } -#else - // Must not reach here. - return StatusError(StatusCode::INTERNAL_ERROR); -#endif } FakeVehicleHardware::ValueResultType FakeVehicleHardware::getVehicleInUse( From a9cbdea48b66f67a7386a7dced86f798b3813123 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Tue, 30 Jan 2024 16:33:56 -0800 Subject: [PATCH 186/198] Add VTS for VUR. Add VTS for testing subscription with variable update rate on. Test: atest VtsHalAutomotiveVehicle_TargetTest on reference VHAL. Bug: 323073584 Change-Id: I3c8f4e87ee11487466a1b75ae611cb58f84d8ef5 --- .../VtsHalAutomotiveVehicle_TargetTest.cpp | 125 ++++++++++++++++-- 1 file changed, 115 insertions(+), 10 deletions(-) diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index 888b1e10a8..ccc0f3f91c 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -63,6 +64,7 @@ using ::android::frameworks::automotive::vhal::IHalPropConfig; using ::android::frameworks::automotive::vhal::IHalPropValue; using ::android::frameworks::automotive::vhal::ISubscriptionCallback; using ::android::frameworks::automotive::vhal::IVhalClient; +using ::android::frameworks::automotive::vhal::SubscribeOptionsBuilder; using ::android::frameworks::automotive::vhal::VhalClientResult; using ::android::hardware::getAllHalInstanceNames; using ::android::hardware::Sanitize; @@ -83,8 +85,8 @@ struct ServiceDescriptor { class VtsVehicleCallback final : public ISubscriptionCallback { private: std::mutex mLock; - std::unordered_map mEventsCount GUARDED_BY(mLock); - std::unordered_map> mEventTimestamps GUARDED_BY(mLock); + std::unordered_map>> mEvents + GUARDED_BY(mLock); std::condition_variable mEventCond; public: @@ -93,8 +95,7 @@ class VtsVehicleCallback final : public ISubscriptionCallback { std::lock_guard lockGuard(mLock); for (auto& value : values) { int32_t propId = value->getPropId(); - mEventsCount[propId] += 1; - mEventTimestamps[propId].push_back(value->getTimestamp()); + mEvents[propId].push_back(std::move(value->clone())); } } mEventCond.notify_one(); @@ -110,20 +111,37 @@ class VtsVehicleCallback final : public ISubscriptionCallback { std::unique_lock uniqueLock(mLock); return mEventCond.wait_for(uniqueLock, timeout, [this, propId, expectedEvents] { ScopedLockAssertion lockAssertion(mLock); - return mEventsCount[propId] >= expectedEvents; + return mEvents[propId].size() >= expectedEvents; }); } - std::vector getEventTimestamps(int32_t propId) { - { - std::lock_guard lockGuard(mLock); - return mEventTimestamps[propId]; + std::vector> getEvents(int32_t propId) { + std::lock_guard lockGuard(mLock); + std::vector> events; + if (mEvents.find(propId) == mEvents.end()) { + return events; } + for (const auto& eventPtr : mEvents[propId]) { + events.push_back(std::move(eventPtr->clone())); + } + return events; + } + + std::vector getEventTimestamps(int32_t propId) { + std::lock_guard lockGuard(mLock); + std::vector timestamps; + if (mEvents.find(propId) == mEvents.end()) { + return timestamps; + } + for (const auto& valuePtr : mEvents[propId]) { + timestamps.push_back(valuePtr->getTimestamp()); + } + return timestamps; } void reset() { std::lock_guard lockGuard(mLock); - mEventsCount.clear(); + mEvents.clear(); } }; @@ -545,6 +563,93 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, subscribeAndUnsubscribe) { << "Expect not to get events after unsubscription"; } +bool isVariableUpdateRateSupported(const std::unique_ptr& config, int32_t areaId) { + for (const auto& areaConfigPtr : config->getAreaConfigs()) { + if (areaConfigPtr->getAreaId() == areaId && + areaConfigPtr->isVariableUpdateRateSupported()) { + return true; + } + } + return false; +} + +// Test subscribe with variable update rate enabled if supported. +TEST_P(VtsHalAutomotiveVehicleTargetTest, subscribe_enableVurIfSupported) { + ALOGD("VtsHalAutomotiveVehicleTargetTest::subscribe_enableVurIfSupported"); + + int32_t propId = toInt(VehicleProperty::PERF_VEHICLE_SPEED); + if (!checkIsSupported(propId)) { + GTEST_SKIP() << "Property: " << propId << " is not supported, skip the test"; + } + if (!mVhalClient->isAidlVhal()) { + GTEST_SKIP() << "Variable update rate is only supported by AIDL VHAL"; + } + + auto propConfigsResult = mVhalClient->getPropConfigs({propId}); + + ASSERT_TRUE(propConfigsResult.ok()) << "Failed to get property config for PERF_VEHICLE_SPEED: " + << "error: " << propConfigsResult.error().message(); + ASSERT_EQ(propConfigsResult.value().size(), 1u) + << "Expect to return 1 config for PERF_VEHICLE_SPEED"; + auto& propConfig = propConfigsResult.value()[0]; + float maxSampleRate = propConfig->getMaxSampleRate(); + if (maxSampleRate < 1) { + GTEST_SKIP() << "Sample rate for vehicle speed < 1 times/sec, skip test since it would " + "take too long"; + } + // PERF_VEHICLE_SPEED is a global property, so areaId is 0. + if (!isVariableUpdateRateSupported(propConfig, /* areaId= */ 0)) { + GTEST_SKIP() << "Variable update rate is not supported for PERF_VEHICLE_SPEED, " + << "skip testing"; + } + + auto client = mVhalClient->getSubscriptionClient(mCallback); + ASSERT_NE(client, nullptr) << "Failed to get subscription client"; + SubscribeOptionsBuilder builder(propId); + // By default variable update rate is true. + builder.setSampleRate(maxSampleRate); + auto option = builder.build(); + + auto result = client->subscribe({option}); + + ASSERT_TRUE(result.ok()) << StringPrintf("Failed to subscribe to property: %" PRId32 + ", error: %s", + propId, result.error().message().c_str()); + + ASSERT_TRUE(mCallback->waitForExpectedEvents(propId, 1, std::chrono::seconds(2))) + << "Must get at least 1 events within 2 seconds after subscription for rate: " + << maxSampleRate; + + // Sleep for 1 seconds to wait for more possible events to arrive. + std::this_thread::sleep_for(std::chrono::seconds(1)); + + client->unsubscribe({propId}); + + auto events = mCallback->getEvents(propId); + if (events.size() == 1) { + // We only received one event, the value is not changing so nothing to check here. + return; + } + + // Sort the values by the timestamp. + std::map valuesByTimestamp; + for (size_t i = 0; i < events.size(); i++) { + valuesByTimestamp[events[i]->getTimestamp()] = events[i]->getFloatValues()[0]; + } + + size_t i = 0; + float previousValue; + for (const auto& [_, value] : valuesByTimestamp) { + if (i == 0) { + previousValue = value; + } else { + ASSERT_FALSE(value != previousValue) << "received duplicate value: " << value + << " when variable update rate is true"; + previousValue = value; + } + } +} + // Test subscribe() with an invalid property. TEST_P(VtsHalAutomotiveVehicleTargetTest, subscribeInvalidProp) { ALOGD("VtsHalAutomotiveVehicleTargetTest::subscribeInvalidProp"); From 0ca29273dcc407e6da7f27a2eccb71fa23d6b78f Mon Sep 17 00:00:00 2001 From: Sally Qi Date: Fri, 23 Feb 2024 11:07:08 -0800 Subject: [PATCH 187/198] Add vts case for OverlayProperties#isMixedColorSpacesSupported. - add sRGB and DisplayP3 layers in HWC, if mixedColorSpaces is supported, only DPU composition happens. Bug: 311252937 Test: this Change-Id: I400a6dd18a05bbdf69e249907e13a4fa7eafbf01 --- graphics/composer/aidl/vts/ReadbackVts.cpp | 3 +- .../VtsHalGraphicsComposer3_ReadbackTest.cpp | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/graphics/composer/aidl/vts/ReadbackVts.cpp b/graphics/composer/aidl/vts/ReadbackVts.cpp index c72ec6974f..283b8ce2e4 100644 --- a/graphics/composer/aidl/vts/ReadbackVts.cpp +++ b/graphics/composer/aidl/vts/ReadbackVts.cpp @@ -67,8 +67,9 @@ Dataspace ReadbackHelper::getDataspaceForColorMode(ColorMode mode) { case ColorMode::DISPLAY_P3: return Dataspace::DISPLAY_P3; case ColorMode::SRGB: + return Dataspace::SRGB; default: - return common::Dataspace::UNKNOWN; + return Dataspace::UNKNOWN; } } diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp index 3f82925455..d4ce3ba2b6 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_ReadbackTest.cpp @@ -522,6 +522,83 @@ TEST_P(GraphicsCompositionTest, ClientComposition) { } } +TEST_P(GraphicsCompositionTest, MixedColorSpaces) { + ASSERT_TRUE( + mComposerClient->setClientTargetSlotCount(getPrimaryDisplayId(), kClientTargetSlotCount) + .isOk()); + const auto& [status, properties] = mComposerClient->getOverlaySupport(); + if (!status.isOk() && status.getExceptionCode() == EX_SERVICE_SPECIFIC && + status.getServiceSpecificError() == IComposerClient::EX_UNSUPPORTED) { + GTEST_SUCCEED() << "getOverlaySupport is not supported"; + return; + } + + if (properties.supportMixedColorSpaces == false) { + GTEST_SUCCEED() << "supportMixedColorSpaces is not supported"; + return; + } + + for (ColorMode mode : mTestColorModes) { + EXPECT_TRUE(mComposerClient + ->setColorMode(getPrimaryDisplayId(), mode, RenderIntent::COLORIMETRIC) + .isOk()); + + bool isSupported; + ASSERT_NO_FATAL_FAILURE(isSupported = getHasReadbackBuffer()); + if (!isSupported) { + GTEST_SUCCEED() << "Readback not supported or unsupported pixelFormat/dataspace"; + return; + } + + // sRGB layer + auto srgbLayer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight() / 2, PixelFormat::RGBA_8888, *mWriter); + std::vector sRgbDeviceColors(srgbLayer->getWidth() * srgbLayer->getHeight()); + ReadbackHelper::fillColorsArea(sRgbDeviceColors, getDisplayWidth(), + {0, 0, static_cast(srgbLayer->getWidth()), + static_cast(srgbLayer->getHeight())}, + GREEN); + srgbLayer->setDisplayFrame({0, 0, static_cast(srgbLayer->getWidth()), + static_cast(srgbLayer->getHeight())}); + srgbLayer->setZOrder(10); + srgbLayer->setDataspace(Dataspace::SRGB); + ASSERT_NO_FATAL_FAILURE(srgbLayer->setBuffer(sRgbDeviceColors)); + + // display P3 layer + auto displayP3Layer = std::make_shared( + mComposerClient, *mTestRenderEngine, getPrimaryDisplayId(), getDisplayWidth(), + getDisplayHeight() / 2, PixelFormat::RGBA_8888, *mWriter); + std::vector displayP3DeviceColors( + static_cast(displayP3Layer->getWidth() * displayP3Layer->getHeight())); + ReadbackHelper::fillColorsArea(displayP3DeviceColors, getDisplayWidth(), + {0, 0, static_cast(displayP3Layer->getWidth()), + static_cast(displayP3Layer->getHeight())}, + RED); + displayP3Layer->setDisplayFrame( + {0, getDisplayHeight() / 2, getDisplayWidth(), getDisplayHeight()}); + displayP3Layer->setZOrder(10); + displayP3Layer->setDataspace(Dataspace::DISPLAY_P3); + ASSERT_NO_FATAL_FAILURE(displayP3Layer->setBuffer(displayP3DeviceColors)); + + writeLayers({srgbLayer, displayP3Layer}); + + mWriter->validateDisplay(getPrimaryDisplayId(), ComposerClientWriter::kNoTimestamp, + VtsComposerClient::kNoFrameIntervalNs); + execute(); + + auto changedCompositionTypes = mReader.takeChangedCompositionTypes(getPrimaryDisplayId()); + ASSERT_TRUE(changedCompositionTypes.empty()); + + mWriter->presentDisplay(getPrimaryDisplayId()); + execute(); + + changedCompositionTypes = mReader.takeChangedCompositionTypes(getPrimaryDisplayId()); + ASSERT_TRUE(changedCompositionTypes.empty()); + ASSERT_TRUE(mReader.takeErrors().empty()); + } +} + TEST_P(GraphicsCompositionTest, DeviceAndClientComposition) { ASSERT_TRUE( mComposerClient->setClientTargetSlotCount(getPrimaryDisplayId(), kClientTargetSlotCount) From 1bf90fa404321271f7ba67aabc1cc11543492144 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 26 Feb 2024 11:14:36 -0800 Subject: [PATCH 188/198] Fix a bug in VUR VTS test. The logic is to check whether each element is not the same as previous element. We forgot to increase i. Test: Presubmit Bug: 326987403 Change-Id: I5cab61a86092fb14d17551a533e8cdaff1abfee5 --- .../vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp index ccc0f3f91c..4ea6dfe5f2 100644 --- a/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp +++ b/automotive/vehicle/vts/src/VtsHalAutomotiveVehicle_TargetTest.cpp @@ -640,13 +640,12 @@ TEST_P(VtsHalAutomotiveVehicleTargetTest, subscribe_enableVurIfSupported) { size_t i = 0; float previousValue; for (const auto& [_, value] : valuesByTimestamp) { - if (i == 0) { - previousValue = value; - } else { + if (i != 0) { ASSERT_FALSE(value != previousValue) << "received duplicate value: " << value << " when variable update rate is true"; - previousValue = value; } + previousValue = value; + i++; } } From 2586aa7676788e330de316cf99817ca59b508f7e Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Mon, 26 Feb 2024 19:30:42 +0000 Subject: [PATCH 189/198] Populate legacy HAL stub for wifi_virtual_interface_create_with_vendor_data. Bug: 296069900 Test: m Change-Id: I11bf4413cd2484e033443cdb10bec16f4ef01c20 --- wifi/aidl/default/wifi_legacy_hal_stubs.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/aidl/default/wifi_legacy_hal_stubs.cpp b/wifi/aidl/default/wifi_legacy_hal_stubs.cpp index 3e4afd0427..73ea08837f 100644 --- a/wifi/aidl/default/wifi_legacy_hal_stubs.cpp +++ b/wifi/aidl/default/wifi_legacy_hal_stubs.cpp @@ -188,6 +188,7 @@ bool initHalFuncTableWithStubs(wifi_hal_fn* hal_fn) { populateStubFor(&hal_fn->wifi_twt_session_resume); populateStubFor(&hal_fn->wifi_twt_session_teardown); populateStubFor(&hal_fn->wifi_twt_session_get_stats); + populateStubFor(&hal_fn->wifi_virtual_interface_create_with_vendor_data); return true; } From 4fc10f2f75a3d3e71c3a8b1553f7f99a55c46288 Mon Sep 17 00:00:00 2001 From: maheshkkv Date: Mon, 26 Feb 2024 10:58:34 -0800 Subject: [PATCH 190/198] Add vts test for 802.11az NTB ranging Bug: 295619650 Test: atest VtsHalWifiRttControllerTargetTest Change-Id: I9092aa2c020bf2a4ef9082b34eac096d10aecfd5 --- .../wifi_rtt_controller_aidl_test.cpp | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp index 9c6a29ef90..1596602827 100644 --- a/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_rtt_controller_aidl_test.cpp @@ -160,6 +160,48 @@ TEST_P(WifiRttControllerAidlTest, EnableResponder) { EXPECT_TRUE(wifi_rtt_controller_->enableResponder(cmdId, channelInfo, 10, responder).isOk()); } +/* + * Request80211azNtbRangeMeasurement + * Tests the two sided 11az non-trigger based ranging - 802.11az NTB FTM protocol. + */ +TEST_P(WifiRttControllerAidlTest, Request80211azNtbRangeMeasurement) { + if (interface_version_ < 2) { + GTEST_SKIP() << "Request80211azNtbRangeMeasurement is available as of RttController V2"; + } + + RttCapabilities caps = getCapabilities(); + if (!caps.ntbInitiatorSupported) { + GTEST_SKIP() << "Skipping 11az NTB RTT since driver/fw does not support"; + } + + RttConfig config; + config.addr = {{0x00, 0x01, 0x02, 0x03, 0x04, 0x05}}; + config.type = RttType::TWO_SIDED_11AZ_NTB; + config.peer = RttPeerType::AP; + config.channel.width = WifiChannelWidthInMhz::WIDTH_80; + config.channel.centerFreq = 5180; + config.channel.centerFreq0 = 5210; + config.channel.centerFreq1 = 0; + config.bw = RttBw::BW_20MHZ; + config.preamble = RttPreamble::HT; + config.mustRequestLci = false; + config.mustRequestLcr = false; + config.numFramesPerBurst = 8; + config.numRetriesPerRttFrame = 0; + config.numRetriesPerFtmr = 0; + // 11az non-trigger based minimum measurement time in units of 100 microseconds. + config.ntbMinMeasurementTime = 2500; + // 11az non-trigger based maximum measurement time in units of 10 milliseconds. + config.ntbMaxMeasurementTime = 1500; + + int cmdId = 55; + std::vector configs = {config}; + EXPECT_TRUE(wifi_rtt_controller_->rangeRequest(cmdId, configs).isOk()); + + // Sleep for 2 seconds to wait for driver/firmware to complete RTT. + sleep(2); +} + /* * Request2SidedRangeMeasurement * Tests the two sided ranging - 802.11mc FTM protocol. From fb0bc0ad2dd1e0672002a5169aefcf6785283d00 Mon Sep 17 00:00:00 2001 From: maheshkkv Date: Mon, 26 Feb 2024 12:16:12 -0800 Subject: [PATCH 191/198] Add vts test for TWT Bug: 326998176 Test: atest VtsHalWifiStaIfaceTargetTest Change-Id: I8efae781963d1e3bec26a2fcc73e174ccbf16f2f --- .../functional/wifi_sta_iface_aidl_test.cpp | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp index e8e19ae8e6..51b730179d 100644 --- a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp @@ -40,6 +40,8 @@ using aidl::android::hardware::wifi::StaLinkLayerStats; using aidl::android::hardware::wifi::StaRoamingCapabilities; using aidl::android::hardware::wifi::StaRoamingConfig; using aidl::android::hardware::wifi::StaRoamingState; +using aidl::android::hardware::wifi::TwtCapabilities; +using aidl::android::hardware::wifi::TwtRequest; using aidl::android::hardware::wifi::WifiBand; using aidl::android::hardware::wifi::WifiDebugRxPacketFateReport; using aidl::android::hardware::wifi::WifiDebugTxPacketFateReport; @@ -51,6 +53,7 @@ class WifiStaIfaceAidlTest : public testing::TestWithParam { stopWifiService(getInstanceName()); wifi_sta_iface_ = getWifiStaIface(getInstanceName()); ASSERT_NE(nullptr, wifi_sta_iface_.get()); + ASSERT_TRUE(wifi_sta_iface_->getInterfaceVersion(&interface_version_).isOk()); } void TearDown() override { stopWifiService(getInstanceName()); } @@ -69,6 +72,7 @@ class WifiStaIfaceAidlTest : public testing::TestWithParam { } std::shared_ptr wifi_sta_iface_; + int interface_version_; // Checks if the mDNS Offload is supported by any NIC. bool isMdnsOffloadPresentInNIC() { @@ -356,6 +360,91 @@ TEST_P(WifiStaIfaceAidlTest, CachedScanData) { } } +TEST_P(WifiStaIfaceAidlTest, TwtGetCapabilities) { + if (interface_version_ < 2) { + GTEST_SKIP() << "TwtGetCapabilities is available as of sta_iface V2"; + } + + TwtCapabilities twt_capabilities = {}; + auto status = wifi_sta_iface_->twtGetCapabilities(&twt_capabilities); + if (checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED)) { + GTEST_SKIP() << "twtGetCapabilities() is not supported by the vendor"; + } + EXPECT_TRUE(status.isOk()); + if (!twt_capabilities.isTwtRequesterSupported) { + GTEST_SKIP() << "TWT is not supported"; + } + + EXPECT_GT(twt_capabilities.minWakeDurationUs, 0); + EXPECT_GT(twt_capabilities.maxWakeDurationUs, 0); + EXPECT_GT(twt_capabilities.minWakeIntervalUs, 0); + EXPECT_GT(twt_capabilities.maxWakeIntervalUs, 0); +} + +TEST_P(WifiStaIfaceAidlTest, TwtSessionSetup) { + if (interface_version_ < 2) { + GTEST_SKIP() << "TwtSessionSetup is available as of sta_iface V2"; + } + + TwtCapabilities twt_capabilities = {}; + auto status = wifi_sta_iface_->twtGetCapabilities(&twt_capabilities); + if (checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED)) { + GTEST_SKIP() << "twtGetCapabilities() is not supported by the vendor"; + } + EXPECT_TRUE(status.isOk()); + if (!twt_capabilities.isTwtRequesterSupported) { + GTEST_SKIP() << "TWT is not supported"; + } + + TwtRequest twtRequest; + twtRequest.mloLinkId = 0; + twtRequest.minWakeDurationUs = twt_capabilities.minWakeDurationUs; + twtRequest.maxWakeDurationUs = twt_capabilities.maxWakeDurationUs; + twtRequest.minWakeIntervalUs = twt_capabilities.minWakeIntervalUs; + twtRequest.maxWakeIntervalUs = twt_capabilities.maxWakeIntervalUs; + EXPECT_TRUE(wifi_sta_iface_->twtSessionSetup(1, twtRequest).isOk()); +} + +TEST_P(WifiStaIfaceAidlTest, TwtSessionGetStats) { + if (interface_version_ < 2) { + GTEST_SKIP() << "TwtSessionGetStats is available as of sta_iface V2"; + } + + TwtCapabilities twt_capabilities = {}; + auto status = wifi_sta_iface_->twtGetCapabilities(&twt_capabilities); + if (checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED)) { + GTEST_SKIP() << "twtGetCapabilities() is not supported by the vendor"; + } + EXPECT_TRUE(status.isOk()); + if (!twt_capabilities.isTwtRequesterSupported) { + GTEST_SKIP() << "TWT is not supported"; + } + + // Expecting a IWifiStaIfaceEventCallback.onTwtFailure() with INVALID_PARAMS + // as the error code. + EXPECT_TRUE(wifi_sta_iface_->twtSessionGetStats(1, 10).isOk()); +} + +TEST_P(WifiStaIfaceAidlTest, TwtSessionTeardown) { + if (interface_version_ < 2) { + GTEST_SKIP() << "TwtSessionTeardown is available as of sta_iface V3"; + } + + TwtCapabilities twt_capabilities = {}; + auto status = wifi_sta_iface_->twtGetCapabilities(&twt_capabilities); + if (checkStatusCode(&status, WifiStatusCode::ERROR_NOT_SUPPORTED)) { + GTEST_SKIP() << "twtGetCapabilities() is not supported by the vendor"; + } + EXPECT_TRUE(status.isOk()); + if (!twt_capabilities.isTwtRequesterSupported) { + GTEST_SKIP() << "TWT is not supported"; + } + + // Expecting a IWifiStaIfaceEventCallback.onTwtFailure() with INVALID_PARAMS + // as the error code. + EXPECT_TRUE(wifi_sta_iface_->twtSessionTeardown(1, 10).isOk()); +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(WifiStaIfaceAidlTest); INSTANTIATE_TEST_SUITE_P(WifiTest, WifiStaIfaceAidlTest, testing::ValuesIn(android::getAidlHalInstanceNames(IWifi::descriptor)), From f7c36d4a3bb0c09d8fde8e2187ed45d5255ed691 Mon Sep 17 00:00:00 2001 From: Matt Buckley Date: Tue, 27 Feb 2024 01:31:43 +0000 Subject: [PATCH 192/198] Add Vts tests for FMQ Ensure FMQ is supported through VTS, actually running, and can process a variety of inputs. Bug: 327047057 Test: atest VtsHalPowerTargetTest Change-Id: I70edaf41fca544bfd48e1ce2a99f48e4a6a835b8 --- power/aidl/default/Android.bp | 1 + power/aidl/default/Power.cpp | 14 ++- power/aidl/vts/VtsHalPowerTargetTest.cpp | 127 ++++++++++++++++++++--- 3 files changed, 122 insertions(+), 20 deletions(-) diff --git a/power/aidl/default/Android.bp b/power/aidl/default/Android.bp index b4ccc7db6b..4926b91830 100644 --- a/power/aidl/default/Android.bp +++ b/power/aidl/default/Android.bp @@ -35,6 +35,7 @@ cc_binary { "libbinder_ndk", "libcutils", "libfmq", + "libutils", ], srcs: [ "main.cpp", diff --git a/power/aidl/default/Power.cpp b/power/aidl/default/Power.cpp index 8f15663db9..64294e5229 100644 --- a/power/aidl/default/Power.cpp +++ b/power/aidl/default/Power.cpp @@ -20,6 +20,7 @@ #include #include #include +#include namespace aidl { namespace android { @@ -85,10 +86,17 @@ ndk::ScopedAStatus Power::createHintSessionWithConfig( } ndk::ScopedAStatus Power::getSessionChannel(int32_t, int32_t, ChannelConfig* _aidl_return) { - static AidlMessageQueue stubQueue{1, true}; + static AidlMessageQueue stubQueue{20, true}; + static std::thread stubThread([&] { + ChannelMessage data; + // This loop will only run while there is data waiting + // to be processed, and blocks on a futex all other times + while (stubQueue.readBlocking(&data, 1, 0)) { + } + }); _aidl_return->channelDescriptor = stubQueue.dupeDesc(); - _aidl_return->readFlagBitmask = 0; - _aidl_return->writeFlagBitmask = 0; + _aidl_return->readFlagBitmask = 0x01; + _aidl_return->writeFlagBitmask = 0x02; _aidl_return->eventFlagDescriptor = std::nullopt; return ndk::ScopedAStatus::ok(); } diff --git a/power/aidl/vts/VtsHalPowerTargetTest.cpp b/power/aidl/vts/VtsHalPowerTargetTest.cpp index d8e73bf4b0..53fcef1a41 100644 --- a/power/aidl/vts/VtsHalPowerTargetTest.cpp +++ b/power/aidl/vts/VtsHalPowerTargetTest.cpp @@ -30,13 +30,13 @@ #include #include #include "aidl/android/hardware/common/fmq/SynchronizedReadWrite.h" -#include "fmq/EventFlag.h" namespace aidl::android::hardware::power { namespace { using ::aidl::android::hardware::common::fmq::SynchronizedReadWrite; using ::android::AidlMessageQueue; +using ::android::hardware::EventFlag; using android::hardware::power::Boost; using android::hardware::power::ChannelConfig; using android::hardware::power::ChannelMessage; @@ -46,8 +46,12 @@ using android::hardware::power::Mode; using android::hardware::power::SessionHint; using android::hardware::power::SessionMode; using android::hardware::power::WorkDuration; +using ChannelMessageContents = ChannelMessage::ChannelMessageContents; +using ModeSetter = ChannelMessage::ChannelMessageContents::SessionModeSetter; +using MessageTag = ChannelMessage::ChannelMessageContents::Tag; using SessionMessageQueue = AidlMessageQueue; +using FlagMessageQueue = AidlMessageQueue; const std::vector kBoosts{ndk::enum_range().begin(), ndk::enum_range().end()}; @@ -139,6 +143,51 @@ class HintSessionAidl : public PowerAidl { std::shared_ptr mSession; }; +class FMQAidl : public PowerAidl { + public: + virtual void SetUp() override { + PowerAidl::SetUp(); + if (mServiceVersion < 5) { + GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; + } + + auto status = + power->createHintSessionWithConfig(getpid(), getuid(), kSelfTids, 16666666L, + SessionTag::OTHER, &mSessionConfig, &mSession); + ASSERT_TRUE(status.isOk()); + ASSERT_NE(nullptr, mSession); + + status = power->getSessionChannel(getpid(), getuid(), &mChannelConfig); + ASSERT_TRUE(status.isOk()); + mChannel = std::make_shared(mChannelConfig.channelDescriptor, true); + ASSERT_TRUE(mChannel->isValid()); + + if (mChannelConfig.eventFlagDescriptor.has_value()) { + mFlagChannel = + std::make_shared(*mChannelConfig.eventFlagDescriptor, true); + ASSERT_EQ(EventFlag::createEventFlag(mFlagChannel->getEventFlagWord(), &mEventFlag), + ::android::OK); + } else { + ASSERT_EQ(EventFlag::createEventFlag(mChannel->getEventFlagWord(), &mEventFlag), + ::android::OK); + } + + ASSERT_NE(mEventFlag, nullptr); + } + virtual void TearDown() { + mSession->close(); + ASSERT_TRUE(power->closeSessionChannel(getpid(), getuid()).isOk()); + } + + protected: + std::shared_ptr mSession; + std::shared_ptr mChannel; + std::shared_ptr mFlagChannel; + SessionConfig mSessionConfig; + ChannelConfig mChannelConfig; + ::android::hardware::EventFlag* mEventFlag; +}; + TEST_P(PowerAidl, setMode) { for (const auto& mode : kModes) { ASSERT_TRUE(power->setMode(mode, true).isOk()); @@ -213,16 +262,12 @@ TEST_P(PowerAidl, createHintSessionWithConfig) { ASSERT_NE(nullptr, session); } -TEST_P(PowerAidl, getAndCloseSessionChannel) { - if (mServiceVersion < 5) { - GTEST_SKIP() << "DEVICE not launching with Power V5 and beyond."; - } - ChannelConfig config; - auto status = power->getSessionChannel(getpid(), getuid(), &config); - ASSERT_TRUE(status.isOk()); - auto messageQueue = std::make_shared(config.channelDescriptor, true); - ASSERT_TRUE(messageQueue->isValid()); - ASSERT_TRUE(power->closeSessionChannel(getpid(), getuid()).isOk()); +// FIXED_PERFORMANCE mode is required for all devices which ship on Android 11 +// or later +TEST_P(PowerAidl, hasFixedPerformance) { + bool supported; + ASSERT_TRUE(power->isModeSupported(Mode::FIXED_PERFORMANCE, &supported).isOk()); + ASSERT_TRUE(supported); } TEST_P(HintSessionAidl, createAndCloseHintSession) { @@ -295,16 +340,61 @@ TEST_P(HintSessionAidl, getSessionConfig) { ASSERT_TRUE(mSession->getSessionConfig(&config).isOk()); } -// FIXED_PERFORMANCE mode is required for all devices which ship on Android 11 -// or later -TEST_P(PowerAidl, hasFixedPerformance) { - bool supported; - ASSERT_TRUE(power->isModeSupported(Mode::FIXED_PERFORMANCE, &supported).isOk()); - ASSERT_TRUE(supported); +TEST_P(FMQAidl, getAndCloseSessionChannel) {} + +TEST_P(FMQAidl, writeItems) { + std::vector messages{ + {.sessionID = static_cast(mSessionConfig.id), + .timeStampNanos = 1000, + .data = ChannelMessageContents::make( + {.durationNanos = 1000, + .workPeriodStartTimestampNanos = 10, + .cpuDurationNanos = 900, + .gpuDurationNanos = 100})}, + {.sessionID = static_cast(mSessionConfig.id), + .timeStampNanos = 1000, + .data = ChannelMessageContents::make( + {.modeInt = SessionMode::POWER_EFFICIENCY, .enabled = true})}, + {.sessionID = static_cast(mSessionConfig.id), + .timeStampNanos = 1000, + .data = ChannelMessageContents::make( + SessionHint::CPU_LOAD_UP)}, + {.sessionID = static_cast(mSessionConfig.id), + .timeStampNanos = 1000, + .data = ChannelMessageContents::make( + 10000000 /* 10ms */)}, + }; + for (auto& message : messages) { + ASSERT_TRUE(mChannel->writeBlocking(&message, 1, mChannelConfig.readFlagBitmask, + mChannelConfig.writeFlagBitmask, 100000000, + mEventFlag)); + } + // Make sure this still works after everything else is done to check crash + ASSERT_TRUE(mSession->setThreads(kSelfTids).isOk()); +} + +TEST_P(FMQAidl, writeExcess) { + std::vector messages; + size_t channelSize = mChannel->getQuantumCount(); + for (size_t i = 0; i < channelSize; ++i) { + messages.push_back({.sessionID = static_cast(mSessionConfig.id), + .timeStampNanos = 1000, + .data = ChannelMessageContents::make( + SessionHint::CPU_LOAD_UP)}); + } + ASSERT_TRUE(mChannel->writeBlocking(messages.data(), messages.size(), + mChannelConfig.readFlagBitmask, + mChannelConfig.writeFlagBitmask, 100000000, mEventFlag)); + ASSERT_TRUE(mChannel->writeBlocking(messages.data(), messages.size(), + mChannelConfig.readFlagBitmask, + mChannelConfig.writeFlagBitmask, 1000000000, mEventFlag)); + // Make sure this still works after everything else is done to check crash + ASSERT_TRUE(mSession->setThreads(kSelfTids).isOk()); } GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(PowerAidl); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(HintSessionAidl); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(FMQAidl); INSTANTIATE_TEST_SUITE_P(Power, PowerAidl, testing::ValuesIn(::android::getAidlHalInstanceNames(IPower::descriptor)), @@ -312,6 +402,9 @@ INSTANTIATE_TEST_SUITE_P(Power, PowerAidl, INSTANTIATE_TEST_SUITE_P(Power, HintSessionAidl, testing::ValuesIn(::android::getAidlHalInstanceNames(IPower::descriptor)), ::android::PrintInstanceNameToString); +INSTANTIATE_TEST_SUITE_P(Power, FMQAidl, + testing::ValuesIn(::android::getAidlHalInstanceNames(IPower::descriptor)), + ::android::PrintInstanceNameToString); } // namespace } // namespace aidl::android::hardware::power From de9703870db9b48dc81739f404a020f2a2dc8d5e Mon Sep 17 00:00:00 2001 From: Stephanie Bak Date: Wed, 28 Feb 2024 08:04:21 +0000 Subject: [PATCH 193/198] Add VTS for roaming mode control Bug: 269196966 Change-Id: I254254ddae535cd7822e6797773e984047359814 Test: atest VtsHalWifiStaIfaceTargetTest --- .../vts/functional/wifi_sta_iface_aidl_test.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp index 51b730179d..b426cdbf1c 100644 --- a/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_sta_iface_aidl_test.cpp @@ -316,6 +316,21 @@ TEST_P(WifiStaIfaceAidlTest, RoamingControl) { EXPECT_TRUE(wifi_sta_iface_->setRoamingState(StaRoamingState::ENABLED).isOk()); } +/* + * RoamingModeControl + */ +TEST_P(WifiStaIfaceAidlTest, RoamingModeControl) { + if (interface_version_ < 2) { + GTEST_SKIP() << "Roaming mode control is available as of sta_iface V2"; + } + if (!isFeatureSupported(IWifiStaIface::FeatureSetMask::ROAMING_MODE_CONTROL)) { + GTEST_SKIP() << "Roaming mode control is not supported."; + } + + // Enable aggressive roaming. + EXPECT_TRUE(wifi_sta_iface_->setRoamingState(StaRoamingState::AGGRESSIVE).isOk()); +} + /* * EnableNDOffload */ From 6ccd95611750399a94b4f6b8a75fc43e648967bd Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Wed, 21 Feb 2024 10:46:35 -0500 Subject: [PATCH 194/198] Refactor biometric virtual HAL config/control for additional ways besides system property Bug: 326227403 Test: atest android.hardware.biometrics.common.ConfigTest Change-Id: Id0aa4961cc732c23f5da140eca81470316834b70 --- biometrics/common/config/Android.bp | 48 ++++ biometrics/common/config/Config.cpp | 150 ++++++++++ .../common/config/include/config/Config.h | 105 +++++++ biometrics/common/config/tests/ConfigTest.cpp | 266 ++++++++++++++++++ biometrics/common/util/include/util/Util.h | 4 +- .../fingerprint/aidl/default/Android.bp | 23 +- .../aidl/default/FakeFingerprintEngine.cpp | 72 ++--- .../default/FakeFingerprintEngineUdfps.cpp | 3 +- .../aidl/default/FakeLockoutTracker.cpp | 15 +- .../fingerprint/aidl/default/Fingerprint.cpp | 26 +- .../aidl/default/FingerprintConfig.cpp | 109 +++++++ .../aidl/default/include/Fingerprint.h | 11 + .../aidl/default/include/FingerprintConfig.h | 27 ++ .../tests/FakeFingerprintEngineTest.cpp | 172 +++++------ .../tests/FakeFingerprintEngineUdfpsTest.cpp | 19 +- .../default/tests/FakeLockoutTrackerTest.cpp | 26 +- 16 files changed, 910 insertions(+), 166 deletions(-) create mode 100644 biometrics/common/config/Android.bp create mode 100644 biometrics/common/config/Config.cpp create mode 100644 biometrics/common/config/include/config/Config.h create mode 100644 biometrics/common/config/tests/ConfigTest.cpp create mode 100644 biometrics/fingerprint/aidl/default/FingerprintConfig.cpp create mode 100644 biometrics/fingerprint/aidl/default/include/FingerprintConfig.h diff --git a/biometrics/common/config/Android.bp b/biometrics/common/config/Android.bp new file mode 100644 index 0000000000..d38ffe861c --- /dev/null +++ b/biometrics/common/config/Android.bp @@ -0,0 +1,48 @@ +// +// 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. +// + +cc_library { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "hardware_interfaces_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + name: "android.hardware.biometrics.common.config", + export_include_dirs: ["include"], + vendor: true, + srcs: [ + "Config.cpp", + ], + shared_libs: [ + "libbase", + "libbinder_ndk", + ], +} + +cc_test_host { + name: "android.hardware.biometrics.common.ConfigTest", + local_include_dirs: ["include"], + srcs: [ + "tests/ConfigTest.cpp", + "Config.cpp", + ], + shared_libs: [ + "libbase", + "libcutils", + "liblog", + ], + test_suites: ["general-tests"], +} diff --git a/biometrics/common/config/Config.cpp b/biometrics/common/config/Config.cpp new file mode 100644 index 0000000000..01ae86461d --- /dev/null +++ b/biometrics/common/config/Config.cpp @@ -0,0 +1,150 @@ +/* + * 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. + */ + +#define LOG_TAG "VirtualHalConfig" + +#include "config/Config.h" +#include +#include +#include "../../util/include/util/Util.h" + +using ::android::base::ParseInt; + +namespace aidl::android::hardware::biometrics { + +Config::Config() : mSource(Config::ConfigSourceType::SOURCE_SYSPROP) {} + +ConfigValue Config::parseBool(const std::string& value) { + OptBool res; + if (value == "true") + res.emplace(true); + else if (value == "false") + res.emplace(false); + else + LOG(ERROR) << "ERROR: invalid bool " << value; + return res; +} + +ConfigValue Config::parseString(const std::string& value) { + OptString res; + if (!value.empty()) res.emplace(value); + return res; +} + +ConfigValue Config::parseInt32(const std::string& value) { + OptInt32 res; + if (!value.empty()) { + std::int32_t val; + if (ParseInt(value, &val)) res.emplace(val); + } + return res; +} + +ConfigValue Config::parseInt64(const std::string& value) { + OptInt64 res; + if (!value.empty()) { + std::int64_t val = std::strtoull(value.c_str(), nullptr, 10); + if (val != 0LL or (val == 0LL && value == "0")) { + res.emplace(val); + } + } + return res; +} + +ConfigValue Config::parseIntVec(const std::string& value) { + OptIntVec res; + for (auto& i : Util::parseIntSequence(value)) { + res.push_back(i); + } + return res; +} + +void Config::init() { + LOG(INFO) << "calling init()"; + int len = 0; + Config::Data* pd = getConfigData(&len); + for (int i = 0; i < len; i++) { + LOG(INFO) << "init():" << pd->name; + pd->value = (this->*(pd->parser))(pd->defaultValue); + setConfig(pd->name, *pd); + ++pd; + } +} + +bool Config::setParam(const std::string& name, const std::string& value) { + auto it = mMap.find(name); + if (it == mMap.end()) { + LOG(ERROR) << "ERROR: setParam unknown config name " << name; + return false; + } + LOG(INFO) << "setParam name=" << name << "=" << value; + + it->second.value = (this->*(it->second.parser))(value); + + mSource = ConfigSourceType::SOURCE_AIDL; + + return true; +} + +ConfigValue Config::getInternal(const std::string& name) { + ConfigValue res; + + auto data = mMap[name]; + switch (mSource) { + case ConfigSourceType::SOURCE_SYSPROP: + res = data.getter(); + break; + case ConfigSourceType::SOURCE_AIDL: + res = data.value; + break; + case ConfigSourceType::SOURCE_FILE: + LOG(WARNING) << "Unsupported"; + break; + default: + LOG(ERROR) << " wrong srouce type " << (int)mSource; + break; + } + + return res; +} + +ConfigValue Config::getDefault(const std::string& name) { + return mMap[name].value; +} + +bool Config::setInternal(const std::string& name, const ConfigValue& val) { + bool res = false; + auto data = mMap[name]; + + switch (mSource) { + case ConfigSourceType::SOURCE_SYSPROP: + res = data.setter(val); + break; + case ConfigSourceType::SOURCE_AIDL: + data.value = val; + res = true; + break; + case ConfigSourceType::SOURCE_FILE: + LOG(WARNING) << "Unsupported"; + break; + default: + LOG(ERROR) << " wrong srouce type " << (int)mSource; + break; + } + + return res; +} +} // namespace aidl::android::hardware::biometrics diff --git a/biometrics/common/config/include/config/Config.h b/biometrics/common/config/include/config/Config.h new file mode 100644 index 0000000000..864e16465f --- /dev/null +++ b/biometrics/common/config/include/config/Config.h @@ -0,0 +1,105 @@ +/* + * 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. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace aidl::android::hardware::biometrics { + +using OptBool = std::optional; +using OptInt32 = std::optional; +using OptInt64 = std::optional; +using OptString = std::optional; +using OptIntVec = std::vector>; + +using ConfigValue = std::variant; + +class Config { + public: + struct Data { + std::string name; + ConfigValue (*getter)(); + bool (*setter)(const ConfigValue&); + ConfigValue (Config::*parser)(const std::string&); + std::string defaultValue; + ConfigValue value; + }; + enum class ConfigSourceType { SOURCE_SYSPROP, SOURCE_AIDL, SOURCE_FILE }; + + public: + Config(); + virtual ~Config() = default; + + template + T get(const std::string& name) { + CHECK(mMap.count(name) > 0) << " biometric/config get invalid name: " << name; + std::optional optval = std::get>(getInternal(name)); + if (!optval) optval = std::get>(getDefault(name)); + if (optval) return optval.value(); + return T(); + } + template + bool set(const std::string& name, const T& val) { + CHECK(mMap.count(name) > 0) << " biometric/config set invalid name: " << name; + std::optional aval(val); + ConfigValue cval(aval); + return setInternal(name, cval); + } + template + T getopt(const std::string& name) { + CHECK(mMap.count(name) > 0) << " biometric/config get invalid name: " << name; + return std::get(getInternal(name)); + } + template + bool setopt(const std::string& name, const T& val) { + CHECK(mMap.count(name) > 0) << " biometric/config set invalid name: " << name; + ConfigValue cval(val); + return setInternal(name, cval); + } + + void init(); + + virtual Config::Data* getConfigData(int* size) = 0; + bool setParam(const std::string& name, const std::string& value); + + ConfigValue parseBool(const std::string& value); + ConfigValue parseString(const std::string& name); + ConfigValue parseInt32(const std::string& value); + ConfigValue parseInt64(const std::string& value); + ConfigValue parseIntVec(const std::string& value); + + protected: + void setConfig(const std::string& name, const Config::Data& value) { mMap[name] = value; } + + private: + ConfigValue getInternal(const std::string& name); + bool setInternal(const std::string& name, const ConfigValue& val); + ConfigValue getDefault(const std::string& name); + + Config::ConfigSourceType mSource; + std::map mMap; +}; + +} // namespace aidl::android::hardware::biometrics diff --git a/biometrics/common/config/tests/ConfigTest.cpp b/biometrics/common/config/tests/ConfigTest.cpp new file mode 100644 index 0000000000..d92204015d --- /dev/null +++ b/biometrics/common/config/tests/ConfigTest.cpp @@ -0,0 +1,266 @@ +/* + * 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. + */ + +#include + +#include "config/Config.h" + +#define LOG_TAG "ConfigTest" +#include + +// using namespace ::testing::Eq; +using namespace testing; + +#define SP_DEFAULT_astring "astringSP" +#define SP_DEFAULT_aint32 32 +#define SP_DEFAULT_aint64 64 +#define SP_DEFAULT_abool false +#define SP_DEFAULT_avector \ + { 1, 2, 3 } +namespace aidl::android::hardware::biometrics { +namespace TestHalProperties { +OptString val_astring = SP_DEFAULT_astring; +OptInt32 val_aint32 = SP_DEFAULT_aint32; +OptInt64 val_aint64 = SP_DEFAULT_aint64; +OptBool val_abool = SP_DEFAULT_abool; +OptIntVec val_avector = SP_DEFAULT_avector; + +OptString astring() { + return val_astring; +} +bool astring(const OptString& v) { + val_astring = v; + return true; +} +OptInt32 aint32() { + return val_aint32; +} +bool aint32(const OptInt32& v) { + val_aint32 = v; + return true; +} +OptInt64 aint64() { + return val_aint64; +} +bool aint64(const OptInt64& v) { + val_aint64 = v; + return true; +} +OptBool abool() { + return val_abool; +} +bool abool(const OptBool& v) { + val_abool = v; + return true; +} +OptIntVec avector() { + return val_avector; +} +bool avector(const OptIntVec& v) { + val_avector = v; + return true; +} +} // namespace TestHalProperties +using namespace TestHalProperties; +#define AIDL_DEFAULT_astring "astringAIDL" +#define AIDL_DEFAULT_aint32 "320" +#define AIDL_DEFAULT_aint64 "640" +#define AIDL_DEFAULT_abool "true" +#define AIDL_DEFAULT_avector "10,20,30" +#define CREATE_GETTER_SETTER_WRAPPER(_NAME_, _T_) \ + ConfigValue _NAME_##Getter() { \ + return TestHalProperties::_NAME_(); \ + } \ + bool _NAME_##Setter(const ConfigValue& v) { \ + return TestHalProperties::_NAME_(std::get<_T_>(v)); \ + } +CREATE_GETTER_SETTER_WRAPPER(astring, OptString) +CREATE_GETTER_SETTER_WRAPPER(aint32, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(aint64, OptInt64) +CREATE_GETTER_SETTER_WRAPPER(abool, OptBool) +CREATE_GETTER_SETTER_WRAPPER(avector, std::vector) + +// Name,Getter, Setter, Parser and default value +#define NGS(_NAME_) #_NAME_, _NAME_##Getter, _NAME_##Setter +static Config::Data configData[] = { + {NGS(astring), &Config::parseString, AIDL_DEFAULT_astring}, + {NGS(aint32), &Config::parseInt32, AIDL_DEFAULT_aint32}, + {NGS(aint64), &Config::parseInt64, AIDL_DEFAULT_aint64}, + {NGS(abool), &Config::parseBool, AIDL_DEFAULT_abool}, + {NGS(avector), &Config::parseIntVec, AIDL_DEFAULT_avector}, +}; + +class TestConfig : public Config { + Config::Data* getConfigData(int* size) { + *size = sizeof(configData) / sizeof(configData[0]); + return configData; + } +}; + +class ConfigTest : public ::testing::Test { + protected: + void SetUp() override { cfg.init(); } + void TearDown() override {} + + void switch2aidl() { cfg.setParam("astring", "astring"); } + + TestConfig cfg; +}; + +TEST_F(ConfigTest, parseInt32) { + std::int32_t defval = 5678; + struct { + std::string strval; + std::int32_t expval; + } values[] = { + {"1234", 1234}, + {"0", 0}, + {"", defval}, + {"xyz", defval}, + }; + for (int i = 0; i < sizeof(values) / sizeof(values[0]); i++) { + ASSERT_EQ((std::get(cfg.parseInt32(values[i].strval))).value_or(defval), + values[i].expval); + } +} + +TEST_F(ConfigTest, parseInt64) { + std::int64_t defval = 5678; + struct { + std::string strval; + std::int64_t expval; + } values[] = { + {"1234", 1234}, {"12345678909876", 12345678909876}, {"0", 0}, {"", defval}, + {"xyz", defval}, + }; + for (int i = 0; i < sizeof(values) / sizeof(values[0]); i++) { + ASSERT_EQ((std::get(cfg.parseInt64(values[i].strval))).value_or(defval), + values[i].expval); + } +} + +TEST_F(ConfigTest, parseBool) { + bool defval = true; + struct { + std::string strval; + bool expval; + } values[] = { + {"false", false}, + {"true", true}, + {"", defval}, + {"xyz", defval}, + }; + for (int i = 0; i < sizeof(values) / sizeof(values[0]); i++) { + ASSERT_EQ((std::get(cfg.parseBool(values[i].strval))).value_or(defval), + values[i].expval); + } +} + +TEST_F(ConfigTest, parseIntVec) { + std::vector> defval = {}; + struct { + std::string strval; + std::vector> expval; + } values[] = { + {"1", {1}}, {"1,2,3", {1, 2, 3}}, {"1,2,b", defval}, {"", defval}, {"xyz", defval}, + }; + for (int i = 0; i < sizeof(values) / sizeof(values[0]); i++) { + ASSERT_EQ(std::get(cfg.parseIntVec(values[i].strval)), values[i].expval); + } +} + +TEST_F(ConfigTest, getters_sp) { + ASSERT_EQ(cfg.get("astring"), val_astring); + ASSERT_EQ(cfg.get("aint32"), val_aint32); + ASSERT_EQ(cfg.get("aint64"), val_aint64); + ASSERT_EQ(cfg.get("abool"), val_abool); + OptIntVec exp{val_avector}; + EXPECT_EQ(cfg.getopt("avector"), exp); +} + +TEST_F(ConfigTest, setters_sp) { + std::string val_astring_new("astringNew"); + ASSERT_TRUE(cfg.set("astring", val_astring_new)); + ASSERT_EQ(cfg.get("astring"), val_astring_new); + + std::int32_t val_aint32_new = val_aint32.value() + 100; + ASSERT_TRUE(cfg.set("aint32", val_aint32_new)); + ASSERT_EQ(cfg.get("aint32"), val_aint32_new); + + std::int64_t val_aint64_new = val_aint64.value() + 200; + ASSERT_TRUE(cfg.set("aint64", val_aint64_new)); + ASSERT_EQ(cfg.get("aint64"), val_aint64_new); + + bool val_abool_new = !val_abool.value(); + ASSERT_TRUE(cfg.set("abool", val_abool_new)); + ASSERT_EQ(cfg.get("abool"), val_abool_new); + + OptIntVec val_avector_new{100, 200}; + ASSERT_TRUE(cfg.setopt("avector", val_avector_new)); + EXPECT_EQ(cfg.getopt("avector"), val_avector_new); +} + +TEST_F(ConfigTest, setters_sp_null) { + val_astring = std::nullopt; + ASSERT_EQ(cfg.get("astring"), + (std::get(cfg.parseString(AIDL_DEFAULT_astring))).value()); +} + +TEST_F(ConfigTest, getters_aidl) { + cfg.setParam("astring", "astringAIDL"); + ASSERT_EQ(cfg.get("astring"), + (std::get(cfg.parseString(AIDL_DEFAULT_astring))).value()); + ASSERT_EQ(cfg.get("aint32"), + (std::get(cfg.parseInt32(AIDL_DEFAULT_aint32))).value()); + ASSERT_EQ(cfg.get("aint64"), + (std::get(cfg.parseInt64(AIDL_DEFAULT_aint64))).value()); + ASSERT_EQ(cfg.get("abool"), + (std::get(cfg.parseBool(AIDL_DEFAULT_abool))).value()); + OptIntVec exp{std::get(cfg.parseIntVec(AIDL_DEFAULT_avector))}; + EXPECT_EQ(cfg.getopt("avector"), exp); +} + +TEST_F(ConfigTest, setters_aidl) { + std::string val_astring_new("astringNewAidl"); + ASSERT_TRUE(cfg.set("astring", val_astring_new)); + ASSERT_EQ(cfg.get("astring"), val_astring_new); + + std::int32_t val_aint32_new = val_aint32.value() + 1000; + ASSERT_TRUE(cfg.set("aint32", val_aint32_new)); + ASSERT_EQ(cfg.get("aint32"), val_aint32_new); + + std::int64_t val_aint64_new = val_aint64.value() + 2000; + ASSERT_TRUE(cfg.set("aint64", val_aint64_new)); + ASSERT_EQ(cfg.get("aint64"), val_aint64_new); + + bool val_abool_new = !val_abool.value(); + ASSERT_TRUE(cfg.set("abool", val_abool_new)); + ASSERT_EQ(cfg.get("abool"), val_abool_new); + + OptIntVec val_avector_new{1000, 2000}; + ASSERT_TRUE(cfg.setopt("avector", val_avector_new)); + EXPECT_EQ(cfg.getopt("avector"), val_avector_new); +} + +TEST_F(ConfigTest, setParam) { + ASSERT_TRUE(cfg.setParam("aint32", "789")); + ASSERT_EQ(cfg.get("aint32"), 789); + ASSERT_TRUE(cfg.setParam("avector", "7,8,9,10")); + OptIntVec val_avector_new{7, 8, 9, 10}; + EXPECT_EQ(cfg.getopt("avector"), val_avector_new); + ASSERT_FALSE(cfg.setParam("unknown", "any")); +} +} // namespace aidl::android::hardware::biometrics diff --git a/biometrics/common/util/include/util/Util.h b/biometrics/common/util/include/util/Util.h index efd66bc373..078669d385 100644 --- a/biometrics/common/util/include/util/Util.h +++ b/biometrics/common/util/include/util/Util.h @@ -80,7 +80,9 @@ class Util { if (ParseInt(seq, &val)) { res.push_back(val); } else { - LOG(WARNING) << "Invalid int sequence:" + str + " seq:" + seq; + if (!str.empty()) { + LOG(WARNING) << "Invalid int sequence:" + str + " seq:" + seq; + } res.clear(); break; } diff --git a/biometrics/fingerprint/aidl/default/Android.bp b/biometrics/fingerprint/aidl/default/Android.bp index c3ec4d0f44..501af07c2b 100644 --- a/biometrics/fingerprint/aidl/default/Android.bp +++ b/biometrics/fingerprint/aidl/default/Android.bp @@ -20,6 +20,7 @@ cc_binary { "FakeFingerprintEngineSide.cpp", "Fingerprint.cpp", "Session.cpp", + "FingerprintConfig.cpp", "main.cpp", ], stl: "c++_static", @@ -34,9 +35,15 @@ cc_binary { "android.hardware.biometrics.common-V4-ndk", "android.hardware.biometrics.common.thread", "android.hardware.biometrics.common.util", + "android.hardware.biometrics.common.config", "android.hardware.keymaster-V4-ndk", ], installable: false, // install APEX instead + product_variables: { + debuggable: { + cflags: ["-DFPS_DEBUGGABLE"], + }, + }, } cc_test { @@ -46,11 +53,11 @@ cc_test { "tests/FakeFingerprintEngineTest.cpp", "FakeFingerprintEngine.cpp", "FakeLockoutTracker.cpp", + "FingerprintConfig.cpp", ], shared_libs: [ "libbase", "libbinder_ndk", - "android.hardware.biometrics.common.thread", ], static_libs: [ "libandroid.hardware.biometrics.fingerprint.VirtualProps", @@ -58,6 +65,8 @@ cc_test { "android.hardware.biometrics.common-V4-ndk", "android.hardware.keymaster-V4-ndk", "android.hardware.biometrics.common.util", + "android.hardware.biometrics.common.config", + "android.hardware.biometrics.common.thread", ], vendor: true, test_suites: ["general-tests"], @@ -72,11 +81,11 @@ cc_test { "FakeFingerprintEngineUdfps.cpp", "FakeFingerprintEngine.cpp", "FakeLockoutTracker.cpp", + "FingerprintConfig.cpp", ], shared_libs: [ "libbase", "libbinder_ndk", - "android.hardware.biometrics.common.thread", ], static_libs: [ "libandroid.hardware.biometrics.fingerprint.VirtualProps", @@ -84,6 +93,8 @@ cc_test { "android.hardware.biometrics.common-V4-ndk", "android.hardware.keymaster-V4-ndk", "android.hardware.biometrics.common.util", + "android.hardware.biometrics.common.config", + "android.hardware.biometrics.common.thread", ], vendor: true, test_suites: ["general-tests"], @@ -96,11 +107,11 @@ cc_test { srcs: [ "tests/FakeLockoutTrackerTest.cpp", "FakeLockoutTracker.cpp", + "FingerprintConfig.cpp", ], shared_libs: [ "libbase", "libbinder_ndk", - "android.hardware.biometrics.common.thread", ], static_libs: [ "libandroid.hardware.biometrics.fingerprint.VirtualProps", @@ -108,6 +119,8 @@ cc_test { "android.hardware.biometrics.common-V4-ndk", "android.hardware.keymaster-V4-ndk", "android.hardware.biometrics.common.util", + "android.hardware.biometrics.common.thread", + "android.hardware.biometrics.common.config", ], vendor: true, test_suites: ["general-tests"], @@ -122,11 +135,11 @@ cc_test { "Session.cpp", "FakeFingerprintEngine.cpp", "FakeLockoutTracker.cpp", + "FingerprintConfig.cpp", ], shared_libs: [ "libbase", "libbinder_ndk", - "android.hardware.biometrics.common.thread", ], static_libs: [ "libandroid.hardware.biometrics.fingerprint.VirtualProps", @@ -134,6 +147,8 @@ cc_test { "android.hardware.biometrics.common-V4-ndk", "android.hardware.keymaster-V4-ndk", "android.hardware.biometrics.common.util", + "android.hardware.biometrics.common.thread", + "android.hardware.biometrics.common.config", ], vendor: true, test_suites: ["general-tests"], diff --git a/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp b/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp index a7acf3d520..8b8d046237 100644 --- a/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp +++ b/biometrics/fingerprint/aidl/default/FakeFingerprintEngine.cpp @@ -40,13 +40,13 @@ void FakeFingerprintEngine::generateChallengeImpl(ISessionCallback* cb) { BEGIN_OP(0); std::uniform_int_distribution dist; auto challenge = dist(mRandom); - FingerprintHalProperties::challenge(challenge); + Fingerprint::cfg().set("challenge", challenge); cb->onChallengeGenerated(challenge); } void FakeFingerprintEngine::revokeChallengeImpl(ISessionCallback* cb, int64_t challenge) { BEGIN_OP(0); - FingerprintHalProperties::challenge({}); + Fingerprint::cfg().setopt("challenge", std::nullopt); cb->onChallengeRevoked(challenge); } @@ -81,8 +81,7 @@ void FakeFingerprintEngine::detectInteractionImpl(ISessionCallback* cb, const std::future& cancel) { BEGIN_OP(0); - auto detectInteractionSupported = - FingerprintHalProperties::detect_interaction().value_or(false); + auto detectInteractionSupported = Fingerprint::cfg().get("detect_interaction"); if (!detectInteractionSupported) { LOG(ERROR) << "Detect interaction is not supported"; cb->onError(Error::UNABLE_TO_PROCESS, 0 /* vendorError */); @@ -131,10 +130,10 @@ void FakeFingerprintEngine::fingerDownAction() { bool FakeFingerprintEngine::onEnrollFingerDown(ISessionCallback* cb, const keymaster::HardwareAuthToken&, const std::future& cancel) { - BEGIN_OP(getLatency(FingerprintHalProperties::operation_enroll_latency())); + BEGIN_OP(getLatency(Fingerprint::cfg().getopt("operation_enroll_latency"))); // Force error-out - auto err = FingerprintHalProperties::operation_enroll_error().value_or(0); + auto err = Fingerprint::cfg().get("operation_enroll_error"); if (err != 0) { LOG(ERROR) << "Fail: operation_enroll_error"; auto ec = convertError(err); @@ -143,7 +142,7 @@ bool FakeFingerprintEngine::onEnrollFingerDown(ISessionCallback* cb, } // Format is ":,...: - auto nextEnroll = FingerprintHalProperties::next_enrollment().value_or(""); + auto nextEnroll = Fingerprint::cfg().get("next_enrollment"); auto parts = Util::split(nextEnroll, ":"); if (parts.size() != 3) { LOG(ERROR) << "Fail: invalid next_enrollment:" << nextEnroll; @@ -172,19 +171,19 @@ bool FakeFingerprintEngine::onEnrollFingerDown(ISessionCallback* cb, if (left == 0 && !IS_TRUE(parts[2])) { // end and failed LOG(ERROR) << "Fail: requested by caller: " << nextEnroll; - FingerprintHalProperties::next_enrollment({}); + Fingerprint::cfg().set("next_enrollment", ""); cb->onError(Error::UNABLE_TO_PROCESS, 0 /* vendorCode */); } else { // progress and update props if last time LOG(INFO) << "onEnroll: " << enrollmentId << " left: " << left; if (left == 0) { - auto enrollments = FingerprintHalProperties::enrollments(); + auto enrollments = Fingerprint::cfg().getopt("enrollments"); enrollments.emplace_back(enrollmentId); - FingerprintHalProperties::enrollments(enrollments); - FingerprintHalProperties::next_enrollment({}); + Fingerprint::cfg().setopt("enrollments", enrollments); + Fingerprint::cfg().setopt("next_enrollment", std::nullopt); // change authenticatorId after new enrollment - auto id = FingerprintHalProperties::authenticator_id().value_or(0); + auto id = Fingerprint::cfg().get("authenticator_id"); auto newId = id + 1; - FingerprintHalProperties::authenticator_id(newId); + Fingerprint::cfg().set("authenticator_id", newId); LOG(INFO) << "Enrolled: " << enrollmentId; } cb->onEnrollmentProgress(enrollmentId, left); @@ -197,11 +196,11 @@ bool FakeFingerprintEngine::onEnrollFingerDown(ISessionCallback* cb, bool FakeFingerprintEngine::onAuthenticateFingerDown(ISessionCallback* cb, int64_t /* operationId */, const std::future& cancel) { - BEGIN_OP(getLatency(FingerprintHalProperties::operation_authenticate_latency())); + BEGIN_OP(getLatency(Fingerprint::cfg().getopt("operation_authenticate_latency"))); int64_t now = Util::getSystemNanoTime(); - int64_t duration = FingerprintHalProperties::operation_authenticate_duration().value_or(10); - auto acquired = FingerprintHalProperties::operation_authenticate_acquired().value_or("1"); + int64_t duration = Fingerprint::cfg().get("operation_authenticate_duration"); + auto acquired = Fingerprint::cfg().get("operation_authenticate_acquired"); auto acquiredInfos = Util::parseIntSequence(acquired); int N = acquiredInfos.size(); @@ -218,14 +217,14 @@ bool FakeFingerprintEngine::onAuthenticateFingerDown(ISessionCallback* cb, int i = 0; do { - if (FingerprintHalProperties::operation_authenticate_fails().value_or(false)) { + if (Fingerprint::cfg().get("operation_authenticate_fails")) { LOG(ERROR) << "Fail: operation_authenticate_fails"; mLockoutTracker.addFailedAttempt(); cb->onAuthenticationFailed(); return false; } - auto err = FingerprintHalProperties::operation_authenticate_error().value_or(0); + auto err = Fingerprint::cfg().get("operation_authenticate_error"); if (err != 0) { LOG(ERROR) << "Fail: operation_authenticate_error"; auto ec = convertError(err); @@ -234,7 +233,7 @@ bool FakeFingerprintEngine::onAuthenticateFingerDown(ISessionCallback* cb, revisit if tests need*/ } - if (FingerprintHalProperties::lockout().value_or(false)) { + if (Fingerprint::cfg().get("lockout")) { LOG(ERROR) << "Fail: lockout"; cb->onLockoutPermanent(); cb->onError(Error::HW_UNAVAILABLE, 0 /* vendorError */); @@ -256,8 +255,8 @@ bool FakeFingerprintEngine::onAuthenticateFingerDown(ISessionCallback* cb, SLEEP_MS(duration / N); } while (!Util::hasElapsed(now, duration)); - auto id = FingerprintHalProperties::enrollment_hit().value_or(0); - auto enrolls = FingerprintHalProperties::enrollments(); + auto id = Fingerprint::cfg().get("enrollment_hit"); + auto enrolls = Fingerprint::cfg().getopt("enrollments"); auto isEnrolled = std::find(enrolls.begin(), enrolls.end(), id) != enrolls.end(); if (id > 0 && isEnrolled) { cb->onAuthenticationSucceeded(id, {} /* hat */); @@ -274,12 +273,13 @@ bool FakeFingerprintEngine::onAuthenticateFingerDown(ISessionCallback* cb, bool FakeFingerprintEngine::onDetectInteractFingerDown(ISessionCallback* cb, const std::future& cancel) { - BEGIN_OP(getLatency(FingerprintHalProperties::operation_detect_interaction_latency())); + BEGIN_OP(getLatency( + Fingerprint::cfg().getopt("operation_detect_interaction_latency"))); - int64_t duration = - FingerprintHalProperties::operation_detect_interaction_duration().value_or(10); + int32_t duration = + Fingerprint::cfg().get("operation_detect_interaction_duration"); - auto acquired = FingerprintHalProperties::operation_detect_interaction_acquired().value_or("1"); + auto acquired = Fingerprint::cfg().get("operation_detect_interaction_acquired"); auto acquiredInfos = Util::parseIntSequence(acquired); int N = acquiredInfos.size(); int64_t now = Util::getSystemNanoTime(); @@ -292,7 +292,7 @@ bool FakeFingerprintEngine::onDetectInteractFingerDown(ISessionCallback* cb, int i = 0; do { - auto err = FingerprintHalProperties::operation_detect_interaction_error().value_or(0); + auto err = Fingerprint::cfg().get("operation_detect_interaction_error"); if (err != 0) { LOG(ERROR) << "Fail: operation_detect_interaction_error"; auto ec = convertError(err); @@ -323,7 +323,7 @@ void FakeFingerprintEngine::enumerateEnrollmentsImpl(ISessionCallback* cb) { BEGIN_OP(0); std::vector ids; - for (auto& enrollment : FingerprintHalProperties::enrollments()) { + for (auto& enrollment : Fingerprint::cfg().getopt("enrollments")) { auto id = enrollment.value_or(0); if (id > 0) { ids.push_back(id); @@ -339,7 +339,7 @@ void FakeFingerprintEngine::removeEnrollmentsImpl(ISessionCallback* cb, std::vector> newEnrollments; std::vector removed; - for (auto& enrollment : FingerprintHalProperties::enrollments()) { + for (auto& enrollment : Fingerprint::cfg().getopt("enrollments")) { auto id = enrollment.value_or(0); if (std::find(enrollmentIds.begin(), enrollmentIds.end(), id) != enrollmentIds.end()) { removed.push_back(id); @@ -347,7 +347,7 @@ void FakeFingerprintEngine::removeEnrollmentsImpl(ISessionCallback* cb, newEnrollments.emplace_back(id); } } - FingerprintHalProperties::enrollments(newEnrollments); + Fingerprint::cfg().setopt("enrollments", newEnrollments); cb->onEnrollmentsRemoved(enrollmentIds); } @@ -355,10 +355,10 @@ void FakeFingerprintEngine::removeEnrollmentsImpl(ISessionCallback* cb, void FakeFingerprintEngine::getAuthenticatorIdImpl(ISessionCallback* cb) { BEGIN_OP(0); int64_t authenticatorId; - if (FingerprintHalProperties::enrollments().size() == 0) { + if (Fingerprint::cfg().getopt("enrollments").size() == 0) { authenticatorId = 0; } else { - authenticatorId = FingerprintHalProperties::authenticator_id().value_or(0); + authenticatorId = Fingerprint::cfg().get("authenticator_id"); if (authenticatorId == 0) authenticatorId = 1; } cb->onAuthenticatorIdRetrieved(authenticatorId); @@ -367,13 +367,13 @@ void FakeFingerprintEngine::getAuthenticatorIdImpl(ISessionCallback* cb) { void FakeFingerprintEngine::invalidateAuthenticatorIdImpl(ISessionCallback* cb) { BEGIN_OP(0); int64_t newId; - if (FingerprintHalProperties::enrollments().size() == 0) { + if (Fingerprint::cfg().getopt("enrollments").size() == 0) { newId = 0; } else { - auto id = FingerprintHalProperties::authenticator_id().value_or(0); + auto id = Fingerprint::cfg().get("authenticator_id"); newId = id + 1; } - FingerprintHalProperties::authenticator_id(newId); + Fingerprint::cfg().set("authenticator_id", newId); cb->onAuthenticatorIdInvalidated(newId); } @@ -390,7 +390,7 @@ void FakeFingerprintEngine::resetLockoutImpl(ISessionCallback* cb, } void FakeFingerprintEngine::clearLockout(ISessionCallback* cb) { - FingerprintHalProperties::lockout(false); + Fingerprint::cfg().set("lockout", false); cb->onLockoutCleared(); mLockoutTracker.reset(); } @@ -415,7 +415,7 @@ ndk::ScopedAStatus FakeFingerprintEngine::onUiReadyImpl() { } bool FakeFingerprintEngine::getSensorLocationConfig(SensorLocation& out) { - auto loc = FingerprintHalProperties::sensor_location().value_or(""); + auto loc = Fingerprint::cfg().get("sensor_location"); auto isValidStr = false; auto dim = Util::split(loc, ":"); diff --git a/biometrics/fingerprint/aidl/default/FakeFingerprintEngineUdfps.cpp b/biometrics/fingerprint/aidl/default/FakeFingerprintEngineUdfps.cpp index 68b0f0d0de..496b5e3f12 100644 --- a/biometrics/fingerprint/aidl/default/FakeFingerprintEngineUdfps.cpp +++ b/biometrics/fingerprint/aidl/default/FakeFingerprintEngineUdfps.cpp @@ -20,6 +20,7 @@ #include +#include "Fingerprint.h" #include "util/CancellationSignal.h" #include "util/Util.h" @@ -45,7 +46,7 @@ ndk::ScopedAStatus FakeFingerprintEngineUdfps::onPointerDownImpl(int32_t /*point BEGIN_OP(0); // verify whetehr touch coordinates/area matching sensor location ? mPointerDownTime = Util::getSystemNanoTime(); - if (FingerprintHalProperties::control_illumination().value_or(false)) { + if (Fingerprint::cfg().get("control_illumination")) { fingerDownAction(); } return ndk::ScopedAStatus::ok(); diff --git a/biometrics/fingerprint/aidl/default/FakeLockoutTracker.cpp b/biometrics/fingerprint/aidl/default/FakeLockoutTracker.cpp index b0163ee246..a056db50d0 100644 --- a/biometrics/fingerprint/aidl/default/FakeLockoutTracker.cpp +++ b/biometrics/fingerprint/aidl/default/FakeLockoutTracker.cpp @@ -16,6 +16,7 @@ #include "FakeLockoutTracker.h" #include +#include "Fingerprint.h" #include "util/Util.h" using namespace ::android::fingerprint::virt; @@ -29,16 +30,16 @@ void FakeLockoutTracker::reset() { } void FakeLockoutTracker::addFailedAttempt() { - bool enabled = FingerprintHalProperties::lockout_enable().value_or(false); + bool enabled = Fingerprint::cfg().get("lockout_enable"); if (enabled) { mFailedCount++; int32_t lockoutTimedThreshold = - FingerprintHalProperties::lockout_timed_threshold().value_or(5); + Fingerprint::cfg().get("lockout_timed_threshold"); int32_t lockoutPermanetThreshold = - FingerprintHalProperties::lockout_permanent_threshold().value_or(20); + Fingerprint::cfg().get("lockout_permanent_threshold"); if (mFailedCount >= lockoutPermanetThreshold) { mCurrentMode = LockoutMode::kPermanent; - FingerprintHalProperties::lockout(true); + Fingerprint::cfg().set("lockout", true); } else if (mFailedCount >= lockoutTimedThreshold) { if (mCurrentMode == LockoutMode::kNone) { mCurrentMode = LockoutMode::kTimed; @@ -53,7 +54,7 @@ void FakeLockoutTracker::addFailedAttempt() { FakeLockoutTracker::LockoutMode FakeLockoutTracker::getMode() { if (mCurrentMode == LockoutMode::kTimed) { int32_t lockoutTimedDuration = - FingerprintHalProperties::lockout_timed_duration().value_or(10 * 100); + Fingerprint::cfg().get("lockout_timed_duration"); if (Util::hasElapsed(mLockoutTimedStart, lockoutTimedDuration)) { mCurrentMode = LockoutMode::kNone; mLockoutTimedStart = 0; @@ -68,11 +69,11 @@ int64_t FakeLockoutTracker::getLockoutTimeLeft() { if (mLockoutTimedStart > 0) { int32_t lockoutTimedDuration = - FingerprintHalProperties::lockout_timed_duration().value_or(10 * 100); + Fingerprint::cfg().get("lockout_timed_duration"); auto now = Util::getSystemNanoTime(); auto elapsed = (now - mLockoutTimedStart) / 1000000LL; res = lockoutTimedDuration - elapsed; - LOG(INFO) << "xxxxxx: elapsed=" << elapsed << " now = " << now + LOG(INFO) << "elapsed=" << elapsed << " now = " << now << " mLockoutTimedStart=" << mLockoutTimedStart << " res=" << res; } diff --git a/biometrics/fingerprint/aidl/default/Fingerprint.cpp b/biometrics/fingerprint/aidl/default/Fingerprint.cpp index 79b563e5ad..dded54b436 100644 --- a/biometrics/fingerprint/aidl/default/Fingerprint.cpp +++ b/biometrics/fingerprint/aidl/default/Fingerprint.cpp @@ -43,7 +43,7 @@ constexpr char SW_VERSION[] = "vendor/version/revision"; } // namespace Fingerprint::Fingerprint() : mWorker(MAX_WORKER_QUEUE_SIZE) { - std::string sensorTypeProp = FingerprintHalProperties::type().value_or(""); + std::string sensorTypeProp = Fingerprint::cfg().get("type"); if (sensorTypeProp == "" || sensorTypeProp == "default" || sensorTypeProp == "rear") { mSensorType = FingerprintSensorType::REAR; mEngine = std::make_unique(); @@ -68,15 +68,13 @@ ndk::ScopedAStatus Fingerprint::getSensorProps(std::vector* out) { {HW_COMPONENT_ID, HW_VERSION, FW_VERSION, SERIAL_NUMBER, "" /* softwareVersion */}, {SW_COMPONENT_ID, "" /* hardwareVersion */, "" /* firmwareVersion */, "" /* serialNumber */, SW_VERSION}}; - auto sensorId = FingerprintHalProperties::sensor_id().value_or(SENSOR_ID); - auto sensorStrength = - FingerprintHalProperties::sensor_strength().value_or((int)SENSOR_STRENGTH); - auto maxEnrollments = - FingerprintHalProperties::max_enrollments().value_or(MAX_ENROLLMENTS_PER_USER); - auto navigationGuesture = FingerprintHalProperties::navigation_guesture().value_or(false); - auto detectInteraction = FingerprintHalProperties::detect_interaction().value_or(false); - auto displayTouch = FingerprintHalProperties::display_touch().value_or(true); - auto controlIllumination = FingerprintHalProperties::control_illumination().value_or(false); + auto sensorId = Fingerprint::cfg().get("sensor_id"); + auto sensorStrength = Fingerprint::cfg().get("sensor_strength"); + auto maxEnrollments = Fingerprint::cfg().get("max_enrollments"); + auto navigationGuesture = Fingerprint::cfg().get("navigation_guesture"); + auto detectInteraction = Fingerprint::cfg().get("detect_interaction"); + auto displayTouch = Fingerprint::cfg().get("display_touch"); + auto controlIllumination = Fingerprint::cfg().get("control_illumination"); common::CommonProps commonProps = {sensorId, (common::SensorStrength)sensorStrength, maxEnrollments, componentInfo}; @@ -166,6 +164,14 @@ void Fingerprint::onHelp(int fd) { void Fingerprint::resetConfigToDefault() { LOG(INFO) << __func__ << ": reset virtual HAL configuration to default"; + Fingerprint::cfg().init(); +#ifdef FPS_DEBUGGABLE + clearConfigSysprop(); +#endif +} + +void Fingerprint::clearConfigSysprop() { + LOG(INFO) << __func__ << ": clear all systprop configuration"; #define RESET_CONFIG_O(__NAME__) \ if (FingerprintHalProperties::__NAME__()) FingerprintHalProperties::__NAME__(std::nullopt) #define RESET_CONFIG_V(__NAME__) \ diff --git a/biometrics/fingerprint/aidl/default/FingerprintConfig.cpp b/biometrics/fingerprint/aidl/default/FingerprintConfig.cpp new file mode 100644 index 0000000000..82c5403176 --- /dev/null +++ b/biometrics/fingerprint/aidl/default/FingerprintConfig.cpp @@ -0,0 +1,109 @@ +/* + * 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. + */ + +#define LOG_TAG "FingerprintConfig" + +#include "FingerprintConfig.h" + +#include + +#include + +using namespace ::android::fingerprint::virt; + +namespace aidl::android::hardware::biometrics::fingerprint { + +// Wrapper to system property access functions +#define CREATE_GETTER_SETTER_WRAPPER(_NAME_, _T_) \ + ConfigValue _NAME_##Getter() { \ + return FingerprintHalProperties::_NAME_(); \ + } \ + bool _NAME_##Setter(const ConfigValue& v) { \ + return FingerprintHalProperties::_NAME_(std::get<_T_>(v)); \ + } + +CREATE_GETTER_SETTER_WRAPPER(type, OptString) +CREATE_GETTER_SETTER_WRAPPER(enrollments, OptIntVec) +CREATE_GETTER_SETTER_WRAPPER(enrollment_hit, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(next_enrollment, OptString) +CREATE_GETTER_SETTER_WRAPPER(authenticator_id, OptInt64) +CREATE_GETTER_SETTER_WRAPPER(challenge, OptInt64) +CREATE_GETTER_SETTER_WRAPPER(sensor_id, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(sensor_location, OptString) +CREATE_GETTER_SETTER_WRAPPER(sensor_strength, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_authenticate_fails, OptBool) +CREATE_GETTER_SETTER_WRAPPER(operation_authenticate_latency, OptIntVec) +CREATE_GETTER_SETTER_WRAPPER(operation_authenticate_duration, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_authenticate_error, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_authenticate_acquired, OptString) +CREATE_GETTER_SETTER_WRAPPER(operation_enroll_error, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_enroll_latency, OptIntVec) +CREATE_GETTER_SETTER_WRAPPER(operation_detect_interaction_error, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_detect_interaction_latency, OptIntVec) +CREATE_GETTER_SETTER_WRAPPER(operation_detect_interaction_duration, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(operation_detect_interaction_acquired, OptString) +CREATE_GETTER_SETTER_WRAPPER(max_enrollments, OptBool) +CREATE_GETTER_SETTER_WRAPPER(navigation_guesture, OptBool) +CREATE_GETTER_SETTER_WRAPPER(detect_interaction, OptBool) +CREATE_GETTER_SETTER_WRAPPER(display_touch, OptBool) +CREATE_GETTER_SETTER_WRAPPER(control_illumination, OptBool) +CREATE_GETTER_SETTER_WRAPPER(lockout, OptBool) +CREATE_GETTER_SETTER_WRAPPER(lockout_enable, OptBool) +CREATE_GETTER_SETTER_WRAPPER(lockout_timed_threshold, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(lockout_timed_duration, OptInt32) +CREATE_GETTER_SETTER_WRAPPER(lockout_permanent_threshold, OptInt32) + +// Name, Getter, Setter, Parser and default value +#define NGS(_NAME_) #_NAME_, _NAME_##Getter, _NAME_##Setter +static Config::Data configData[] = { + {NGS(type), &Config::parseString, "rear"}, + {NGS(enrollments), &Config::parseIntVec, ""}, + {NGS(enrollment_hit), &Config::parseInt32, "0"}, + {NGS(next_enrollment), &Config::parseString, ""}, + {NGS(authenticator_id), &Config::parseInt64, "0"}, + {NGS(challenge), &Config::parseInt64, ""}, + {NGS(sensor_id), &Config::parseInt32, "5"}, + {NGS(sensor_location), &Config::parseString, ""}, + {NGS(sensor_strength), &Config::parseInt32, "2"}, // STRONG + {NGS(operation_authenticate_fails), &Config::parseBool, "false"}, + {NGS(operation_authenticate_latency), &Config::parseIntVec, ""}, + {NGS(operation_authenticate_duration), &Config::parseInt32, "10"}, + {NGS(operation_authenticate_error), &Config::parseInt32, "0"}, + {NGS(operation_authenticate_acquired), &Config::parseString, "1"}, + {NGS(operation_enroll_error), &Config::parseInt32, "0"}, + {NGS(operation_enroll_latency), &Config::parseIntVec, ""}, + {NGS(operation_detect_interaction_latency), &Config::parseIntVec, ""}, + {NGS(operation_detect_interaction_error), &Config::parseInt32, "0"}, + {NGS(operation_detect_interaction_duration), &Config::parseInt32, "10"}, + {NGS(operation_detect_interaction_acquired), &Config::parseString, "1"}, + {NGS(max_enrollments), &Config::parseInt32, "5"}, + {NGS(navigation_guesture), &Config::parseBool, "false"}, + {NGS(detect_interaction), &Config::parseBool, "false"}, + {NGS(display_touch), &Config::parseBool, "true"}, + {NGS(control_illumination), &Config::parseBool, "false"}, + {NGS(lockout), &Config::parseBool, "false"}, + {NGS(lockout_enable), &Config::parseBool, "false"}, + {NGS(lockout_timed_threshold), &Config::parseInt32, "5"}, + {NGS(lockout_timed_duration), &Config::parseInt32, "10000"}, + {NGS(lockout_permanent_threshold), &Config::parseInt32, "20"}, +}; + +Config::Data* FingerprintConfig::getConfigData(int* size) { + *size = sizeof(configData) / sizeof(configData[0]); + return configData; +} + +} // namespace aidl::android::hardware::biometrics::fingerprint diff --git a/biometrics/fingerprint/aidl/default/include/Fingerprint.h b/biometrics/fingerprint/aidl/default/include/Fingerprint.h index 2bd66d4e0b..1576f0715c 100644 --- a/biometrics/fingerprint/aidl/default/include/Fingerprint.h +++ b/biometrics/fingerprint/aidl/default/include/Fingerprint.h @@ -23,6 +23,7 @@ #include "FakeFingerprintEngineSide.h" #include "FakeFingerprintEngineUdfps.h" +#include "FingerprintConfig.h" #include "Session.h" #include "thread/WorkerThread.h" @@ -40,10 +41,20 @@ class Fingerprint : public BnFingerprint { binder_status_t dump(int fd, const char** args, uint32_t numArgs); binder_status_t handleShellCommand(int in, int out, int err, const char** argv, uint32_t argc); + static FingerprintConfig& cfg() { + static FingerprintConfig* cfg = nullptr; + if (cfg == nullptr) { + cfg = new FingerprintConfig(); + cfg->init(); + } + return *cfg; + } + private: void resetConfigToDefault(); void onHelp(int); void onSimFingerDown(); + void clearConfigSysprop(); std::unique_ptr mEngine; WorkerThread mWorker; diff --git a/biometrics/fingerprint/aidl/default/include/FingerprintConfig.h b/biometrics/fingerprint/aidl/default/include/FingerprintConfig.h new file mode 100644 index 0000000000..bd1ad4c904 --- /dev/null +++ b/biometrics/fingerprint/aidl/default/include/FingerprintConfig.h @@ -0,0 +1,27 @@ +/* + * 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. + */ + +#pragma once + +#include "config/Config.h" + +namespace aidl::android::hardware::biometrics::fingerprint { + +class FingerprintConfig : public Config { + Config::Data* getConfigData(int* size) override; +}; + +} // namespace aidl::android::hardware::biometrics::fingerprint diff --git a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp index 8b06c8ee50..039f25ea82 100644 --- a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp +++ b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineTest.cpp @@ -21,6 +21,7 @@ #include #include "FakeFingerprintEngine.h" +#include "Fingerprint.h" #include "util/Util.h" using namespace ::android::fingerprint::virt; @@ -125,21 +126,20 @@ class TestSessionCallback : public BnSessionCallback { class FakeFingerprintEngineTest : public ::testing::Test { protected: void SetUp() override { - FingerprintHalProperties::operation_enroll_latency({0}); - FingerprintHalProperties::operation_authenticate_latency({0}); - FingerprintHalProperties::operation_detect_interaction_latency({0}); + Fingerprint::cfg().setopt("operation_enroll_latency", {0}); + Fingerprint::cfg().setopt("operation_authenticate_latency", {0}); + Fingerprint::cfg().setopt("operation_detect_interaction_latency", {0}); mCallback = ndk::SharedRefBase::make(); } void TearDown() override { - FingerprintHalProperties::operation_authenticate_error(0); - FingerprintHalProperties::operation_detect_interaction_error(0); - FingerprintHalProperties::operation_authenticate_acquired(""); - FingerprintHalProperties::operation_enroll_latency({}); - FingerprintHalProperties::operation_authenticate_latency({}); - FingerprintHalProperties::operation_detect_interaction_latency({}); - FingerprintHalProperties::operation_authenticate_fails(false); - FingerprintHalProperties::operation_detect_interaction_latency({}); + Fingerprint::cfg().set("operation_authenticate_error", 0); + Fingerprint::cfg().set("operation_detect_interaction_error", 0); + Fingerprint::cfg().set("operation_authenticate_acquired", ""); + Fingerprint::cfg().setopt("operation_enroll_latency", {}); + Fingerprint::cfg().setopt("operation_authenticate_latency", {}); + Fingerprint::cfg().setopt("operation_detect_interaction_latency", {}); + Fingerprint::cfg().set("operation_authenticate_fails", false); } FakeFingerprintEngine mEngine; @@ -149,58 +149,58 @@ class FakeFingerprintEngineTest : public ::testing::Test { TEST_F(FakeFingerprintEngineTest, GenerateChallenge) { mEngine.generateChallengeImpl(mCallback.get()); - ASSERT_EQ(FingerprintHalProperties::challenge().value(), mCallback->mLastChallenge); + ASSERT_EQ(Fingerprint::cfg().get("challenge"), mCallback->mLastChallenge); } TEST_F(FakeFingerprintEngineTest, RevokeChallenge) { - auto challenge = FingerprintHalProperties::challenge().value_or(10); + auto challenge = Fingerprint::cfg().get("challenge"); mEngine.revokeChallengeImpl(mCallback.get(), challenge); - ASSERT_FALSE(FingerprintHalProperties::challenge().has_value()); + ASSERT_FALSE((Fingerprint::cfg().getopt("challenge")).has_value()); ASSERT_EQ(challenge, mCallback->mLastChallengeRevoked); } TEST_F(FakeFingerprintEngineTest, ResetLockout) { - FingerprintHalProperties::lockout(true); + Fingerprint::cfg().get("lockout"); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; mEngine.resetLockoutImpl(mCallback.get(), hat); - ASSERT_FALSE(FingerprintHalProperties::lockout().value_or(true)); + ASSERT_FALSE(Fingerprint::cfg().get("lockout")); } TEST_F(FakeFingerprintEngineTest, AuthenticatorId) { - FingerprintHalProperties::enrollments({1}); - FingerprintHalProperties::authenticator_id(50); + Fingerprint::cfg().setopt("enrollments", {1}); + Fingerprint::cfg().set("authenticator_id", 50); mEngine.getAuthenticatorIdImpl(mCallback.get()); ASSERT_EQ(50, mCallback->mLastAuthenticatorId); ASSERT_FALSE(mCallback->mAuthenticatorIdInvalidated); } TEST_F(FakeFingerprintEngineTest, AuthenticatorIdInvalidate) { - FingerprintHalProperties::authenticator_id(500); + Fingerprint::cfg().set("authenticator_id", 500); mEngine.invalidateAuthenticatorIdImpl(mCallback.get()); - ASSERT_NE(500, FingerprintHalProperties::authenticator_id().value()); + ASSERT_NE(500, Fingerprint::cfg().get("authenticator_id")); ASSERT_TRUE(mCallback->mAuthenticatorIdInvalidated); } TEST_F(FakeFingerprintEngineTest, Enroll) { - FingerprintHalProperties::enrollments({}); - FingerprintHalProperties::next_enrollment("4:0,0:true"); + Fingerprint::cfg().setopt("enrollments", {}); + Fingerprint::cfg().set("next_enrollment", "4:0,0:true"); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kEnroll); mEngine.fingerDownAction(); - ASSERT_FALSE(FingerprintHalProperties::next_enrollment().has_value()); - ASSERT_EQ(1, FingerprintHalProperties::enrollments().size()); - ASSERT_EQ(4, FingerprintHalProperties::enrollments()[0].value()); + ASSERT_FALSE(Fingerprint::cfg().getopt("next_enrollment").has_value()); + ASSERT_EQ(1, Fingerprint::cfg().getopt("enrollments").size()); + ASSERT_EQ(4, Fingerprint::cfg().getopt("enrollments")[0].value()); ASSERT_EQ(4, mCallback->mLastEnrolled); ASSERT_EQ(1, mCallback->mLastAcquiredInfo); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kIdle); } TEST_F(FakeFingerprintEngineTest, EnrollCancel) { - FingerprintHalProperties::enrollments({}); + Fingerprint::cfg().setopt("enrollments", {}); auto next = "4:0,0:true"; - FingerprintHalProperties::next_enrollment(next); + Fingerprint::cfg().set("next_enrollment", next); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; mCancel.set_value(); mEngine.notifyFingerdown(); @@ -208,35 +208,35 @@ TEST_F(FakeFingerprintEngineTest, EnrollCancel) { mEngine.fingerDownAction(); ASSERT_EQ(Error::CANCELED, mCallback->mError); ASSERT_EQ(-1, mCallback->mLastEnrolled); - ASSERT_EQ(0, FingerprintHalProperties::enrollments().size()); - ASSERT_EQ(next, FingerprintHalProperties::next_enrollment().value_or("")); + ASSERT_EQ(0, Fingerprint::cfg().getopt("enrollments").size()); + ASSERT_EQ(next, Fingerprint::cfg().get("next_enrollment")); } TEST_F(FakeFingerprintEngineTest, EnrollFail) { - FingerprintHalProperties::enrollments({}); + Fingerprint::cfg().setopt("enrollments", {}); auto next = "2:0,0:false"; - FingerprintHalProperties::next_enrollment(next); + Fingerprint::cfg().set("next_enrollment", next); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); mEngine.fingerDownAction(); ASSERT_EQ(Error::UNABLE_TO_PROCESS, mCallback->mError); ASSERT_EQ(-1, mCallback->mLastEnrolled); - ASSERT_EQ(0, FingerprintHalProperties::enrollments().size()); - ASSERT_FALSE(FingerprintHalProperties::next_enrollment().has_value()); + ASSERT_EQ(0, Fingerprint::cfg().getopt("enrollments").size()); + ASSERT_FALSE(Fingerprint::cfg().getopt("next_enrollment").has_value()); } TEST_F(FakeFingerprintEngineTest, EnrollAcquired) { - FingerprintHalProperties::enrollments({}); - FingerprintHalProperties::next_enrollment("4:0,5-[12,1013]:true"); + Fingerprint::cfg().setopt("enrollments", {}); + Fingerprint::cfg().set("next_enrollment", "4:0,5-[12,1013]:true"); keymaster::HardwareAuthToken hat{.mac = {2, 4}}; int32_t prevCnt = mCallback->mLastAcquiredCount; mEngine.notifyFingerdown(); mEngine.enrollImpl(mCallback.get(), hat, mCancel.get_future()); mEngine.fingerDownAction(); - ASSERT_FALSE(FingerprintHalProperties::next_enrollment().has_value()); - ASSERT_EQ(1, FingerprintHalProperties::enrollments().size()); - ASSERT_EQ(4, FingerprintHalProperties::enrollments()[0].value()); + ASSERT_FALSE(Fingerprint::cfg().getopt("next_enrollment").has_value()); + ASSERT_EQ(1, Fingerprint::cfg().getopt("enrollments").size()); + ASSERT_EQ(4, Fingerprint::cfg().getopt("enrollments")[0].value()); ASSERT_EQ(4, mCallback->mLastEnrolled); ASSERT_EQ(prevCnt + 3, mCallback->mLastAcquiredCount); ASSERT_EQ(7, mCallback->mLastAcquiredInfo); @@ -244,8 +244,8 @@ TEST_F(FakeFingerprintEngineTest, EnrollAcquired) { } TEST_F(FakeFingerprintEngineTest, Authenticate) { - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kAuthenticate); @@ -257,8 +257,8 @@ TEST_F(FakeFingerprintEngineTest, Authenticate) { } TEST_F(FakeFingerprintEngineTest, AuthenticateCancel) { - FingerprintHalProperties::enrollments({2}); - FingerprintHalProperties::enrollment_hit(2); + Fingerprint::cfg().setopt("enrollments", {2}); + Fingerprint::cfg().set("enrollment_hit", 2); mCancel.set_value(); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); @@ -268,8 +268,8 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateCancel) { } TEST_F(FakeFingerprintEngineTest, AuthenticateNotSet) { - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit({}); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().setopt("enrollment_hit", std::nullopt); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -277,8 +277,8 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateNotSet) { } TEST_F(FakeFingerprintEngineTest, AuthenticateNotEnrolled) { - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(3); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 3); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -287,9 +287,9 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateNotEnrolled) { } TEST_F(FakeFingerprintEngineTest, AuthenticateLockout) { - FingerprintHalProperties::enrollments({22, 2}); - FingerprintHalProperties::enrollment_hit(2); - FingerprintHalProperties::lockout(true); + Fingerprint::cfg().setopt("enrollments", {22, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); + Fingerprint::cfg().set("lockout", true); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -298,7 +298,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateLockout) { } TEST_F(FakeFingerprintEngineTest, AuthenticateError8) { - FingerprintHalProperties::operation_authenticate_error(8); + Fingerprint::cfg().set("operation_authenticate_error", 8); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -307,7 +307,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateError8) { } TEST_F(FakeFingerprintEngineTest, AuthenticateError9) { - FingerprintHalProperties::operation_authenticate_error(1009); + Fingerprint::cfg().set("operation_authenticate_error", 1009); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -316,7 +316,7 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateError9) { } TEST_F(FakeFingerprintEngineTest, AuthenticateFails) { - FingerprintHalProperties::operation_authenticate_fails(true); + Fingerprint::cfg().set("operation_authenticate_fails", true); mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); mEngine.fingerDownAction(); @@ -325,10 +325,10 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateFails) { } TEST_F(FakeFingerprintEngineTest, AuthenticateAcquired) { - FingerprintHalProperties::lockout(false); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); - FingerprintHalProperties::operation_authenticate_acquired("4,1009"); + Fingerprint::cfg().set("lockout", false); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); + Fingerprint::cfg().set("operation_authenticate_acquired", "4,1009"); int32_t prevCount = mCallback->mLastAcquiredCount; mEngine.notifyFingerdown(); mEngine.authenticateImpl(mCallback.get(), 0, mCancel.get_future()); @@ -341,10 +341,10 @@ TEST_F(FakeFingerprintEngineTest, AuthenticateAcquired) { } TEST_F(FakeFingerprintEngineTest, InteractionDetect) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); - FingerprintHalProperties::operation_detect_interaction_acquired(""); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); + Fingerprint::cfg().set("operation_detect_interaction_acquired", ""); mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); ASSERT_EQ(mEngine.getWorkMode(), FakeFingerprintEngine::WorkMode::kDetectInteract); @@ -355,9 +355,9 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetect) { } TEST_F(FakeFingerprintEngineTest, InteractionDetectCancel) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); mCancel.set_value(); mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); @@ -367,9 +367,9 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectCancel) { } TEST_F(FakeFingerprintEngineTest, InteractionDetectNotSet) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit({}); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().setopt("enrollment_hit", std::nullopt); mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); @@ -377,8 +377,8 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectNotSet) { } TEST_F(FakeFingerprintEngineTest, InteractionDetectNotEnrolled) { - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(25); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 25); mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); @@ -386,8 +386,8 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectNotEnrolled) { } TEST_F(FakeFingerprintEngineTest, InteractionDetectError) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::operation_detect_interaction_error(8); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().set("operation_detect_interaction_error", 8); mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); mEngine.fingerDownAction(); @@ -397,10 +397,10 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectError) { } TEST_F(FakeFingerprintEngineTest, InteractionDetectAcquired) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); - FingerprintHalProperties::operation_detect_interaction_acquired("4,1013"); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); + Fingerprint::cfg().set("operation_detect_interaction_acquired", "4,1013"); int32_t prevCount = mCallback->mLastAcquiredCount; mEngine.notifyFingerdown(); mEngine.detectInteractionImpl(mCallback.get(), mCancel.get_future()); @@ -412,10 +412,10 @@ TEST_F(FakeFingerprintEngineTest, InteractionDetectAcquired) { } TEST_F(FakeFingerprintEngineTest, EnumerateEnrolled) { - FingerprintHalProperties::enrollments({2, 4, 8}); + Fingerprint::cfg().setopt("enrollments", {2, 4, 8}); mEngine.enumerateEnrollmentsImpl(mCallback.get()); ASSERT_EQ(3, mCallback->mLastEnrollmentEnumerated.size()); - for (auto id : FingerprintHalProperties::enrollments()) { + for (auto id : Fingerprint::cfg().getopt("enrollments")) { ASSERT_TRUE(std::find(mCallback->mLastEnrollmentEnumerated.begin(), mCallback->mLastEnrollmentEnumerated.end(), id) != mCallback->mLastEnrollmentEnumerated.end()); @@ -423,9 +423,9 @@ TEST_F(FakeFingerprintEngineTest, EnumerateEnrolled) { } TEST_F(FakeFingerprintEngineTest, RemoveEnrolled) { - FingerprintHalProperties::enrollments({2, 4, 8, 1}); + Fingerprint::cfg().setopt("enrollments", {2, 4, 8, 1}); mEngine.removeEnrollmentsImpl(mCallback.get(), {2, 8}); - auto enrolls = FingerprintHalProperties::enrollments(); + auto enrolls = Fingerprint::cfg().getopt("enrollments"); ASSERT_EQ(2, mCallback->mLastEnrollmentRemoved.size()); for (auto id : {2, 8}) { ASSERT_TRUE(std::find(mCallback->mLastEnrollmentRemoved.begin(), @@ -509,17 +509,17 @@ TEST_F(FakeFingerprintEngineTest, parseEnrollmentCaptureFail) { } TEST_F(FakeFingerprintEngineTest, randomLatency) { - FingerprintHalProperties::operation_detect_interaction_latency({}); - ASSERT_EQ(DEFAULT_LATENCY, - mEngine.getLatency(FingerprintHalProperties::operation_detect_interaction_latency())); - FingerprintHalProperties::operation_detect_interaction_latency({10}); - ASSERT_EQ(10, - mEngine.getLatency(FingerprintHalProperties::operation_detect_interaction_latency())); - FingerprintHalProperties::operation_detect_interaction_latency({1, 1000}); + Fingerprint::cfg().setopt("operation_detect_interaction_latency", {}); + ASSERT_EQ(DEFAULT_LATENCY, mEngine.getLatency(Fingerprint::cfg().getopt( + "operation_detect_interaction_latency"))); + Fingerprint::cfg().setopt("operation_detect_interaction_latency", {10}); + ASSERT_EQ(10, mEngine.getLatency(Fingerprint::cfg().getopt( + "operation_detect_interaction_latency"))); + Fingerprint::cfg().setopt("operation_detect_interaction_latency", {1, 1000}); std::set latencySet; for (int i = 0; i < 100; i++) { latencySet.insert(mEngine.getLatency( - FingerprintHalProperties::operation_detect_interaction_latency())); + Fingerprint::cfg().getopt("operation_detect_interaction_latency"))); } ASSERT_TRUE(latencySet.size() > 95); } diff --git a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp index 5a30db10e4..eb45f987b0 100644 --- a/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp +++ b/biometrics/fingerprint/aidl/default/tests/FakeFingerprintEngineUdfpsTest.cpp @@ -23,6 +23,7 @@ #include "FakeFingerprintEngine.h" #include "FakeFingerprintEngineUdfps.h" +#include "Fingerprint.h" using namespace ::android::fingerprint::virt; using namespace ::aidl::android::hardware::biometrics::fingerprint; @@ -99,7 +100,7 @@ class FakeFingerprintEngineUdfpsTest : public ::testing::Test { void TearDown() override { // reset to default - FingerprintHalProperties::sensor_location(""); + Fingerprint::cfg().set("sensor_location", ""); } FakeFingerprintEngineUdfps mEngine; @@ -113,14 +114,14 @@ bool isDefaultLocation(SensorLocation& sc) { TEST_F(FakeFingerprintEngineUdfpsTest, getSensorLocationOk) { auto loc = "100:200:30"; - FingerprintHalProperties::sensor_location(loc); + Fingerprint::cfg().set("sensor_location", loc); SensorLocation sc = mEngine.getSensorLocation(); ASSERT_TRUE(sc.sensorLocationX == 100); ASSERT_TRUE(sc.sensorLocationY == 200); ASSERT_TRUE(sc.sensorRadius == 30); loc = "100:200:30:screen1"; - FingerprintHalProperties::sensor_location(loc); + Fingerprint::cfg().set("sensor_location", loc); sc = mEngine.getSensorLocation(); ASSERT_TRUE(sc.sensorLocationX == 100); ASSERT_TRUE(sc.sensorLocationY == 200); @@ -132,7 +133,7 @@ TEST_F(FakeFingerprintEngineUdfpsTest, getSensorLocationBad) { const std::vector badStr{"", "100", "10:20", "10,20,5", "a:b:c"}; SensorLocation sc; for (const auto& s : badStr) { - FingerprintHalProperties::sensor_location(s); + Fingerprint::cfg().set("sensor_location", s); sc = mEngine.getSensorLocation(); ASSERT_TRUE(isDefaultLocation(sc)); } @@ -158,7 +159,7 @@ TEST_F(FakeFingerprintEngineUdfpsTest, enroll) { std::shared_ptr cb = ndk::SharedRefBase::make(); std::promise cancel; keymaster::HardwareAuthToken hat{.mac = {5, 6}}; - FingerprintHalProperties::next_enrollment("5:0,0:true"); + Fingerprint::cfg().set("next_enrollment", "5:0,0:true"); mEngine.notifyFingerdown(); mEngine.enrollImpl(cb.get(), hat, cancel.get_future()); ASSERT_TRUE(mEngine.getWorkMode() == FakeFingerprintEngineUdfps::WorkMode::kEnroll); @@ -169,10 +170,10 @@ TEST_F(FakeFingerprintEngineUdfpsTest, enroll) { } TEST_F(FakeFingerprintEngineUdfpsTest, detectInteraction) { - FingerprintHalProperties::detect_interaction(true); - FingerprintHalProperties::enrollments({1, 2}); - FingerprintHalProperties::enrollment_hit(2); - FingerprintHalProperties::operation_detect_interaction_acquired(""); + Fingerprint::cfg().set("detect_interaction", true); + Fingerprint::cfg().setopt("enrollments", {1, 2}); + Fingerprint::cfg().set("enrollment_hit", 2); + Fingerprint::cfg().set("operation_detect_interaction_acquired", ""); std::shared_ptr cb = ndk::SharedRefBase::make(); std::promise cancel; mEngine.notifyFingerdown(); diff --git a/biometrics/fingerprint/aidl/default/tests/FakeLockoutTrackerTest.cpp b/biometrics/fingerprint/aidl/default/tests/FakeLockoutTrackerTest.cpp index 93c6f844ed..3c12b6d97f 100644 --- a/biometrics/fingerprint/aidl/default/tests/FakeLockoutTrackerTest.cpp +++ b/biometrics/fingerprint/aidl/default/tests/FakeLockoutTrackerTest.cpp @@ -21,6 +21,7 @@ #include #include "FakeLockoutTracker.h" +#include "Fingerprint.h" #include "util/Util.h" using namespace ::android::fingerprint::virt; @@ -35,32 +36,33 @@ class FakeLockoutTrackerTest : public ::testing::Test { static constexpr int32_t LOCKOUT_TIMED_DURATION = 100; void SetUp() override { - FingerprintHalProperties::lockout_timed_threshold(LOCKOUT_TIMED_THRESHOLD); - FingerprintHalProperties::lockout_timed_duration(LOCKOUT_TIMED_DURATION); - FingerprintHalProperties::lockout_permanent_threshold(LOCKOUT_PERMANENT_THRESHOLD); + Fingerprint::cfg().set("lockout_timed_threshold", LOCKOUT_TIMED_THRESHOLD); + Fingerprint::cfg().set("lockout_timed_duration", LOCKOUT_TIMED_DURATION); + Fingerprint::cfg().set("lockout_permanent_threshold", + LOCKOUT_PERMANENT_THRESHOLD); } void TearDown() override { // reset to default - FingerprintHalProperties::lockout_timed_threshold(5); - FingerprintHalProperties::lockout_timed_duration(20); - FingerprintHalProperties::lockout_permanent_threshold(10000); - FingerprintHalProperties::lockout_enable(false); - FingerprintHalProperties::lockout(false); + Fingerprint::cfg().set("lockout_timed_threshold", 5); + Fingerprint::cfg().set("lockout_timed_duration", 20); + Fingerprint::cfg().set("lockout_permanent_threshold", 10000); + Fingerprint::cfg().set("lockout_enable", false); + Fingerprint::cfg().set("lockout", false); } FakeLockoutTracker mLockoutTracker; }; TEST_F(FakeLockoutTrackerTest, addFailedAttemptDisable) { - FingerprintHalProperties::lockout_enable(false); + Fingerprint::cfg().set("lockout_enable", false); for (int i = 0; i < LOCKOUT_TIMED_THRESHOLD + 1; i++) mLockoutTracker.addFailedAttempt(); ASSERT_EQ(mLockoutTracker.getMode(), FakeLockoutTracker::LockoutMode::kNone); mLockoutTracker.reset(); } TEST_F(FakeLockoutTrackerTest, addFailedAttemptLockoutTimed) { - FingerprintHalProperties::lockout_enable(true); + Fingerprint::cfg().set("lockout_enable", true); for (int i = 0; i < LOCKOUT_TIMED_THRESHOLD; i++) mLockoutTracker.addFailedAttempt(); ASSERT_EQ(mLockoutTracker.getMode(), FakeLockoutTracker::LockoutMode::kTimed); // time left @@ -77,12 +79,12 @@ TEST_F(FakeLockoutTrackerTest, addFailedAttemptLockoutTimed) { } TEST_F(FakeLockoutTrackerTest, addFailedAttemptPermanent) { - FingerprintHalProperties::lockout_enable(true); + Fingerprint::cfg().set("lockout_enable", true); for (int i = 0; i < LOCKOUT_PERMANENT_THRESHOLD - 1; i++) mLockoutTracker.addFailedAttempt(); ASSERT_NE(mLockoutTracker.getMode(), FakeLockoutTracker::LockoutMode::kPermanent); mLockoutTracker.addFailedAttempt(); ASSERT_EQ(mLockoutTracker.getMode(), FakeLockoutTracker::LockoutMode::kPermanent); - ASSERT_TRUE(FingerprintHalProperties::lockout()); + ASSERT_TRUE(Fingerprint::cfg().get("lockout")); mLockoutTracker.reset(); } From 21999ff48c18cfb179becd471115c435d27ef6a7 Mon Sep 17 00:00:00 2001 From: Aaqib Ismail Date: Thu, 29 Feb 2024 12:14:02 -0800 Subject: [PATCH 195/198] Change HVAC_MAX_DEFROST_ON to front and back row area IDs This helps standardize commands sent by Assistant for using the defroster. Bug: 323101580 Test: m Change-Id: I006ca7fc779e011a3d3be8cac95fe34a3567d4b2 --- .../2.0/default/impl/vhal_v2_0/DefaultConfig.h | 3 ++- .../2.0/default/impl/vhal_v2_0/PropertyUtils.h | 3 +++ .../JsonConfigLoader/src/JsonConfigLoader.cpp | 2 ++ .../default_config/config/DefaultProperties.json | 13 ++----------- .../aidl/impl/utils/common/include/PropertyUtils.h | 2 ++ 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h index 4846bfb00a..f021f7b31d 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h @@ -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), diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h index f58e09a67d..e866f70337 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h @@ -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); diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index ea1437ecb1..57af04c2d2 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -104,6 +104,8 @@ const std::unordered_map 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}, diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 0a859af695..2d1e9ab7fe 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -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" } ] }, diff --git a/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h index 78b61f714e..f2327e1942 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h @@ -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 From ab4ac2ea0b4581a65421c0e6d270a5fe1fb6b6a1 Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Mon, 26 Feb 2024 11:39:12 -0800 Subject: [PATCH 196/198] Update client-side remote access test script. Change default launch emulator command to launch_emu to enable easier testing with built images. Add option: "--local-image" to use "aae emulatro run". Test: Manual run Bug: 326991438 Change-Id: I9b8783694e18968250e82b8c22cb02504b2dd08f --- .../test_grpc_server/impl/src/main.cpp | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp index 63324f3bc5..e1ee3203fe 100644 --- a/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp +++ b/automotive/remoteaccess/test_grpc_server/impl/src/main.cpp @@ -33,6 +33,8 @@ #include #include +namespace { + using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_ENTER_GARAGE_MODE; using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_SYSTEM_REMOTE_ACCESS; using ::android::hardware::automotive::remoteaccess::BOOTUP_REASON_USER_POWER_ON; @@ -45,13 +47,18 @@ using ::grpc::ServerWriter; constexpr int SHUTDOWN_REQUEST = 289410889; constexpr int VEHICLE_IN_USE = 287313738; -const char* COMMAND_RUN_EMU = "source ~/.aae-toolbox/bin/bashrc && aae emulator run"; -const char* COMMAND_SET_VHAL_PROP = +constexpr char COMMAND_RUN_EMU_LOCAL_IMAGE[] = + "source ~/.aae-toolbox/bin/bashrc && aae emulator run"; +constexpr char COMMAND_RUN_EMU[] = "./launch_emu.sh -v \"-writable-system -selinux permissive\""; +constexpr char COMMAND_SET_VHAL_PROP[] = "adb -s emulator-5554 wait-for-device && adb -s emulator-5554 root " "&& sleep 1 && adb -s emulator-5554 wait-for-device && adb -s emulator-5554 shell " "dumpsys android.hardware.automotive.vehicle.IVehicle/default --set %d -i %d"; pid_t emuPid = 0; +const char* runEmuCommand = COMMAND_RUN_EMU; + +} // namespace void RunServer(const std::string& serviceAddr, std::shared_ptr service) { ServerBuilder builder; @@ -95,7 +102,7 @@ bool powerOnEmu(ServiceImpl* service, int32_t bootupReason) { return false; } service->setBootupReason(bootupReason); - emuPid = runCommand(COMMAND_RUN_EMU); + emuPid = runCommand(runEmuCommand); printf("Emulator started in process: %d\n", emuPid); return true; } @@ -247,10 +254,16 @@ class MyServiceImpl final : public ServiceImpl { }; }; +// Usage: TestWakeupClientServerHost [--local-image] [service_address_to_start] int main(int argc, char** argv) { std::string serviceAddr = GRPC_SERVICE_ADDRESS; - if (argc > 1) { - serviceAddr = argv[1]; + for (int i = 1; i < argc; i++) { + char* arg = argv[1]; + if (strcmp(arg, "--local-image") == 0) { + runEmuCommand = COMMAND_RUN_EMU_LOCAL_IMAGE; + continue; + } + serviceAddr = arg; } // Let the server thread run, we will force kill the server when we exit the program. std::shared_ptr service = std::make_shared(); From c2b9eaa4e7162316bb07240e4b837883d83b761a Mon Sep 17 00:00:00 2001 From: Yu Shan Date: Thu, 29 Feb 2024 11:21:23 -0800 Subject: [PATCH 197/198] Fill in the missing status field. Fill in the missing status field for VEHICLE_IN_USE and AP_POWER_BOOTUP_REASON property. Test: Presubmit Bug: 327640442 Change-Id: I1320c57da5ec4c7910676a234b9c7bc0d3b6e3ea --- .../aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp index 072aafc2b4..c4bcdb39ab 100644 --- a/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp +++ b/automotive/vehicle/aidl/impl/fake_impl/hardware/src/FakeVehicleHardware.cpp @@ -907,6 +907,7 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::getVehicleInUse( auto result = mValuePool->obtainBoolean(response.isvehicleinuse()); result->prop = toInt(VehicleProperty::VEHICLE_IN_USE); result->areaId = 0; + result->status = VehiclePropertyStatus::AVAILABLE; result->timestamp = elapsedRealtimeNano(); return result; } @@ -924,6 +925,7 @@ FakeVehicleHardware::ValueResultType FakeVehicleHardware::getApPowerBootupReason auto result = mValuePool->obtainInt32(response.bootupreason()); result->prop = toInt(VehicleProperty::AP_POWER_BOOTUP_REASON); result->areaId = 0; + result->status = VehiclePropertyStatus::AVAILABLE; result->timestamp = elapsedRealtimeNano(); return result; } From 0a36f19c736822382f9bfe7048d0c3a2b8e653d1 Mon Sep 17 00:00:00 2001 From: Liana Kazanova Date: Fri, 1 Mar 2024 19:08:25 +0000 Subject: [PATCH 198/198] Revert "Change HVAC_MAX_DEFROST_ON to front and back row area IDs" This reverts commit 21999ff48c18cfb179becd471115c435d27ef6a7. Reason for revert: DroidMonitor: Potential culprit for b/327699697 - verifying through ABTD before revert submission. Change-Id: I53a278f1317f5307441103dc42dc5be6f20d7075 --- .../2.0/default/impl/vhal_v2_0/DefaultConfig.h | 3 +-- .../2.0/default/impl/vhal_v2_0/PropertyUtils.h | 3 --- .../JsonConfigLoader/src/JsonConfigLoader.cpp | 2 -- .../default_config/config/DefaultProperties.json | 13 +++++++++++-- .../aidl/impl/utils/common/include/PropertyUtils.h | 2 -- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h index f021f7b31d..4846bfb00a 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h @@ -449,8 +449,7 @@ const ConfigDeclaration kVehicleProperties[]{ {.config = {.prop = toInt(VehicleProperty::HVAC_MAX_DEFROST_ON), .access = VehiclePropertyAccess::READ_WRITE, .changeMode = VehiclePropertyChangeMode::ON_CHANGE, - .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_FRONT_ROW}, - VehicleAreaConfig{.areaId = HVAC_REAR_ROW}}}, + .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}}, .initialValue = {.int32Values = {0}}}, {.config = {.prop = toInt(VehicleProperty::HVAC_RECIRC_ON), diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h index e866f70337..f58e09a67d 100644 --- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h +++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/PropertyUtils.h @@ -50,9 +50,6 @@ 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); diff --git a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp index 57af04c2d2..ea1437ecb1 100644 --- a/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp +++ b/automotive/vehicle/aidl/impl/default_config/JsonConfigLoader/src/JsonConfigLoader.cpp @@ -104,8 +104,6 @@ const std::unordered_map 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}, diff --git a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json index 2d1e9ab7fe..0a859af695 100644 --- a/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json +++ b/automotive/vehicle/aidl/impl/default_config/config/DefaultProperties.json @@ -2033,10 +2033,19 @@ }, "areas": [ { - "areaId": "Constants::HVAC_FRONT_ROW" + "areaId": "Constants::SEAT_1_LEFT" }, { - "areaId": "Constants::HVAC_REAR_ROW" + "areaId": "Constants::SEAT_1_RIGHT" + }, + { + "areaId": "Constants::SEAT_2_LEFT" + }, + { + "areaId": "Constants::SEAT_2_RIGHT" + }, + { + "areaId": "Constants::SEAT_2_CENTER" } ] }, diff --git a/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h index f2327e1942..78b61f714e 100644 --- a/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h +++ b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h @@ -97,8 +97,6 @@ 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