diff options
366 files changed, 1364 insertions, 490 deletions
diff --git a/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.xml b/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.xml index 09463c962f..ea7adc9159 100644 --- a/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.xml +++ b/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.xml @@ -22,8 +22,11 @@ <target_preparer class="com.android.tradefed.targetprep.StopServicesSetup"> </target_preparer> - <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> - <option name="bluetooth" value="off" /> + <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> + <option name="run-command" value="settings put global ble_scan_always_enabled 0" /> + <option name="run-command" value="su u$(am get-current-user)_system svc bluetooth disable" /> + <option name="teardown-command" value="su u$(am get-current-user)_system svc bluetooth enable" /> + <option name="teardown-command" value="settings put global ble_scan_always_enabled 1" /> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl index baec9c2109..33a3187c3b 100644 --- a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl @@ -44,4 +44,6 @@ enum SessionType { LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH = 7, LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH = 8, LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH = 9, + A2DP_SOFTWARE_DECODING_DATAPATH = 10, + A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH = 11, } diff --git a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl index 95beee7489..7acb5c6e49 100644 --- a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl +++ b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl @@ -62,4 +62,12 @@ enum SessionType { * Audio broadcast channels. This is a control path only. */ LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + /** + * A2DP legacy that AVDTP media is decoded by Bluetooth Stack + */ + A2DP_SOFTWARE_DECODING_DATAPATH, + /** + * The decoding of AVDTP media is done by HW and there is control only + */ + A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH, } diff --git a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp index 4b4713d036..2d0d8c9e96 100644 --- a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp @@ -28,10 +28,18 @@ namespace hardware { namespace bluetooth { namespace audio { -A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() { +A2dpOffloadEncodingAudioProvider::A2dpOffloadEncodingAudioProvider() + : A2dpOffloadAudioProvider() { session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH; } +A2dpOffloadDecodingAudioProvider::A2dpOffloadDecodingAudioProvider() + : A2dpOffloadAudioProvider() { + session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH; +} + +A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() {} + bool A2dpOffloadAudioProvider::isValid(const SessionType& session_type) { return (session_type == session_type_); } diff --git a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h index 4621e8530f..e6f188bda6 100644 --- a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h +++ b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h @@ -40,6 +40,16 @@ class A2dpOffloadAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; }; +class A2dpOffloadEncodingAudioProvider : public A2dpOffloadAudioProvider { + public: + A2dpOffloadEncodingAudioProvider(); +}; + +class A2dpOffloadDecodingAudioProvider : public A2dpOffloadAudioProvider { + public: + A2dpOffloadDecodingAudioProvider(); +}; + } // namespace audio } // namespace bluetooth } // namespace hardware diff --git a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp index 59df3a9901..bd2da95b04 100644 --- a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp @@ -40,6 +40,16 @@ static constexpr uint32_t kBufferSize = kRtpFrameSize * kRtpFrameCount; static constexpr uint32_t kBufferCount = 2; // double buffer static constexpr uint32_t kDataMqSize = kBufferSize * kBufferCount; +A2dpSoftwareEncodingAudioProvider::A2dpSoftwareEncodingAudioProvider() + : A2dpSoftwareAudioProvider() { + session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; +} + +A2dpSoftwareDecodingAudioProvider::A2dpSoftwareDecodingAudioProvider() + : A2dpSoftwareAudioProvider() { + session_type_ = SessionType::A2DP_SOFTWARE_DECODING_DATAPATH; +} + A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() : BluetoothAudioProvider(), data_mq_(nullptr) { LOG(INFO) << __func__ << " - size of audio buffer " << kDataMqSize @@ -48,7 +58,6 @@ A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() new DataMQ(kDataMqSize, /* EventFlag */ true)); if (data_mq && data_mq->isValid()) { data_mq_ = std::move(data_mq); - session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; } else { ALOGE_IF(!data_mq, "failed to allocate data MQ"); ALOGE_IF(data_mq && !data_mq->isValid(), "data MQ is invalid"); diff --git a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h index 10f533ab20..3ebecf2b0c 100644 --- a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h +++ b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h @@ -43,6 +43,16 @@ class A2dpSoftwareAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; }; +class A2dpSoftwareEncodingAudioProvider : public A2dpSoftwareAudioProvider { + public: + A2dpSoftwareEncodingAudioProvider(); +}; + +class A2dpSoftwareDecodingAudioProvider : public A2dpSoftwareAudioProvider { + public: + A2dpSoftwareDecodingAudioProvider(); +}; + } // namespace audio } // namespace bluetooth } // namespace hardware diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp index 1e1680a4fd..91731d4160 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp +++ b/bluetooth/audio/aidl/default/BluetoothAudioProviderFactory.cpp @@ -44,10 +44,10 @@ ndk::ScopedAStatus BluetoothAudioProviderFactory::openProvider( switch (session_type) { case SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH: - provider = ndk::SharedRefBase::make<A2dpSoftwareAudioProvider>(); + provider = ndk::SharedRefBase::make<A2dpSoftwareEncodingAudioProvider>(); break; case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: - provider = ndk::SharedRefBase::make<A2dpOffloadAudioProvider>(); + provider = ndk::SharedRefBase::make<A2dpOffloadEncodingAudioProvider>(); break; case SessionType::HEARING_AID_SOFTWARE_ENCODING_DATAPATH: provider = ndk::SharedRefBase::make<HearingAidAudioProvider>(); @@ -72,6 +72,12 @@ ndk::ScopedAStatus BluetoothAudioProviderFactory::openProvider( provider = ndk::SharedRefBase::make<LeAudioOffloadBroadcastAudioProvider>(); break; + case SessionType::A2DP_SOFTWARE_DECODING_DATAPATH: + provider = ndk::SharedRefBase::make<A2dpSoftwareDecodingAudioProvider>(); + break; + case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH: + provider = ndk::SharedRefBase::make<A2dpOffloadDecodingAudioProvider>(); + break; default: provider = nullptr; break; @@ -90,7 +96,8 @@ ndk::ScopedAStatus BluetoothAudioProviderFactory::openProvider( ndk::ScopedAStatus BluetoothAudioProviderFactory::getProviderCapabilities( const SessionType session_type, std::vector<AudioCapabilities>* _aidl_return) { - if (session_type == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { + if (session_type == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { auto codec_capabilities = BluetoothAudioCodecs::GetA2dpOffloadCodecCapabilities(session_type); _aidl_return->resize(codec_capabilities.size()); diff --git a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp index 18352a08bd..b599365d21 100644 --- a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp +++ b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp @@ -201,7 +201,8 @@ class BluetoothAudioProviderFactoryAidl ASSERT_EQ(temp_provider_capabilities_[0].getTag(), AudioCapabilities::pcmCapabilities); } break; - case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: { + case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: + case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH: { std::unordered_set<CodecType> codec_types; // empty capability means offload is unsupported for (auto& audio_capability : temp_provider_capabilities_) { @@ -250,6 +251,16 @@ class BluetoothAudioProviderFactoryAidl AudioCapabilities::leAudioCapabilities); } } break; + case SessionType::A2DP_SOFTWARE_DECODING_DATAPATH: { + if (!temp_provider_capabilities_.empty()) { + ASSERT_EQ(temp_provider_capabilities_.size(), 1); + ASSERT_EQ(temp_provider_capabilities_[0].getTag(), + AudioCapabilities::pcmCapabilities); + } + } break; + default: { + ASSERT_TRUE(temp_provider_capabilities_.empty()); + } } } @@ -266,7 +277,7 @@ class BluetoothAudioProviderFactoryAidl ASSERT_NE(audio_provider_, nullptr); audio_port_ = ndk::SharedRefBase::make<BluetoothAudioPort>(); } else { - // Hardware offloading is optional + // optional session type ASSERT_TRUE( session_type == SessionType::UNKNOWN || session_type == @@ -277,147 +288,14 @@ class BluetoothAudioProviderFactoryAidl SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH || session_type == SessionType:: - LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH); + LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type == + SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH || + session_type == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH); ASSERT_EQ(audio_provider_, nullptr); } } - bool IsPcmConfigSupported(const PcmConfiguration& pcm_config) { - if (temp_provider_capabilities_.size() != 1 || - temp_provider_capabilities_[0].getTag() != - AudioCapabilities::pcmCapabilities) { - return false; - } - auto pcm_capability = temp_provider_capabilities_[0] - .get<AudioCapabilities::pcmCapabilities>(); - return (contained_in_vector(pcm_capability.channelMode, - pcm_config.channelMode) && - contained_in_vector(pcm_capability.sampleRateHz, - pcm_config.sampleRateHz) && - contained_in_vector(pcm_capability.bitsPerSample, - pcm_config.bitsPerSample)); - } - - std::shared_ptr<IBluetoothAudioProviderFactory> provider_factory_; - std::shared_ptr<IBluetoothAudioProvider> audio_provider_; - std::shared_ptr<IBluetoothAudioPort> audio_port_; - std::vector<AudioCapabilities> temp_provider_capabilities_; - - static constexpr SessionType kSessionTypes[] = { - SessionType::UNKNOWN, - SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH, - SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH, - SessionType::HEARING_AID_SOFTWARE_ENCODING_DATAPATH, - SessionType::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH, - SessionType::LE_AUDIO_SOFTWARE_DECODING_DATAPATH, - SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH, - SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH, - SessionType::LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH, - SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, - }; -}; - -/** - * Test whether we can get the FactoryService from HIDL - */ -TEST_P(BluetoothAudioProviderFactoryAidl, GetProviderFactoryService) {} - -/** - * Test whether we can open a provider for each provider returned by - * getProviderCapabilities() with non-empty capabalities - */ -TEST_P(BluetoothAudioProviderFactoryAidl, - OpenProviderAndCheckCapabilitiesBySession) { - for (auto session_type : kSessionTypes) { - GetProviderCapabilitiesHelper(session_type); - OpenProviderHelper(session_type); - // We must be able to open a provider if its getProviderCapabilities() - // returns non-empty list. - EXPECT_TRUE(temp_provider_capabilities_.empty() || - audio_provider_ != nullptr); - } -} - -/** - * openProvider A2DP_SOFTWARE_ENCODING_DATAPATH - */ -class BluetoothAudioProviderA2dpSoftwareAidl - : public BluetoothAudioProviderFactoryAidl { - public: - virtual void SetUp() override { - BluetoothAudioProviderFactoryAidl::SetUp(); - GetProviderCapabilitiesHelper(SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH); - OpenProviderHelper(SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH); - ASSERT_NE(audio_provider_, nullptr); - } - - virtual void TearDown() override { - audio_port_ = nullptr; - audio_provider_ = nullptr; - BluetoothAudioProviderFactoryAidl::TearDown(); - } -}; - -/** - * Test whether we can open a provider of type - */ -TEST_P(BluetoothAudioProviderA2dpSoftwareAidl, OpenA2dpSoftwareProvider) {} - -/** - * Test whether each provider of type - * SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH can be started and stopped with - * different PCM config - */ -TEST_P(BluetoothAudioProviderA2dpSoftwareAidl, - StartAndEndA2dpSoftwareSessionWithPossiblePcmConfig) { - for (auto sample_rate : a2dp_sample_rates) { - for (auto bits_per_sample : a2dp_bits_per_samples) { - for (auto channel_mode : a2dp_channel_modes) { - PcmConfiguration pcm_config{ - .sampleRateHz = sample_rate, - .bitsPerSample = bits_per_sample, - .channelMode = channel_mode, - }; - bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); - DataMQDesc mq_desc; - auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), latency_modes, - &mq_desc); - DataMQ data_mq(mq_desc); - - EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); - if (is_codec_config_valid) { - EXPECT_TRUE(data_mq.isValid()); - } - EXPECT_TRUE(audio_provider_->endSession().isOk()); - } - } - } -} - -/** - * openProvider A2DP_HARDWARE_OFFLOAD_DATAPATH - */ -class BluetoothAudioProviderA2dpHardwareAidl - : public BluetoothAudioProviderFactoryAidl { - public: - virtual void SetUp() override { - BluetoothAudioProviderFactoryAidl::SetUp(); - GetProviderCapabilitiesHelper( - SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH); - OpenProviderHelper(SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH); - ASSERT_TRUE(temp_provider_capabilities_.empty() || - audio_provider_ != nullptr); - } - - virtual void TearDown() override { - audio_port_ = nullptr; - audio_provider_ = nullptr; - BluetoothAudioProviderFactoryAidl::TearDown(); - } - - bool IsOffloadSupported() { return (temp_provider_capabilities_.size() > 0); } - void GetA2dpOffloadCapabilityHelper(const CodecType& codec_type) { temp_codec_capabilities_ = nullptr; for (auto& codec_capability : temp_provider_capabilities_) { @@ -641,23 +519,163 @@ class BluetoothAudioProviderA2dpHardwareAidl return lc3_codec_specifics; } + bool IsPcmConfigSupported(const PcmConfiguration& pcm_config) { + if (temp_provider_capabilities_.size() != 1 || + temp_provider_capabilities_[0].getTag() != + AudioCapabilities::pcmCapabilities) { + return false; + } + auto pcm_capability = temp_provider_capabilities_[0] + .get<AudioCapabilities::pcmCapabilities>(); + return (contained_in_vector(pcm_capability.channelMode, + pcm_config.channelMode) && + contained_in_vector(pcm_capability.sampleRateHz, + pcm_config.sampleRateHz) && + contained_in_vector(pcm_capability.bitsPerSample, + pcm_config.bitsPerSample)); + } + + std::shared_ptr<IBluetoothAudioProviderFactory> provider_factory_; + std::shared_ptr<IBluetoothAudioProvider> audio_provider_; + std::shared_ptr<IBluetoothAudioPort> audio_port_; + std::vector<AudioCapabilities> temp_provider_capabilities_; + // temp storage saves the specified codec capability by // GetOffloadCodecCapabilityHelper() CodecCapabilities* temp_codec_capabilities_; + + static constexpr SessionType kSessionTypes[] = { + SessionType::UNKNOWN, + SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH, + SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + SessionType::HEARING_AID_SOFTWARE_ENCODING_DATAPATH, + SessionType::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH, + SessionType::LE_AUDIO_SOFTWARE_DECODING_DATAPATH, + SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH, + SessionType::LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH, + SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, + SessionType::A2DP_SOFTWARE_DECODING_DATAPATH, + SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH, + }; +}; + +/** + * Test whether we can get the FactoryService from HIDL + */ +TEST_P(BluetoothAudioProviderFactoryAidl, GetProviderFactoryService) {} + +/** + * Test whether we can open a provider for each provider returned by + * getProviderCapabilities() with non-empty capabalities + */ +TEST_P(BluetoothAudioProviderFactoryAidl, + OpenProviderAndCheckCapabilitiesBySession) { + for (auto session_type : kSessionTypes) { + GetProviderCapabilitiesHelper(session_type); + OpenProviderHelper(session_type); + // We must be able to open a provider if its getProviderCapabilities() + // returns non-empty list. + EXPECT_TRUE(temp_provider_capabilities_.empty() || + audio_provider_ != nullptr); + } +} + +/** + * openProvider A2DP_SOFTWARE_ENCODING_DATAPATH + */ +class BluetoothAudioProviderA2dpEncodingSoftwareAidl + : public BluetoothAudioProviderFactoryAidl { + public: + virtual void SetUp() override { + BluetoothAudioProviderFactoryAidl::SetUp(); + GetProviderCapabilitiesHelper(SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH); + OpenProviderHelper(SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH); + ASSERT_NE(audio_provider_, nullptr); + } + + virtual void TearDown() override { + audio_port_ = nullptr; + audio_provider_ = nullptr; + BluetoothAudioProviderFactoryAidl::TearDown(); + } }; /** * Test whether we can open a provider of type */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, OpenA2dpHardwareProvider) {} +TEST_P(BluetoothAudioProviderA2dpEncodingSoftwareAidl, + OpenA2dpEncodingSoftwareProvider) {} + +/** + * Test whether each provider of type + * SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH can be started and stopped with + * different PCM config + */ +TEST_P(BluetoothAudioProviderA2dpEncodingSoftwareAidl, + StartAndEndA2dpEncodingSoftwareSessionWithPossiblePcmConfig) { + for (auto sample_rate : a2dp_sample_rates) { + for (auto bits_per_sample : a2dp_bits_per_samples) { + for (auto channel_mode : a2dp_channel_modes) { + PcmConfiguration pcm_config{ + .sampleRateHz = sample_rate, + .bitsPerSample = bits_per_sample, + .channelMode = channel_mode, + }; + bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); + DataMQ data_mq(mq_desc); + + EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); + if (is_codec_config_valid) { + EXPECT_TRUE(data_mq.isValid()); + } + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } + } + } +} + +/** + * openProvider A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH + */ +class BluetoothAudioProviderA2dpEncodingHardwareAidl + : public BluetoothAudioProviderFactoryAidl { + public: + virtual void SetUp() override { + BluetoothAudioProviderFactoryAidl::SetUp(); + GetProviderCapabilitiesHelper( + SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH); + OpenProviderHelper(SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH); + ASSERT_TRUE(temp_provider_capabilities_.empty() || + audio_provider_ != nullptr); + } + + virtual void TearDown() override { + audio_port_ = nullptr; + audio_provider_ = nullptr; + BluetoothAudioProviderFactoryAidl::TearDown(); + } + + bool IsOffloadSupported() { return (temp_provider_capabilities_.size() > 0); } +}; + +/** + * Test whether we can open a provider of type + */ +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + OpenA2dpEncodingHardwareProvider) {} /** * Test whether each provider of type * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * SBC hardware encoding config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpSbcHardwareSession) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpSbcEncodingHardwareSession) { if (!IsOffloadSupported()) { return; } @@ -686,8 +704,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * AAC hardware encoding config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpAacHardwareSession) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpAacEncodingHardwareSession) { if (!IsOffloadSupported()) { return; } @@ -716,8 +734,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * LDAC hardware encoding config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpLdacHardwareSession) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpLdacEncodingHardwareSession) { if (!IsOffloadSupported()) { return; } @@ -746,8 +764,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * LDAC hardware encoding config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpLc3HardwareSession) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpLc3EncodingHardwareSession) { if (!IsOffloadSupported()) { return; } @@ -776,8 +794,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * AptX hardware encoding config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpAptxHardwareSession) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpAptxEncodingHardwareSession) { if (!IsOffloadSupported()) { return; } @@ -812,8 +830,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, * SessionType::A2DP_HARDWARE_ENCODING_DATAPATH can be started and stopped with * an invalid codec config */ -TEST_P(BluetoothAudioProviderA2dpHardwareAidl, - StartAndEndA2dpHardwareSessionInvalidCodecConfig) { +TEST_P(BluetoothAudioProviderA2dpEncodingHardwareAidl, + StartAndEndA2dpEncodingHardwareSessionInvalidCodecConfig) { if (!IsOffloadSupported()) { return; } @@ -1588,6 +1606,314 @@ TEST_P( } } +/** + * openProvider A2DP_SOFTWARE_DECODING_DATAPATH + */ +class BluetoothAudioProviderA2dpDecodingSoftwareAidl + : public BluetoothAudioProviderFactoryAidl { + public: + virtual void SetUp() override { + BluetoothAudioProviderFactoryAidl::SetUp(); + GetProviderCapabilitiesHelper(SessionType::A2DP_SOFTWARE_DECODING_DATAPATH); + OpenProviderHelper(SessionType::A2DP_SOFTWARE_DECODING_DATAPATH); + ASSERT_TRUE(temp_provider_capabilities_.empty() || + audio_provider_ != nullptr); + } + + virtual void TearDown() override { + audio_port_ = nullptr; + audio_provider_ = nullptr; + BluetoothAudioProviderFactoryAidl::TearDown(); + } +}; + +/** + * Test whether we can open a provider of type + */ +TEST_P(BluetoothAudioProviderA2dpDecodingSoftwareAidl, + OpenA2dpDecodingSoftwareProvider) {} + +/** + * Test whether each provider of type + * SessionType::A2DP_SOFTWARE_DECODING_DATAPATH can be started and stopped with + * different PCM config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingSoftwareAidl, + StartAndEndA2dpDecodingSoftwareSessionWithPossiblePcmConfig) { + for (auto sample_rate : a2dp_sample_rates) { + for (auto bits_per_sample : a2dp_bits_per_samples) { + for (auto channel_mode : a2dp_channel_modes) { + PcmConfiguration pcm_config{ + .sampleRateHz = sample_rate, + .bitsPerSample = bits_per_sample, + .channelMode = channel_mode, + }; + bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); + DataMQ data_mq(mq_desc); + + EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); + if (is_codec_config_valid) { + EXPECT_TRUE(data_mq.isValid()); + } + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } + } + } +} + +/** + * openProvider A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH + */ +class BluetoothAudioProviderA2dpDecodingHardwareAidl + : public BluetoothAudioProviderFactoryAidl { + public: + virtual void SetUp() override { + BluetoothAudioProviderFactoryAidl::SetUp(); + GetProviderCapabilitiesHelper( + SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH); + OpenProviderHelper(SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH); + ASSERT_TRUE(temp_provider_capabilities_.empty() || + audio_provider_ != nullptr); + } + + virtual void TearDown() override { + audio_port_ = nullptr; + audio_provider_ = nullptr; + BluetoothAudioProviderFactoryAidl::TearDown(); + } + + bool IsOffloadSupported() { return (temp_provider_capabilities_.size() > 0); } +}; + +/** + * Test whether we can open a provider of type + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + OpenA2dpDecodingHardwareProvider) {} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * SBC hardware encoding config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpSbcDecodingHardwareSession) { + if (!IsOffloadSupported()) { + return; + } + + CodecConfiguration codec_config = { + .codecType = CodecType::SBC, + .encodedAudioBitrate = 328000, + .peerMtu = 1005, + .isScmstEnabled = false, + }; + auto sbc_codec_specifics = GetSbcCodecSpecificSupportedList(true); + + for (auto& codec_specific : sbc_codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); + + ASSERT_TRUE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } +} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * AAC hardware encoding config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpAacDecodingHardwareSession) { + if (!IsOffloadSupported()) { + return; + } + + CodecConfiguration codec_config = { + .codecType = CodecType::AAC, + .encodedAudioBitrate = 320000, + .peerMtu = 1005, + .isScmstEnabled = false, + }; + auto aac_codec_specifics = GetAacCodecSpecificSupportedList(true); + + for (auto& codec_specific : aac_codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); + + ASSERT_TRUE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } +} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * LDAC hardware encoding config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpLdacDecodingHardwareSession) { + if (!IsOffloadSupported()) { + return; + } + + CodecConfiguration codec_config = { + .codecType = CodecType::LDAC, + .encodedAudioBitrate = 990000, + .peerMtu = 1005, + .isScmstEnabled = false, + }; + auto ldac_codec_specifics = GetLdacCodecSpecificSupportedList(true); + + for (auto& codec_specific : ldac_codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); + + ASSERT_TRUE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } +} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * LDAC hardware encoding config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpLc3DecodingHardwareSession) { + if (!IsOffloadSupported()) { + return; + } + + CodecConfiguration codec_config = { + .codecType = CodecType::LC3, + .encodedAudioBitrate = 990000, + .peerMtu = 1005, + .isScmstEnabled = false, + }; + auto lc3_codec_specifics = GetLc3CodecSpecificSupportedList(true); + + for (auto& codec_specific : lc3_codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); + + ASSERT_TRUE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } +} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * AptX hardware encoding config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpAptxDecodingHardwareSession) { + if (!IsOffloadSupported()) { + return; + } + + for (auto codec_type : {CodecType::APTX, CodecType::APTX_HD}) { + CodecConfiguration codec_config = { + .codecType = codec_type, + .encodedAudioBitrate = + (codec_type == CodecType::APTX ? 352000 : 576000), + .peerMtu = 1005, + .isScmstEnabled = false, + }; + + auto aptx_codec_specifics = GetAptxCodecSpecificSupportedList( + (codec_type == CodecType::APTX_HD ? true : false), true); + + for (auto& codec_specific : aptx_codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, + &mq_desc); + + ASSERT_TRUE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } + } +} + +/** + * Test whether each provider of type + * SessionType::A2DP_HARDWARE_DECODING_DATAPATH can be started and stopped with + * an invalid codec config + */ +TEST_P(BluetoothAudioProviderA2dpDecodingHardwareAidl, + StartAndEndA2dpDecodingHardwareSessionInvalidCodecConfig) { + if (!IsOffloadSupported()) { + return; + } + ASSERT_NE(audio_provider_, nullptr); + + std::vector<CodecConfiguration::CodecSpecific> codec_specifics; + for (auto codec_type : a2dp_codec_types) { + switch (codec_type) { + case CodecType::SBC: + codec_specifics = GetSbcCodecSpecificSupportedList(false); + break; + case CodecType::AAC: + codec_specifics = GetAacCodecSpecificSupportedList(false); + break; + case CodecType::LDAC: + codec_specifics = GetLdacCodecSpecificSupportedList(false); + break; + case CodecType::APTX: + codec_specifics = GetAptxCodecSpecificSupportedList(false, false); + break; + case CodecType::APTX_HD: + codec_specifics = GetAptxCodecSpecificSupportedList(true, false); + break; + case CodecType::LC3: + codec_specifics = GetLc3CodecSpecificSupportedList(false); + continue; + case CodecType::APTX_ADAPTIVE: + case CodecType::VENDOR: + case CodecType::UNKNOWN: + codec_specifics.clear(); + break; + } + if (codec_specifics.empty()) { + continue; + } + + CodecConfiguration codec_config = { + .codecType = codec_type, + .encodedAudioBitrate = 328000, + .peerMtu = 1005, + .isScmstEnabled = false, + }; + for (auto codec_specific : codec_specifics) { + copy_codec_specific(codec_config.config, codec_specific); + DataMQDesc mq_desc; + auto aidl_retval = audio_provider_->startSession( + audio_port_, AudioConfiguration(codec_config), latency_modes, + &mq_desc); + + // AIDL call should fail on invalid codec + ASSERT_FALSE(aidl_retval.isOk()); + EXPECT_TRUE(audio_provider_->endSession().isOk()); + } + } +} + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST( BluetoothAudioProviderFactoryAidl); INSTANTIATE_TEST_SUITE_P(PerInstance, BluetoothAudioProviderFactoryAidl, @@ -1596,15 +1922,17 @@ INSTANTIATE_TEST_SUITE_P(PerInstance, BluetoothAudioProviderFactoryAidl, android::PrintInstanceNameToString); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST( - BluetoothAudioProviderA2dpSoftwareAidl); -INSTANTIATE_TEST_SUITE_P(PerInstance, BluetoothAudioProviderA2dpSoftwareAidl, + BluetoothAudioProviderA2dpEncodingSoftwareAidl); +INSTANTIATE_TEST_SUITE_P(PerInstance, + BluetoothAudioProviderA2dpEncodingSoftwareAidl, testing::ValuesIn(android::getAidlHalInstanceNames( IBluetoothAudioProviderFactory::descriptor)), android::PrintInstanceNameToString); GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST( - BluetoothAudioProviderA2dpHardwareAidl); -INSTANTIATE_TEST_SUITE_P(PerInstance, BluetoothAudioProviderA2dpHardwareAidl, + BluetoothAudioProviderA2dpEncodingHardwareAidl); +INSTANTIATE_TEST_SUITE_P(PerInstance, + BluetoothAudioProviderA2dpEncodingHardwareAidl, testing::ValuesIn(android::getAidlHalInstanceNames( IBluetoothAudioProviderFactory::descriptor)), android::PrintInstanceNameToString); @@ -1665,6 +1993,22 @@ INSTANTIATE_TEST_SUITE_P(PerInstance, IBluetoothAudioProviderFactory::descriptor)), android::PrintInstanceNameToString); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST( + BluetoothAudioProviderA2dpDecodingSoftwareAidl); +INSTANTIATE_TEST_SUITE_P(PerInstance, + BluetoothAudioProviderA2dpDecodingSoftwareAidl, + testing::ValuesIn(android::getAidlHalInstanceNames( + IBluetoothAudioProviderFactory::descriptor)), + android::PrintInstanceNameToString); + +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST( + BluetoothAudioProviderA2dpDecodingHardwareAidl); +INSTANTIATE_TEST_SUITE_P(PerInstance, + BluetoothAudioProviderA2dpDecodingHardwareAidl, + testing::ValuesIn(android::getAidlHalInstanceNames( + IBluetoothAudioProviderFactory::descriptor)), + android::PrintInstanceNameToString); + int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); ABinderProcess_setThreadPoolMaxThreadCount(1); diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioCodecs.cpp b/bluetooth/audio/utils/aidl_session/BluetoothAudioCodecs.cpp index 8fd1ab5cae..fc54c70158 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioCodecs.cpp +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioCodecs.cpp @@ -323,7 +323,8 @@ BluetoothAudioCodecs::GetSoftwarePcmCapabilities() { std::vector<CodecCapabilities> BluetoothAudioCodecs::GetA2dpOffloadCodecCapabilities( const SessionType& session_type) { - if (session_type != SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { + if (session_type != SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH && + session_type != SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { return {}; } std::vector<CodecCapabilities> offload_a2dp_codec_capabilities = @@ -389,7 +390,8 @@ bool BluetoothAudioCodecs::IsSoftwarePcmConfigurationValid( bool BluetoothAudioCodecs::IsOffloadCodecConfigurationValid( const SessionType& session_type, const CodecConfiguration& codec_config) { - if (session_type != SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { + if (session_type != SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH && + session_type != SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { LOG(ERROR) << __func__ << ": Invalid SessionType=" << toString(session_type); return false; diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp index cdee520b11..3214bf2228 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp @@ -92,6 +92,7 @@ const AudioConfiguration BluetoothAudioSession::GetAudioConfig() { if (!IsSessionReady()) { switch (session_type_) { case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: + case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH: return AudioConfiguration(CodecConfiguration{}); case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH: case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH: @@ -143,6 +144,7 @@ bool BluetoothAudioSession::IsSessionReady() { SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH || session_type_ == SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH || (data_mq_ != nullptr && data_mq_->isValid())); return stack_iface_ != nullptr && is_mq_valid && audio_config_ != nullptr; } @@ -267,9 +269,11 @@ bool BluetoothAudioSession::UpdateAudioConfig( session_type_ == SessionType::LE_AUDIO_SOFTWARE_DECODING_DATAPATH || session_type_ == SessionType::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH || session_type_ == - SessionType::LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH); + SessionType::LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH || + session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH); bool is_offload_a2dp_session = - (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH); + (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH); bool is_offload_le_audio_session = (session_type_ == SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH || @@ -468,7 +472,9 @@ void BluetoothAudioSession::UpdateSourceMetadata( LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_) << "," << track_count << " track(s)"; if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH || - session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH || + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { return; } @@ -509,7 +515,9 @@ void BluetoothAudioSession::UpdateSinkMetadata( LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_) << "," << track_count << " track(s)"; if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH || - session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || + session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH || + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { return; } diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioSessionControl.h b/bluetooth/audio/utils/aidl_session/BluetoothAudioSessionControl.h index 5b838b0b3f..0782c824e1 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioSessionControl.h +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioSessionControl.h @@ -82,6 +82,7 @@ class BluetoothAudioSessionControl { } switch (session_type) { case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: + case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH: return AudioConfiguration(CodecConfiguration{}); case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH: case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH: diff --git a/keymaster/4.0/support/fuzzer/Android.bp b/keymaster/4.0/support/fuzzer/Android.bp index 3a3f4d5589..8bc681a46b 100644 --- a/keymaster/4.0/support/fuzzer/Android.bp +++ b/keymaster/4.0/support/fuzzer/Android.bp @@ -30,12 +30,12 @@ cc_defaults { "libbase", "liblog", "libkeymaster4support", - "libutils", ], shared_libs: [ "android.hardware.keymaster@4.0", "libcrypto", "libhidlbase", + "libutils", ], fuzz_config: { cc: [ diff --git a/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp b/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp index d9a6363ec9..5fa13e7c5a 100644 --- a/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp +++ b/media/omx/1.0/vts/functional/store/VtsHalMediaOmxV1_0TargetStoreTest.cpp @@ -24,6 +24,7 @@ #include <android-base/strings.h> #include <android/api-level.h> +#include <VtsCoreUtil.h> #include <android/hardware/media/omx/1.0/IOmx.h> #include <android/hardware/media/omx/1.0/IOmxNode.h> #include <android/hardware/media/omx/1.0/IOmxObserver.h> @@ -377,6 +378,10 @@ static int getFirstApiLevel() { return android::base::GetIntProperty("ro.product.first_api_level", __ANDROID_API_T__); } +static bool isTV() { + return testing::deviceSupportsFeature("android.software.leanback"); +} + // list components and roles. TEST_P(StoreHidlTest, OmxCodecAllowedTest) { hidl_vec<IOmx::ComponentInfo> componentInfos = getComponentInfoList(omx); @@ -384,9 +389,16 @@ TEST_P(StoreHidlTest, OmxCodecAllowedTest) { for (std::string role : info.mRoles) { if (role.find("video_decoder") != std::string::npos || role.find("video_encoder") != std::string::npos) { - ASSERT_LT(getFirstApiLevel(), __ANDROID_API_S__) - << " Component: " << info.mName.c_str() << " Role: " << role.c_str() - << " not allowed for devices launching with Android S and above"; + // Codec2 is not mandatory on Android TV devices that launched with Android S + if (isTV()) { + ASSERT_LT(getFirstApiLevel(), __ANDROID_API_T__) + << " Component: " << info.mName.c_str() << " Role: " << role.c_str() + << " not allowed for devices launching with Android T and above"; + } else { + ASSERT_LT(getFirstApiLevel(), __ANDROID_API_S__) + << " Component: " << info.mName.c_str() << " Role: " << role.c_str() + << " not allowed for devices launching with Android S and above"; + } } if (role.find("audio_decoder") != std::string::npos || role.find("audio_encoder") != std::string::npos) { diff --git a/radio/aidl/Android.bp b/radio/aidl/Android.bp index c5a3a8bb81..e1808af9e2 100644 --- a/radio/aidl/Android.bp +++ b/radio/aidl/Android.bp @@ -10,6 +10,7 @@ package { aidl_interface { name: "android.hardware.radio", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/*.aidl"], stability: "vintf", backend: { @@ -30,6 +31,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.config", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/config/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], @@ -51,6 +53,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.data", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/data/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], @@ -72,6 +75,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.messaging", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/messaging/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], @@ -93,6 +97,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.modem", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/modem/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], @@ -114,6 +119,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.network", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/network/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], @@ -135,6 +141,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.sim", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/sim/*.aidl"], stability: "vintf", imports: [ @@ -159,6 +166,7 @@ aidl_interface { aidl_interface { name: "android.hardware.radio.voice", vendor_available: true, + host_supported: true, srcs: ["android/hardware/radio/voice/*.aidl"], stability: "vintf", imports: ["android.hardware.radio"], 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 c60200ce13..db3a4c65f3 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 @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.config; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PhoneCapability { byte maxActiveData; byte maxActiveInternetData; diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimPortInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimPortInfo.aidl index 5cc90176ac..b5d31ada35 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimPortInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimPortInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.config; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SimPortInfo { String iccId; int logicalSlotId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl index bc7f63ca9a..be4c08064a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.config; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SimSlotStatus { int cardState; String atr; diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SlotPortMapping.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SlotPortMapping.aidl index f38c4213d0..31271eed8d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SlotPortMapping.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SlotPortMapping.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.config; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SlotPortMapping { int physicalSlotId; int portId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl index 929cfe3ccf..86272c22eb 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum ApnAuthType { NO_PAP_NO_CHAP = 0, PAP_NO_CHAP = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl index 980b042cdf..1518a5749e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum ApnTypes { NONE = 0, DEFAULT = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl index 6130e71a1a..d7d6983236 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum DataCallFailCause { NONE = 0, OPERATOR_BARRED = 8, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl index 02bbf21ef3..16fada1d76 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable DataProfileInfo { int profileId; String apn; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl index c94fa6f604..0ddaff1662 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum DataRequestReason { NORMAL = 1, SHUTDOWN = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl index c0ade454dd..4f976cd593 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="byte") @VintfStability +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability enum DataThrottlingAction { NO_DATA_THROTTLING = 0, THROTTLE_SECONDARY_CARRIER = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl index 36367315d6..5b9aaa0b1e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable EpsQos { int qci; android.hardware.radio.data.QosBandwidth downlink; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl index 788adfbfde..592a54a90c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable KeepaliveRequest { int type; byte[] sourceAddress; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl index 4729b8e194..82b0fc8ec1 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable KeepaliveStatus { int sessionHandle; int code; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl index 9aee44c4fc..48e646ea22 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable LinkAddress { String address; int addressProperties; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl index a8a169635e..62f6204038 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NrQos { int fiveQi; android.hardware.radio.data.QosBandwidth downlink; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl index 205b1e92bd..8595d5206d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable OsAppId { byte[] osAppId; } diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl index edfa7592df..033b12f4ee 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PcoDataInfo { int cid; String bearerProto; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl index 363cdf30b9..9771e5ccc1 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum PdpProtocolType { UNKNOWN = -1, IP = 0, diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl index f3749ed7ac..470a9c11b3 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PortRange { int start; int end; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl index 1981721b5b..ca06e4112b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability union Qos { boolean noinit; android.hardware.radio.data.EpsQos eps; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl index d7ebe100bd..6d4b7a9f49 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable QosBandwidth { int maxBitrateKbps; int guaranteedBitrateKbps; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl index b9098f7f88..e22b359163 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable QosFilter { String[] localAddresses; String[] remoteAddresses; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl index 565e49904e..4b75340276 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability union QosFilterIpsecSpi { boolean noinit; int value; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl index 16117b252b..3fb34ea375 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability union QosFilterIpv6FlowLabel { boolean noinit; int value; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl index 95fda167f5..fa85b5acc3 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability union QosFilterTypeOfService { boolean noinit; byte value; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl index 53dcef0131..bbfdd2d48c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable QosSession { int qosSessionId; android.hardware.radio.data.Qos qos; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl index 02596a1f63..434ee7d102 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RouteSelectionDescriptor { byte precedence; android.hardware.radio.data.PdpProtocolType sessionType; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl index ff2459c0b2..83f9db61ac 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SetupDataCallResult { android.hardware.radio.data.DataCallFailCause cause; long suggestedRetryTime; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl index 0dd8127e1d..efe48165ee 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SliceInfo { byte sliceServiceType; int sliceDifferentiator; diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl index 54e2f12171..b00febebaf 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@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/current/android/hardware/radio/data/TrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl index d5079c1d76..d7b0654970 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@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/current/android/hardware/radio/data/UrspRule.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl index c0be05426c..7002fd118c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.data; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable UrspRule { int precedence; android.hardware.radio.data.TrafficDescriptor[] trafficDescriptors; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl index 54e8a7b051..39e2be2f63 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaBroadcastSmsConfigInfo { int serviceCategory; int language; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl index 0de1688f98..befdbdefb6 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSmsAck { boolean errorClass; int smsCauseCode; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl index 4a55745724..ab29c775dd 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSmsAddress { int digitMode; boolean isNumberModeDataNetwork; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl index fdb74fb49b..867596c81b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSmsMessage { int teleserviceId; boolean isServicePresent; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl index deb1102f0d..d67fe8c577 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSmsSubaddress { int subaddressType; boolean odd; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl index 4969663834..b0a7f98dc6 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSmsWriteArgs { int status; android.hardware.radio.messaging.CdmaSmsMessage message; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl index 6cc7636f79..46604cabe6 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable GsmBroadcastSmsConfigInfo { int fromServiceId; int toServiceId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl index 2937d5ca79..4df7fd2508 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable GsmSmsMessage { String smscPdu; String pdu; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl index 706bfddd49..85f62b781d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable ImsSmsMessage { android.hardware.radio.RadioTechnologyFamily tech; boolean retry; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl index 0fbec6fed1..32f7a5cb71 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SendSmsResult { int messageRef; String ackPDU; diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl index b1f8ff8583..019b18539f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum SmsAcknowledgeFailCause { MEMORY_CAPACITY_EXCEEDED = 211, UNSPECIFIED_ERROR = 255, diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl index 1748b62cfc..489cc07068 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.messaging; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SmsWriteArgs { int status; String pdu; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl index 93940fd295..7e22ee046e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable ActivityStatsInfo { int sleepModeTimeMs; int idleModeTimeMs; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl index 798ec36ffb..08ed9a529e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable ActivityStatsTechSpecificInfo { android.hardware.radio.AccessNetwork rat; int frequencyRange; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl index 0f0006d3e4..4e8c6d7545 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum DeviceStateType { POWER_SAVE_MODE = 0, CHARGING_STATE = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl index 7593ca7a03..3a0ec2514b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable HardwareConfig { int type; String uuid; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl index bf7099541c..62bb160fc4 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable HardwareConfigModem { int rilModel; android.hardware.radio.RadioTechnology rat; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl index 1b887c220e..5810982975 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable HardwareConfigSim { String modemUuid; } diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl index bda4ab7884..3e276434ac 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum NvItem { CDMA_MEID = 1, CDMA_MIN = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl index 58e84988e8..17b7de0a74 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@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/current/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl index 5aaf5a7303..f2e2858590 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RadioCapability { int session; int phase; diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl index 4bde770e15..57f29410c5 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioState { OFF = 0, UNAVAILABLE = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl index 81f225433f..e3b5796cfc 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.modem; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum ResetNvType { RELOAD = 0, ERASE = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl index 4a4a120965..28d886256d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability union AccessTechnologySpecificInfo { boolean noinit; android.hardware.radio.network.Cdma2000RegistrationInfo cdmaInfo; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl index a96ef510c4..e105b39101 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable BarringInfo { int serviceType; int barringType; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl index c04cdb54bc..a81363339e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable BarringTypeSpecificInfo { int factor; int timeSeconds; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl index 7d9292d9b3..74c4e29d2b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable Cdma2000RegistrationInfo { boolean cssSupported; int roamingIndicator; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl index 54c431b015..24ec26b893 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum CdmaRoamingType { HOME_NETWORK = 0, AFFILIATED_ROAM = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl index b4aee1cdd2..e2f97bf98f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSignalStrength { int dbm; int ecio; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl index 066cb60594..8986d719c4 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum CellConnectionStatus { NONE = 0, PRIMARY_SERVING = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl index 1c68e8c817..2ee92dee29 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability union CellIdentity { boolean noinit; android.hardware.radio.network.CellIdentityGsm gsm; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl index 8c1fdfa92a..d659a2891c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityCdma { int networkId; int systemId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityGsm.aidl index 2e384e96f5..d3193be072 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityGsm.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityGsm.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityGsm { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityLte.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityLte.aidl index c83997e130..2ae7b43e2d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityLte.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityLte.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityLte { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl index 6bdfd99af8..b30af506d8 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityNr { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityTdscdma.aidl index 4100805d8b..e99d14771c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityTdscdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityTdscdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityTdscdma { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl index 907f30d0ac..12001fcd67 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellIdentityWcdma { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl index 38e0a44e95..467c6b77cc 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellInfo { boolean registered; android.hardware.radio.network.CellConnectionStatus connectionStatus; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl index d171a4b7df..e3bf46b918 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CellInfoCdma { android.hardware.radio.network.CellIdentityCdma cellIdentityCdma; android.hardware.radio.network.CdmaSignalStrength signalStrengthCdma; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl index 491b6868ec..84dcd07d72 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@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/current/android/hardware/radio/network/CellInfoLte.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl index 67c5a18b22..221340b06a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@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/current/android/hardware/radio/network/CellInfoNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl index a094600b6b..b392c1d2c7 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@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/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl index 4e0719cd7f..4ab0640b29 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability union CellInfoRatSpecificInfo { android.hardware.radio.network.CellInfoGsm gsm; android.hardware.radio.network.CellInfoWcdma wcdma; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl index d4e0874914..138b35ce62 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@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/current/android/hardware/radio/network/CellInfoWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl index da19e37952..cf7b135c63 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@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/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl index 5c45d93e68..fe734c8f78 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable ClosedSubscriberGroupInfo { boolean csgIndication; String homeNodebName; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl index 712bbdb91e..209cf5e802 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum Domain { CS = 1, PS = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl index 6c94d156cc..57fac3f5d7 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum EutranBands { BAND_1 = 1, BAND_2 = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl index 098b57e9cd..dfbf881353 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable EutranRegistrationInfo { android.hardware.radio.network.LteVopsInfo lteVopsInfo; android.hardware.radio.network.NrIndicators nrIndicators; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl index 7ec1635c4d..7c567119f8 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable EvdoSignalStrength { int dbm; int ecio; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl index 7cb0fd5bad..135935ff8f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum GeranBands { BAND_T380 = 1, BAND_T410 = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl index 4142ae7781..2b53b39317 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable GsmSignalStrength { int signalStrength; int bitErrorRate; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl index f79ff2a8b7..d9ed68ed6d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum IndicationFilter { NONE = 0, ALL = -1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl index 1876465e41..27b16c11fb 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable LceDataInfo { int lastHopCapacityKbps; byte confidenceLevel; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl index c34f177722..5707b8e990 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable LinkCapacityEstimate { int downlinkCapacityKbps; int uplinkCapacityKbps; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl index c7b41f1173..b5b8579305 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable LteSignalStrength { int signalStrength; int rsrp; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl index 9f20b1026e..6d8dd4e83a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable LteVopsInfo { boolean isVopsSupported; boolean isEmcBearerSupported; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanRequest.aidl index 1e657e571b..6039740167 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanRequest.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanRequest.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NetworkScanRequest { int type; int interval; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl index 3dc39406e7..4e392d0c5c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NetworkScanResult { int status; android.hardware.radio.RadioError error; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl index aa60cde74f..590469076a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum NgranBands { BAND_1 = 1, BAND_2 = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl index 6ee526ff2b..62c2a56c8d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="byte") @VintfStability +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability enum NrDualConnectivityState { ENABLE = 1, DISABLE = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl index 54f9b8f75f..88429f6f38 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NrIndicators { boolean isEndcAvailable; boolean isDcNrRestricted; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl index 14b60a622c..98bbe6bd94 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NrSignalStrength { int ssRsrp; int ssRsrq; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl index 7f58ee17fa..e5a0a700ca 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable NrVopsInfo { byte vopsSupported; byte emcSupported; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl index c3658d9f91..034150e61f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable OperatorInfo { String alphaLong; String alphaShort; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl index dff8be052e..41555f9e3d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum PhoneRestrictedState { NONE = 0, CS_EMERGENCY = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl index 8db6bc40da..928c6b728c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PhysicalChannelConfig { android.hardware.radio.network.CellConnectionStatus status; android.hardware.radio.RadioTechnology rat; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl index 50af816485..efc64a6930 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability union PhysicalChannelConfigBand { boolean noinit; android.hardware.radio.network.GeranBands geranBand; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl index b412f63899..1566bb5224 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RadioAccessSpecifier { android.hardware.radio.AccessNetwork accessNetwork; android.hardware.radio.network.RadioAccessSpecifierBands bands; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl index d44a883671..a6ac12a28a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability union RadioAccessSpecifierBands { boolean noinit; android.hardware.radio.network.GeranBands[] geranBands; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl index 7266fd5e06..e9a9f6034c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioBandMode { BAND_MODE_UNSPECIFIED = 0, BAND_MODE_EURO = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl index d10f41313d..e6e7999f6d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RegState { NOT_REG_MT_NOT_SEARCHING_OP = 0, REG_HOME = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl index eff22166b9..f0a03aea4f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RegStateResult { android.hardware.radio.network.RegState regState; android.hardware.radio.RadioTechnology rat; 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 75fcdf453d..e2cd44ce0c 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 @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RegistrationFailCause { NONE = 0, IMSI_UNKNOWN_IN_HLR = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl index 7187116fce..1c50190947 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SignalStrength { android.hardware.radio.network.GsmSignalStrength gsm; android.hardware.radio.network.CdmaSignalStrength cdma; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl index 159d9c1547..040932cf5b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SignalThresholdInfo { int signalMeasurement; int hysteresisMs; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl index 541754e3ad..b62c71bd37 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SuppSvcNotification { boolean isMT; int code; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl index a00345f16a..d74c950bde 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable TdscdmaSignalStrength { int signalStrength; int bitErrorRate; diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UsageSetting.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UsageSetting.aidl index 7fdf8313d3..3ca16b5eaa 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UsageSetting.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UsageSetting.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@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/current/android/hardware/radio/network/UtranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl index 87d5b8535d..8be3da28f3 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum UtranBands { BAND_1 = 1, BAND_2 = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl index 678ace9735..91125271d2 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.network; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable WcdmaSignalStrength { int signalStrength; int bitErrorRate; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl index 89d8f9a6ee..8a41fb9d90 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable AppStatus { int appType; int appState; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl index c0026ba95c..05bc13ac45 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum CardPowerState { POWER_DOWN = 0, POWER_UP = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl index cf37a0d9e1..9000d43506 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CardStatus { int cardState; android.hardware.radio.sim.PinState universalPinState; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl index c7fced175f..cc56888f31 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable Carrier { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl index 85cf86e41f..944f1ca981 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CarrierRestrictions { android.hardware.radio.sim.Carrier[] allowedCarriers; android.hardware.radio.sim.Carrier[] excludedCarriers; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl index 50e768c10e..13469f3d6a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum CdmaSubscriptionSource { RUIM_SIM = 0, NV = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl index 3e4dcf6730..5a312dc4fd 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable IccIo { int command; int fileId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl index 58e43ebcca..6c6bde2012 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable IccIoResult { int sw1; int sw2; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl index 087f399ce7..05e71cd102 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable ImsiEncryptionInfo { String mcc; String mnc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl index 61babacce2..5e96fc6f22 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="byte") @VintfStability +@Backing(type="byte") @JavaDerive(toString=true) @VintfStability enum PbReceivedStatus { PB_RECEIVED_OK = 1, PB_RECEIVED_ERROR = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl index a09d7816c9..e33769e812 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum PersoSubstate { UNKNOWN = 0, IN_PROGRESS = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl index c1fa765de7..7531c9638a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PhonebookCapacity { int maxAdnRecords; int usedAdnRecords; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl index 36bc9201e7..2e96a4bf54 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable PhonebookRecordInfo { int recordId; String name; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl index c78b92c70b..5cdc6d17d4 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum PinState { UNKNOWN = 0, ENABLED_NOT_VERIFIED = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl index 4842fbe6df..02121e632c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SelectUiccSub { int slot; int appIndex; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl index d8e1dde370..2201345695 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SimApdu { int sessionId; int cla; diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl index 6fd89d50c6..4ded3e96ec 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum SimLockMultiSimPolicy { NO_MULTISIM_POLICY = 0, ONE_VALID_SIM_MUST_BE_PRESENT = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl index dd3c1f2cf3..69bf4767d3 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.sim; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable SimRefreshResult { int type; int efId; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl index 89bd2dcf5b..15669ac483 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum AudioQuality { UNSPECIFIED = 0, AMR = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl index 7f445314b6..10d2ee751b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable Call { int state; int index; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl index 7ef9e46387..8e7aaab565 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CallForwardInfo { int status; int reason; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl index 9edf1e7e75..310f9a0fac 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaCallWaiting { String number; int numberPresentation; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl index b373aa5dc0..b6b562c028 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@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/current/android/hardware/radio/voice/CdmaInformationRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecord.aidl index cc4d3fa11e..24ae775479 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaInformationRecord { int name; android.hardware.radio.voice.CdmaDisplayInfoRecord[] display; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl index d7f6cd4e2c..e34b3937b4 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaLineControlInfoRecord { byte lineCtrlPolarityIncluded; byte lineCtrlToggle; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl index 26a7df544d..aeb0347d67 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaNumberInfoRecord { String number; byte numberType; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl index 5ea4e50546..7877fda730 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum CdmaOtaProvisionStatus { SPL_UNLOCKED = 0, SPC_RETRIES_EXCEEDED = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl index f0f2b04c95..b61b91b34f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaRedirectingNumberInfoRecord { android.hardware.radio.voice.CdmaNumberInfoRecord redirectingNumber; int redirectingReason; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl index 2ebb3960ba..6c7b264476 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaSignalInfoRecord { boolean isPresent; byte signalType; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl index 33e2c2bd3f..438231cbad 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaT53AudioControlInfoRecord { byte upLink; byte downLink; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl index 457fd18f75..1b254f56a0 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable CdmaT53ClirInfoRecord { byte cause; } diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl index 744e7ae7fa..7e799c7b03 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@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/current/android/hardware/radio/voice/ClipStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl index dafc2b9d36..3fbb0d8f7f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum ClipStatus { CLIP_PROVISIONED = 0, CLIP_UNPROVISIONED = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl index c9a02a91c4..2b2e7590bc 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable Dial { String address; int clir; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl index b31a661158..07f011d349 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum EmergencyCallRouting { UNKNOWN = 0, EMERGENCY = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl index 39bcf1a20e..98df8cd625 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable EmergencyNumber { String number; String mcc; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl index 34d3c40eb3..042dd6155e 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum EmergencyServiceCategory { UNSPECIFIED = 0, POLICE = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl index 3e178405df..1740134ef0 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum LastCallFailCause { UNOBTAINABLE_NUMBER = 1, NO_ROUTE_TO_DESTINATION = 3, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl index af75a4063a..221acf7306 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@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/current/android/hardware/radio/voice/SrvccState.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl index 8e7e9fbdf7..864374b508 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum SrvccState { HANDOVER_STARTED = 0, HANDOVER_COMPLETED = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SsInfoData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SsInfoData.aidl index 9517847ada..f18b404605 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SsInfoData.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SsInfoData.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@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/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl index 71ef7a77fc..50bb1fd35b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable StkCcUnsolSsResult { int serviceType; int requestType; diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl index bb0a9f1ac9..77417e8718 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum TtyMode { OFF = 0, FULL = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl index 9a9d723ada..ad243d2de7 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UssdModeType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum UssdModeType { NOTIFY = 0, REQUEST = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl index 0198de9bb0..931376014c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio.voice; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable UusInfo { int uusType; int uusDcs; diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl index 0327d6c19d..8ce689f501 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum AccessNetwork { UNKNOWN = 0, GERAN = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl index 9bb17fe2d8..ecc2a9be7c 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioAccessFamily { UNKNOWN = 1, GPRS = 2, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl index f411ca26ad..b91bf03511 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RadioConst { const int MAX_RILDS = 3; const int MAX_UUID_LENGTH = 64; diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl index 3ef67bccdb..98606e588b 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioError { NONE = 0, RADIO_NOT_AVAILABLE = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl index fc5d4dfc04..54ea3a4b4f 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioIndicationType { UNSOLICITED = 0, UNSOLICITED_ACK_EXP = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl index 08c30232f5..b2a7a062f9 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RadioResponseInfo { android.hardware.radio.RadioResponseType type; int serial; diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl index cbc4ab9759..37ed7bb230 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@VintfStability +@JavaDerive(toString=true) @VintfStability parcelable RadioResponseInfoModem { android.hardware.radio.RadioResponseType type; int serial; diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl index cf24183016..5cd99c43b0 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioResponseType { SOLICITED = 0, SOLICITED_ACK = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl index d0ca9b5cf5..9dad0a4977 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioTechnology { UNKNOWN = 0, GPRS = 1, diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl index c11cd1cac6..e6fdce269d 100644 --- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl @@ -32,7 +32,7 @@ // later when a module using the interface is updated, e.g., Mainline modules. package android.hardware.radio; -@Backing(type="int") @VintfStability +@Backing(type="int") @JavaDerive(toString=true) @VintfStability enum RadioTechnologyFamily { THREE_GPP = 0, THREE_GPP2 = 1, diff --git a/radio/aidl/android/hardware/radio/AccessNetwork.aidl b/radio/aidl/android/hardware/radio/AccessNetwork.aidl index 10b84f4948..2885642e83 100644 --- a/radio/aidl/android/hardware/radio/AccessNetwork.aidl +++ b/radio/aidl/android/hardware/radio/AccessNetwork.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum AccessNetwork { /** * Unknown access network diff --git a/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl index b8fbf9b6d2..6cd0a9530a 100644 --- a/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl +++ b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.RadioTechnology; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioAccessFamily { UNKNOWN = 1 << RadioTechnology.UNKNOWN, GPRS = 1 << RadioTechnology.GPRS, diff --git a/radio/aidl/android/hardware/radio/RadioConst.aidl b/radio/aidl/android/hardware/radio/RadioConst.aidl index cd03f845b3..6591ef16a2 100644 --- a/radio/aidl/android/hardware/radio/RadioConst.aidl +++ b/radio/aidl/android/hardware/radio/RadioConst.aidl @@ -17,6 +17,7 @@ package android.hardware.radio; @VintfStability +@JavaDerive(toString=true) parcelable RadioConst { const int MAX_RILDS = 3; const int MAX_UUID_LENGTH = 64; diff --git a/radio/aidl/android/hardware/radio/RadioError.aidl b/radio/aidl/android/hardware/radio/RadioError.aidl index a708d2bd9c..ae58a0eb6a 100644 --- a/radio/aidl/android/hardware/radio/RadioError.aidl +++ b/radio/aidl/android/hardware/radio/RadioError.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioError { /** * Success diff --git a/radio/aidl/android/hardware/radio/RadioIndicationType.aidl b/radio/aidl/android/hardware/radio/RadioIndicationType.aidl index aa5215f439..2dcc492a1c 100644 --- a/radio/aidl/android/hardware/radio/RadioIndicationType.aidl +++ b/radio/aidl/android/hardware/radio/RadioIndicationType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioIndicationType { UNSOLICITED, UNSOLICITED_ACK_EXP, diff --git a/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl b/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl index d81c49c83e..f70a3fe457 100644 --- a/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl +++ b/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.RadioError; import android.hardware.radio.RadioResponseType; @VintfStability +@JavaDerive(toString=true) parcelable RadioResponseInfo { /** * Response type diff --git a/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl b/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl index 8c7b94c1a4..13abfb991f 100644 --- a/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl +++ b/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.RadioError; import android.hardware.radio.RadioResponseType; @VintfStability +@JavaDerive(toString=true) parcelable RadioResponseInfoModem { /** * Response type diff --git a/radio/aidl/android/hardware/radio/RadioResponseType.aidl b/radio/aidl/android/hardware/radio/RadioResponseType.aidl index 882c759eb1..cd4a305d4b 100644 --- a/radio/aidl/android/hardware/radio/RadioResponseType.aidl +++ b/radio/aidl/android/hardware/radio/RadioResponseType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioResponseType { SOLICITED, SOLICITED_ACK, diff --git a/radio/aidl/android/hardware/radio/RadioTechnology.aidl b/radio/aidl/android/hardware/radio/RadioTechnology.aidl index d439866f2f..917cb16057 100644 --- a/radio/aidl/android/hardware/radio/RadioTechnology.aidl +++ b/radio/aidl/android/hardware/radio/RadioTechnology.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioTechnology { UNKNOWN, GPRS, diff --git a/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl b/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl index 37a1df238b..a2b989d18d 100644 --- a/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl +++ b/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl @@ -18,6 +18,7 @@ package android.hardware.radio; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioTechnologyFamily { /** * 3GPP Technologies - GSM, WCDMA diff --git a/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl index bc55e3924b..8e4f3380cb 100644 --- a/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl +++ b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.config; * SIM device to multi-SIM device. */ @VintfStability +@JavaDerive(toString=true) parcelable PhoneCapability { /** * maxActiveData defines how many logical modems can have diff --git a/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl b/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl index 54b98907bc..db247191ad 100644 --- a/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl +++ b/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.config; @VintfStability +@JavaDerive(toString=true) parcelable SimPortInfo { /** * Integrated Circuit Card IDentifier (ICCID) is unique identifier of the SIM card. File is diff --git a/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl b/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl index b5cf633d5f..748660fecc 100644 --- a/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl +++ b/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.config; import android.hardware.radio.config.SimPortInfo; @VintfStability +@JavaDerive(toString=true) parcelable SimSlotStatus { /** * Card state in the physical slot. Values are CardStatus.[STATE_ABSENT, STATE_PRESENT, diff --git a/radio/aidl/android/hardware/radio/config/SlotPortMapping.aidl b/radio/aidl/android/hardware/radio/config/SlotPortMapping.aidl index 3046d4fa9e..c78afcbc5f 100644 --- a/radio/aidl/android/hardware/radio/config/SlotPortMapping.aidl +++ b/radio/aidl/android/hardware/radio/config/SlotPortMapping.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.config; @VintfStability +@JavaDerive(toString=true) parcelable SlotPortMapping { /** * Physical slot id is the index of the slots diff --git a/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl index 8209dfec02..a4116db172 100644 --- a/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl +++ b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.data; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum ApnAuthType { /** * PAP and CHAP is never performed. diff --git a/radio/aidl/android/hardware/radio/data/ApnTypes.aidl b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl index ae103fc7e5..ed1256d744 100644 --- a/radio/aidl/android/hardware/radio/data/ApnTypes.aidl +++ b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.data; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum ApnTypes { /** * None diff --git a/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl index 89cd8f2626..29ece76711 100644 --- a/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl +++ b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.data; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum DataCallFailCause { /** * An integer cause code defined in TS 24.008 section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B. diff --git a/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl index 123b3edf39..ea4e751fce 100644 --- a/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.data.PdpProtocolType; import android.hardware.radio.data.TrafficDescriptor; @VintfStability +@JavaDerive(toString=true) parcelable DataProfileInfo { const int ID_DEFAULT = 0; const int ID_TETHERED = 1; diff --git a/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl index 2bb5bd69b3..44b47f84ec 100644 --- a/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl +++ b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.data; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum DataRequestReason { /** * The reason of the data request is normal diff --git a/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl index dfa64e2b9d..e4ee444207 100644 --- a/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl +++ b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.data; @VintfStability @Backing(type="byte") +@JavaDerive(toString=true) enum DataThrottlingAction { /* * Clear all existing data throttling. diff --git a/radio/aidl/android/hardware/radio/data/EpsQos.aidl b/radio/aidl/android/hardware/radio/data/EpsQos.aidl index 559a153e05..8965d6eb5d 100644 --- a/radio/aidl/android/hardware/radio/data/EpsQos.aidl +++ b/radio/aidl/android/hardware/radio/data/EpsQos.aidl @@ -22,6 +22,7 @@ import android.hardware.radio.data.QosBandwidth; * LTE/EPS Quality of Service parameters as per 3gpp spec 24.301 sec 9.9.4.3. */ @VintfStability +@JavaDerive(toString=true) parcelable EpsQos { /** * Quality of Service Class Identifier (QCI), see 3GPP TS 23.203 and 29.212. diff --git a/radio/aidl/android/hardware/radio/data/IRadioData.aidl b/radio/aidl/android/hardware/radio/data/IRadioData.aidl index e1ba56828f..0171d39b42 100644 --- a/radio/aidl/android/hardware/radio/data/IRadioData.aidl +++ b/radio/aidl/android/hardware/radio/data/IRadioData.aidl @@ -65,6 +65,7 @@ oneway interface IRadioData { /** * Deactivate packet data connection and remove from the data call list. An * unsolDataCallListChanged() must be sent when data connection is deactivated. + * Any return value other than RadioError::NONE will remove the network from the list. * * @param serial Serial number of request. * @param cid Data call id. @@ -76,8 +77,7 @@ oneway interface IRadioData { /** * Returns the data call list. An entry is added when a setupDataCall() is issued and removed - * on a deactivateDataCall(). The list is emptied when setRadioPower() off/on issued or when - * the vendor HAL or modem crashes. + * on a deactivateDataCall(). The list is emptied when the vendor HAL crashes. * * @param serial Serial number of request. * diff --git a/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl index bbc8d07b0a..88b6c1b720 100644 --- a/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl +++ b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl @@ -67,7 +67,7 @@ oneway interface IRadioDataResponse { * * Valid errors returned: * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. - * RadioError:NONE + * RadioError:NONE indicates success. Any other error will remove the network from the list. * RadioError:RADIO_NOT_AVAILABLE * RadioError:INVALID_CALL_ID * RadioError:INVALID_STATE diff --git a/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl index 57c9f68414..c720de0547 100644 --- a/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl +++ b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) parcelable KeepaliveRequest { /** * Keepalive specified by RFC 3948 Sec. 2.3 using IPv4 diff --git a/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl index 2df280c1ef..0b829c4a4d 100644 --- a/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl +++ b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) parcelable KeepaliveStatus { /** * Keepalive is currently active. diff --git a/radio/aidl/android/hardware/radio/data/LinkAddress.aidl b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl index 599d382ddf..12a7637a59 100644 --- a/radio/aidl/android/hardware/radio/data/LinkAddress.aidl +++ b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.data; * Describes a data link address for mobile data connection. */ @VintfStability +@JavaDerive(toString=true) parcelable LinkAddress { const int ADDRESS_PROPERTY_NONE = 0; /** diff --git a/radio/aidl/android/hardware/radio/data/NrQos.aidl b/radio/aidl/android/hardware/radio/data/NrQos.aidl index 1d69b4fc53..af8ab833ff 100644 --- a/radio/aidl/android/hardware/radio/data/NrQos.aidl +++ b/radio/aidl/android/hardware/radio/data/NrQos.aidl @@ -22,6 +22,7 @@ import android.hardware.radio.data.QosBandwidth; * 5G Quality of Service parameters as per 3gpp spec 24.501 sec 9.11.4.12 */ @VintfStability +@JavaDerive(toString=true) parcelable NrQos { const byte FLOW_ID_RANGE_MIN = 1; const byte FLOW_ID_RANGE_MAX = 63; diff --git a/radio/aidl/android/hardware/radio/data/OsAppId.aidl b/radio/aidl/android/hardware/radio/data/OsAppId.aidl index 0bf6d7eb53..88e7832af0 100644 --- a/radio/aidl/android/hardware/radio/data/OsAppId.aidl +++ b/radio/aidl/android/hardware/radio/data/OsAppId.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.data; * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2 */ @VintfStability +@JavaDerive(toString=true) parcelable OsAppId { /** * Byte array representing OsId + OsAppId. The minimum length of the array is 18 and maximum diff --git a/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl index 958761436f..38a821fb85 100644 --- a/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) parcelable PcoDataInfo { /** * Context ID, uniquely identifies this call diff --git a/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl index 9b1136c128..792a503a7d 100644 --- a/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl +++ b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.data; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum PdpProtocolType { /** * Unknown protocol diff --git a/radio/aidl/android/hardware/radio/data/PortRange.aidl b/radio/aidl/android/hardware/radio/data/PortRange.aidl index b1f88e60e1..5c83ca4e64 100644 --- a/radio/aidl/android/hardware/radio/data/PortRange.aidl +++ b/radio/aidl/android/hardware/radio/data/PortRange.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.data; * be represented by the same start and end value. */ @VintfStability +@JavaDerive(toString=true) parcelable PortRange { const int PORT_RANGE_MIN = 20; const int PORT_RANGE_MAX = 65535; diff --git a/radio/aidl/android/hardware/radio/data/Qos.aidl b/radio/aidl/android/hardware/radio/data/Qos.aidl index 3d458de5dc..d9ab9e70b9 100644 --- a/radio/aidl/android/hardware/radio/data/Qos.aidl +++ b/radio/aidl/android/hardware/radio/data/Qos.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.data.NrQos; * EPS or NR QOS parameters */ @VintfStability +@JavaDerive(toString=true) union Qos { boolean noinit; EpsQos eps; diff --git a/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl index a21003af2d..e841548089 100644 --- a/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl +++ b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) parcelable QosBandwidth { /** * Maximum bit rate possible on the bearer diff --git a/radio/aidl/android/hardware/radio/data/QosFilter.aidl b/radio/aidl/android/hardware/radio/data/QosFilter.aidl index 626f2b4614..f5dc7ec9c6 100644 --- a/radio/aidl/android/hardware/radio/data/QosFilter.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilter.aidl @@ -25,6 +25,7 @@ import android.hardware.radio.data.QosFilterTypeOfService; * See 3gpp 24.008 10.5.6.12 and 3gpp 24.501 9.11.4.13 */ @VintfStability +@JavaDerive(toString=true) parcelable QosFilter { const byte DIRECTION_DOWNLINK = 0; const byte DIRECTION_UPLINK = 1; diff --git a/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl index fd7efb1c75..5059c28c17 100644 --- a/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) union QosFilterIpsecSpi { boolean noinit; int value; diff --git a/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl index d6ce84b353..6f149348c4 100644 --- a/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) union QosFilterIpv6FlowLabel { boolean noinit; int value; diff --git a/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl index c50c5b6f20..f5770a42ae 100644 --- a/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.data; @VintfStability +@JavaDerive(toString=true) union QosFilterTypeOfService { boolean noinit; byte value; diff --git a/radio/aidl/android/hardware/radio/data/QosSession.aidl b/radio/aidl/android/hardware/radio/data/QosSession.aidl index 389c3491e5..770b124fe1 100644 --- a/radio/aidl/android/hardware/radio/data/QosSession.aidl +++ b/radio/aidl/android/hardware/radio/data/QosSession.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.data.QosFilter; * QOS session associated with a dedicated bearer */ @VintfStability +@JavaDerive(toString=true) parcelable QosSession { /** * Unique ID of the QoS session within the data call diff --git a/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl index d9d602e5df..14b0ffcb34 100644 --- a/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl +++ b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.data.SliceInfo; * This struct represents a single route selection descriptor as defined in 3GPP TS 24.526. */ @VintfStability +@JavaDerive(toString=true) parcelable RouteSelectionDescriptor { const byte SSC_MODE_UNKNOWN = -1; const byte SSC_MODE_1 = 1; diff --git a/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl index ebfc55d260..fee54aceaa 100644 --- a/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl +++ b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl @@ -25,6 +25,7 @@ import android.hardware.radio.data.SliceInfo; import android.hardware.radio.data.TrafficDescriptor; @VintfStability +@JavaDerive(toString=true) parcelable SetupDataCallResult { /** * Indicates the data connection is inactive. diff --git a/radio/aidl/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl index 0943031dfd..7ad7fc36a4 100644 --- a/radio/aidl/android/hardware/radio/data/SliceInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.data; * This struct represents a S-NSSAI as defined in 3GPP TS 24.501. */ @VintfStability +@JavaDerive(toString=true) parcelable SliceInfo { /* * Not specified diff --git a/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl index eea2d4982f..e94b58c257 100644 --- a/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl +++ b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.data.UrspRule; * This struct represents the current slicing configuration. */ @VintfStability +@JavaDerive(toString=true) parcelable SlicingConfig { /** * This vector contains the current URSP rules. Empty vector indicates no rules are configured. diff --git a/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl index e6ea27c749..2c117a5de2 100644 --- a/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl +++ b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl @@ -24,6 +24,7 @@ import android.hardware.radio.data.OsAppId; * TS 24.526 Section 5.2. */ @VintfStability +@JavaDerive(toString=true) parcelable TrafficDescriptor { /** * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003. diff --git a/radio/aidl/android/hardware/radio/data/UrspRule.aidl b/radio/aidl/android/hardware/radio/data/UrspRule.aidl index de85be5662..0499edd1e2 100644 --- a/radio/aidl/android/hardware/radio/data/UrspRule.aidl +++ b/radio/aidl/android/hardware/radio/data/UrspRule.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.data.TrafficDescriptor; * This struct represents a single URSP rule as defined in 3GPP TS 24.526. */ @VintfStability +@JavaDerive(toString=true) parcelable UrspRule { /** * Precedence value in the range of 0 to 255. Higher value has lower precedence. diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl index 3d715e2934..4173f156a2 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable CdmaBroadcastSmsConfigInfo { /** * Defines a broadcast message identifier whose value is 0x0000 - 0xFFFF as defined in diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl index 25871c8bb1..85ef692a86 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSmsAck { boolean errorClass; /** diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl index 835dda5be2..8e521df0c1 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSmsAddress { /** * DTMF digits diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl index f1f065f0ee..d4fb26f411 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.messaging.CdmaSmsAddress; import android.hardware.radio.messaging.CdmaSmsSubaddress; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSmsMessage { int teleserviceId; boolean isServicePresent; diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl index 9dfe503369..18e5837085 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSmsSubaddress { /** * CCITT X.213 or ISO 8348 AD2 diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl index e73a0d791f..41919857dc 100644 --- a/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.messaging; import android.hardware.radio.messaging.CdmaSmsMessage; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSmsWriteArgs { const int STATUS_REC_UNREAD = 0; const int STATUS_REC_READ = 1; diff --git a/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl index 2a52f0a56e..5138c3c0d3 100644 --- a/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.messaging; * Which types of Cell Broadcast Message (CBM) are to be received by the ME */ @VintfStability +@JavaDerive(toString=true) parcelable GsmBroadcastSmsConfigInfo { /** * Beginning of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined diff --git a/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl index 45c09afac7..ee62d957f4 100644 --- a/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable GsmSmsMessage { /** * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005) diff --git a/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl index 809cfb38bd..d4be04460d 100644 --- a/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.messaging.CdmaSmsMessage; import android.hardware.radio.messaging.GsmSmsMessage; @VintfStability +@JavaDerive(toString=true) parcelable ImsSmsMessage { RadioTechnologyFamily tech; /** diff --git a/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl index 15d68f14a0..80e059c5fb 100644 --- a/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable SendSmsResult { /** * TP-Message-Reference for GSM, and BearerData MessageId for CDMA. diff --git a/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl index a47cdb61c8..eb15bf1129 100644 --- a/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.messaging; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum SmsAcknowledgeFailCause { MEMORY_CAPACITY_EXCEEDED = 0xD3, UNSPECIFIED_ERROR = 0XFF, diff --git a/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl index 539f68bf67..6eef9417d7 100644 --- a/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.messaging; @VintfStability +@JavaDerive(toString=true) parcelable SmsWriteArgs { const int STATUS_REC_UNREAD = 0; const int STATUS_REC_READ = 1; diff --git a/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl index d0aa695c28..b2a56d470d 100644 --- a/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl +++ b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.modem; import android.hardware.radio.modem.ActivityStatsTechSpecificInfo; @VintfStability +@JavaDerive(toString=true) parcelable ActivityStatsInfo { /** * Total time (in ms) when modem is in a low power or sleep state diff --git a/radio/aidl/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl b/radio/aidl/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl index fb14223963..fcc2df20e9 100644 --- a/radio/aidl/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/modem/ActivityStatsTechSpecificInfo.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.modem; import android.hardware.radio.AccessNetwork; @VintfStability +@JavaDerive(toString=true) parcelable ActivityStatsTechSpecificInfo { /** Indicates the frequency range is unknown. */ const int FREQUENCY_RANGE_UNKNOWN = 0; diff --git a/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl index 0dae351c41..ad0d59cdf7 100644 --- a/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl +++ b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.modem; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum DeviceStateType { /** * Device power save mode (provided by PowerManager). True indicates the device is in diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl index c38df5e859..8eb1f2d1a9 100644 --- a/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.modem.HardwareConfigModem; import android.hardware.radio.modem.HardwareConfigSim; @VintfStability +@JavaDerive(toString=true) parcelable HardwareConfig { const int STATE_ENABLED = 0; const int STATE_STANDBY = 1; diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl index 0b7343b3d6..f5e2c278e4 100644 --- a/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.modem; import android.hardware.radio.RadioTechnology; @VintfStability +@JavaDerive(toString=true) parcelable HardwareConfigModem { /** * RIL attachment model. Values are: diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl index 0f0c05fe6f..c82bc6e444 100644 --- a/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.modem; @VintfStability +@JavaDerive(toString=true) parcelable HardwareConfigSim { /** * RadioConst:MAX_UUID_LENGTH is max length of the string diff --git a/radio/aidl/android/hardware/radio/modem/NvItem.aidl b/radio/aidl/android/hardware/radio/modem/NvItem.aidl index cdae1c8b05..649b0d2db6 100644 --- a/radio/aidl/android/hardware/radio/modem/NvItem.aidl +++ b/radio/aidl/android/hardware/radio/modem/NvItem.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.modem; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum NvItem { /** * CDMA radio and account information (items 1-10) diff --git a/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl index d66c2cdcd6..47fb4904ef 100644 --- a/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl +++ b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.modem; import android.hardware.radio.modem.NvItem; @VintfStability +@JavaDerive(toString=true) parcelable NvWriteItem { NvItem itemId; String value; diff --git a/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl index 96b9d0de48..16cba09248 100644 --- a/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl +++ b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.modem; @VintfStability +@JavaDerive(toString=true) parcelable RadioCapability { /** * Logical Modem's (LM) initial value and value after PHASE_FINISH completes. diff --git a/radio/aidl/android/hardware/radio/modem/RadioState.aidl b/radio/aidl/android/hardware/radio/modem/RadioState.aidl index b9826a4b36..dedad25483 100644 --- a/radio/aidl/android/hardware/radio/modem/RadioState.aidl +++ b/radio/aidl/android/hardware/radio/modem/RadioState.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.modem; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioState { /** * Radio explicitly powered off (eg CFUN=0) diff --git a/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl index a1411c9290..16487f8391 100644 --- a/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl +++ b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.modem; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum ResetNvType { /** * Reload all NV items diff --git a/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl index dfd62a7b8e..8b95ced7e8 100644 --- a/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.network.EutranRegistrationInfo; import android.hardware.radio.network.NrVopsInfo; @VintfStability +@JavaDerive(toString=true) union AccessTechnologySpecificInfo { boolean noinit; Cdma2000RegistrationInfo cdmaInfo; diff --git a/radio/aidl/android/hardware/radio/network/BarringInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl index da49ba51f3..2759406689 100644 --- a/radio/aidl/android/hardware/radio/network/BarringInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.network; import android.hardware.radio.network.BarringTypeSpecificInfo; @VintfStability +@JavaDerive(toString=true) parcelable BarringInfo { /** * Device is not barred for the given service diff --git a/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl index 3899711420..3db3bf36a5 100644 --- a/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable BarringTypeSpecificInfo { /** * The barring factor as a percentage 0-100 diff --git a/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl index 6ea6cf92dc..b06fabb542 100644 --- a/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable Cdma2000RegistrationInfo { const int PRL_INDICATOR_NOT_REGISTERED = -1; const int PRL_INDICATOR_NOT_IN_PRL = 0; diff --git a/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl index 3da8c98346..2fea519a2a 100644 --- a/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl +++ b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum CdmaRoamingType { HOME_NETWORK, AFFILIATED_ROAM, diff --git a/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl index c7754f2ac7..1286f67fc9 100644 --- a/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable CdmaSignalStrength { /** * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75, diff --git a/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl index d9f5766d76..da36ff06f0 100644 --- a/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl +++ b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum CellConnectionStatus { /** * Cell is not a serving cell. diff --git a/radio/aidl/android/hardware/radio/network/CellIdentity.aidl b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl index af6d38e34f..e34866b2f4 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentity.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl @@ -27,6 +27,7 @@ import android.hardware.radio.network.CellIdentityWcdma; * A union representing the CellIdentity of a single cell. */ @VintfStability +@JavaDerive(toString=true) union CellIdentity { boolean noinit; CellIdentityGsm gsm; diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl index ae6fda4177..5bb26c1c94 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.network; import android.hardware.radio.network.OperatorInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityCdma { /** * Network Id 0..65535, INT_MAX if unknown diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl index 75a96e86aa..60f42b652d 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.network; import android.hardware.radio.network.OperatorInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityGsm { /** * 3-digit Mobile Country Code, 0..999, empty string if unknown diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl index ae52cf2627..bfa58acf05 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.network.EutranBands; import android.hardware.radio.network.OperatorInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityLte { /** * 3-digit Mobile Country Code, 0..999, empty string if unknown diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl index 73a56ea931..d51a18ec90 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl @@ -24,6 +24,7 @@ import android.hardware.radio.network.OperatorInfo; * broadcast in SIB1 CellAccessRelatedInfo as per 3GPP TS 38.331 Section 6.3.2. */ @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityNr { /** * 3-digit Mobile Country Code, in range[0, 999]; This value must be valid for registered or diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl index 5b00df1177..f6e790f64f 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.ClosedSubscriberGroupInfo; import android.hardware.radio.network.OperatorInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityTdscdma { /** * 3-digit Mobile Country Code, 0..999, empty string if unknown. diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl index bf4d6cbdb7..a76509b3dc 100644 --- a/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.ClosedSubscriberGroupInfo; import android.hardware.radio.network.OperatorInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellIdentityWcdma { /** * 3-digit Mobile Country Code, 0..999, empty string if unknown. diff --git a/radio/aidl/android/hardware/radio/network/CellInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfo.aidl index 58cf9f5838..161ac718a6 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfo.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellConnectionStatus; import android.hardware.radio.network.CellInfoRatSpecificInfo; @VintfStability +@JavaDerive(toString=true) parcelable CellInfo { /** * True if this cell is registered false if not registered. diff --git a/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl index 6d9291827a..5408104209 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.network.CellIdentityCdma; import android.hardware.radio.network.EvdoSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoCdma { CellIdentityCdma cellIdentityCdma; CdmaSignalStrength signalStrengthCdma; diff --git a/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl index fc85248590..cadcd913d0 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellIdentityGsm; import android.hardware.radio.network.GsmSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoGsm { CellIdentityGsm cellIdentityGsm; GsmSignalStrength signalStrengthGsm; diff --git a/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl index 22db722c99..443a6689a7 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellIdentityLte; import android.hardware.radio.network.LteSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoLte { CellIdentityLte cellIdentityLte; LteSignalStrength signalStrengthLte; diff --git a/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl index fbf026ec32..6b3d4f4ec9 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellIdentityNr; import android.hardware.radio.network.NrSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoNr { CellIdentityNr cellIdentityNr; NrSignalStrength signalStrengthNr; diff --git a/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl index 7e8a437873..76e92a4b3e 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl @@ -24,6 +24,7 @@ import android.hardware.radio.network.CellInfoTdscdma; import android.hardware.radio.network.CellInfoWcdma; @VintfStability +@JavaDerive(toString=true) union CellInfoRatSpecificInfo { /** * 3gpp CellInfo types. diff --git a/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl index e07e721c7d..fb9c984b47 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellIdentityTdscdma; import android.hardware.radio.network.TdscdmaSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoTdscdma { CellIdentityTdscdma cellIdentityTdscdma; TdscdmaSignalStrength signalStrengthTdscdma; diff --git a/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl index 38b6903109..2d6a2e55d9 100644 --- a/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.CellIdentityWcdma; import android.hardware.radio.network.WcdmaSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable CellInfoWcdma { CellIdentityWcdma cellIdentityWcdma; WcdmaSignalStrength signalStrengthWcdma; diff --git a/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl index b5b4add416..a2d82d76cf 100644 --- a/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable ClosedSubscriberGroupInfo { /** * Indicates whether the cell is restricted to only CSG members. A cell not broadcasting the diff --git a/radio/aidl/android/hardware/radio/network/Domain.aidl b/radio/aidl/android/hardware/radio/network/Domain.aidl index b62f0eeb72..be5f3204a1 100644 --- a/radio/aidl/android/hardware/radio/network/Domain.aidl +++ b/radio/aidl/android/hardware/radio/network/Domain.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum Domain { /** * Circuit-switched diff --git a/radio/aidl/android/hardware/radio/network/EutranBands.aidl b/radio/aidl/android/hardware/radio/network/EutranBands.aidl index 48ee26e179..72e76e3eff 100644 --- a/radio/aidl/android/hardware/radio/network/EutranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/EutranBands.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum EutranBands { BAND_1 = 1, BAND_2 = 2, diff --git a/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl index 5e19c56690..c9563ace60 100644 --- a/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.network.LteVopsInfo; import android.hardware.radio.network.NrIndicators; @VintfStability +@JavaDerive(toString=true) parcelable EutranRegistrationInfo { /** * Network capabilities for voice over PS services. This info is valid only on LTE network and diff --git a/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl index 0ab8b59024..c3b3898b1f 100644 --- a/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable EvdoSignalStrength { /** * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75, diff --git a/radio/aidl/android/hardware/radio/network/GeranBands.aidl b/radio/aidl/android/hardware/radio/network/GeranBands.aidl index 573d77146b..0e5b7b20a4 100644 --- a/radio/aidl/android/hardware/radio/network/GeranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/GeranBands.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum GeranBands { BAND_T380 = 1, BAND_T410 = 2, diff --git a/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl index 539e1cec87..796f80fde1 100644 --- a/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable GsmSignalStrength { /** * Valid values are (0-61, 99) as defined in TS 27.007 8.69; INT_MAX means invalid/unreported. diff --git a/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl index ac482277c0..9cab28d1e3 100644 --- a/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl +++ b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum IndicationFilter { NONE = 0, ALL = ~0, diff --git a/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl index 344227e570..fdbdc2b455 100644 --- a/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable LceDataInfo { /** * Last-hop cellular capacity: kilobits/second. diff --git a/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl index 8d31bbc240..6461719cc1 100644 --- a/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl +++ b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable LinkCapacityEstimate { /** * Estimated downlink capacity in kbps. In case of a dual connected network, this includes diff --git a/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl index a727aa5658..2d97c4565e 100644 --- a/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable LteSignalStrength { /** * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported. diff --git a/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl index 1cda8db0d3..fb3b986fed 100644 --- a/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; * normal voice calls. */ @VintfStability +@JavaDerive(toString=true) parcelable LteVopsInfo { /** * This indicates if camped network support VoLTE services. This information is received from diff --git a/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl index 7cea1de417..ae173c7eac 100644 --- a/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl +++ b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.network; import android.hardware.radio.network.RadioAccessSpecifier; @VintfStability +@JavaDerive(toString=true) parcelable NetworkScanRequest { const int RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8; diff --git a/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl index e08d63e312..6d83f74690 100644 --- a/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl +++ b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.RadioError; import android.hardware.radio.network.CellInfo; @VintfStability +@JavaDerive(toString=true) parcelable NetworkScanResult { /** * The result contains a part of the scan results. diff --git a/radio/aidl/android/hardware/radio/network/NgranBands.aidl b/radio/aidl/android/hardware/radio/network/NgranBands.aidl index a1c2957c5d..53c7a3d4e7 100644 --- a/radio/aidl/android/hardware/radio/network/NgranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/NgranBands.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum NgranBands { /** * 3GPP TS 38.101-1, Table 5.2-1: FR1 bands diff --git a/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl index e40d4f92b1..e293dff818 100644 --- a/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl +++ b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="byte") +@JavaDerive(toString=true) enum NrDualConnectivityState { /** * Enable NR dual connectivity. Enabled state does not mean dual connectivity is active. diff --git a/radio/aidl/android/hardware/radio/network/NrIndicators.aidl b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl index 98fac25747..32cc964007 100644 --- a/radio/aidl/android/hardware/radio/network/NrIndicators.aidl +++ b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.network; * The parameters of NR 5G Non-Standalone. */ @VintfStability +@JavaDerive(toString=true) parcelable NrIndicators { /** * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving diff --git a/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl index d2ac02bdfa..1bb569a91b 100644 --- a/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable NrSignalStrength { /** * SS reference signal received power, multiplied by -1. diff --git a/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl index bae5f40c25..197f401e7e 100644 --- a/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; * normal voice calls. */ @VintfStability +@JavaDerive(toString=true) parcelable NrVopsInfo { /** * Emergency services not supported diff --git a/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl index 9fa126d399..56f4dcad36 100644 --- a/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable OperatorInfo { const int STATUS_UNKNOWN = 0; const int STATUS_AVAILABLE = 1; diff --git a/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl index bf3f75a989..23ae3b1a82 100644 --- a/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl +++ b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum PhoneRestrictedState { /** * No restriction at all including voice/SMS/USSD/SS/AV64 and packet data. diff --git a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl index b6072ba400..9996953dcb 100644 --- a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl +++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.network.CellConnectionStatus; import android.hardware.radio.network.PhysicalChannelConfigBand; @VintfStability +@JavaDerive(toString=true) parcelable PhysicalChannelConfig { /** * Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING diff --git a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl index f5b248e2fd..707a032494 100644 --- a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl +++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl @@ -22,6 +22,7 @@ import android.hardware.radio.network.NgranBands; import android.hardware.radio.network.UtranBands; @VintfStability +@JavaDerive(toString=true) union PhysicalChannelConfigBand { boolean noinit; /** diff --git a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl index dcc9d53572..85042489a9 100644 --- a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl +++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.AccessNetwork; import android.hardware.radio.network.RadioAccessSpecifierBands; @VintfStability +@JavaDerive(toString=true) parcelable RadioAccessSpecifier { /** * The type of network to scan. diff --git a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl index c72d8c947b..38afee5693 100644 --- a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl +++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl @@ -22,6 +22,7 @@ import android.hardware.radio.network.NgranBands; import android.hardware.radio.network.UtranBands; @VintfStability +@JavaDerive(toString=true) union RadioAccessSpecifierBands { boolean noinit; /** diff --git a/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl index 4fdc614f8c..45c4a516db 100644 --- a/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl +++ b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.network; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RadioBandMode { /** * "Unspecified" (selected by baseband automatically) diff --git a/radio/aidl/android/hardware/radio/network/RegState.aidl b/radio/aidl/android/hardware/radio/network/RegState.aidl index bb2c3c30e7..3f1378321e 100644 --- a/radio/aidl/android/hardware/radio/network/RegState.aidl +++ b/radio/aidl/android/hardware/radio/network/RegState.aidl @@ -23,6 +23,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RegState { /** * Not registered, MT is not currently searching for a new operator to register diff --git a/radio/aidl/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl index 312182e9e4..3d96b8cbf2 100644 --- a/radio/aidl/android/hardware/radio/network/RegStateResult.aidl +++ b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl @@ -23,6 +23,7 @@ import android.hardware.radio.network.RegState; import android.hardware.radio.network.RegistrationFailCause; @VintfStability +@JavaDerive(toString=true) parcelable RegStateResult { /** * Registration state. If the RAT is indicated as a GERAN, UTRAN, or CDMA2000 technology, this diff --git a/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl index 586436efb6..9549f2e841 100644 --- a/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl +++ b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum RegistrationFailCause { /** * 0 - None diff --git a/radio/aidl/android/hardware/radio/network/SignalStrength.aidl b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl index 5a18b18280..ddb45822b7 100644 --- a/radio/aidl/android/hardware/radio/network/SignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl @@ -25,6 +25,7 @@ import android.hardware.radio.network.TdscdmaSignalStrength; import android.hardware.radio.network.WcdmaSignalStrength; @VintfStability +@JavaDerive(toString=true) parcelable SignalStrength { /** * If GSM measurements are provided, this structure must contain valid measurements; otherwise diff --git a/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl index 584ea38222..2f901807e8 100644 --- a/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl @@ -22,6 +22,7 @@ import android.hardware.radio.AccessNetwork; * Contains the threshold values of each signal measurement type. */ @VintfStability +@JavaDerive(toString=true) parcelable SignalThresholdInfo { /** * Received Signal Strength Indication. diff --git a/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl index dce437aaf8..d4229e1b1a 100644 --- a/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl +++ b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable SuppSvcNotification { /** * Notification type diff --git a/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl index 13f394abb2..ec9ca6bb69 100644 --- a/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable TdscdmaSignalStrength { /** * UTRA carrier RSSI as defined in TS 25.225 5.1.4. Valid values are (0-31, 99) as defined in diff --git a/radio/aidl/android/hardware/radio/network/UsageSetting.aidl b/radio/aidl/android/hardware/radio/network/UsageSetting.aidl index ba8fe93f55..5a714a436d 100644 --- a/radio/aidl/android/hardware/radio/network/UsageSetting.aidl +++ b/radio/aidl/android/hardware/radio/network/UsageSetting.aidl @@ -24,6 +24,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum UsageSetting { /** * UE operates in voice-centric mode. Generally speaking, in this mode of operation, the UE diff --git a/radio/aidl/android/hardware/radio/network/UtranBands.aidl b/radio/aidl/android/hardware/radio/network/UtranBands.aidl index da21f9bcb8..a0fd427c28 100644 --- a/radio/aidl/android/hardware/radio/network/UtranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/UtranBands.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.network; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum UtranBands { BAND_1 = 1, BAND_2 = 2, diff --git a/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl index 21021e51c3..7595c0542e 100644 --- a/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.network; @VintfStability +@JavaDerive(toString=true) parcelable WcdmaSignalStrength { /** * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means unreported. diff --git a/radio/aidl/android/hardware/radio/sim/AppStatus.aidl b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl index 07939bba6d..c072f6a321 100644 --- a/radio/aidl/android/hardware/radio/sim/AppStatus.aidl +++ b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.sim.PersoSubstate; import android.hardware.radio.sim.PinState; @VintfStability +@JavaDerive(toString=true) parcelable AppStatus { const int APP_STATE_UNKNOWN = 0; const int APP_STATE_DETECTED = 1; diff --git a/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl index b69296d36c..f8b5922c3b 100644 --- a/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl +++ b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.sim; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum CardPowerState { POWER_DOWN, POWER_UP, diff --git a/radio/aidl/android/hardware/radio/sim/CardStatus.aidl b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl index 3098c4d069..a14cf7d4cc 100644 --- a/radio/aidl/android/hardware/radio/sim/CardStatus.aidl +++ b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.sim.AppStatus; import android.hardware.radio.sim.PinState; @VintfStability +@JavaDerive(toString=true) parcelable CardStatus { /* * Card is physically absent from device. (Some old modems use STATE_ABSENT when the SIM diff --git a/radio/aidl/android/hardware/radio/sim/Carrier.aidl b/radio/aidl/android/hardware/radio/sim/Carrier.aidl index c870c00e89..d25214f542 100644 --- a/radio/aidl/android/hardware/radio/sim/Carrier.aidl +++ b/radio/aidl/android/hardware/radio/sim/Carrier.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable Carrier { /** * Apply to all carrier with the same mcc/mnc diff --git a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl index ef38fdc171..3dce9076ea 100644 --- a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.sim; import android.hardware.radio.sim.Carrier; @VintfStability +@JavaDerive(toString=true) parcelable CarrierRestrictions { /** * Allowed carriers diff --git a/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl index bdd7e07904..6aa6926c27 100644 --- a/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl +++ b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.sim; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum CdmaSubscriptionSource { RUIM_SIM, NV, diff --git a/radio/aidl/android/hardware/radio/sim/IccIo.aidl b/radio/aidl/android/hardware/radio/sim/IccIo.aidl index be5e832c99..f173c8e6c7 100644 --- a/radio/aidl/android/hardware/radio/sim/IccIo.aidl +++ b/radio/aidl/android/hardware/radio/sim/IccIo.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable IccIo { /** * One of the commands listed for TS 27.007 +CRSM diff --git a/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl index 8aa9e8fadb..efcbbda039 100644 --- a/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl +++ b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable IccIoResult { int sw1; int sw2; diff --git a/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl index e8b3807ce2..ba1dda5c59 100644 --- a/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl +++ b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.sim; * Carrier specific Information sent by the carrier, which will be used to encrypt IMSI and IMPI. */ @VintfStability +@JavaDerive(toString=true) parcelable ImsiEncryptionInfo { /** * Key type to be used for ePDG diff --git a/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl index 953335baf2..b1385a4d88 100644 --- a/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl +++ b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.sim; */ @VintfStability @Backing(type="byte") +@JavaDerive(toString=true) enum PbReceivedStatus { /** * Indicates that retrieval is fine. diff --git a/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl index f01ff61a50..f85c84bb64 100644 --- a/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl +++ b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.sim; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum PersoSubstate { /** * Initial state diff --git a/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl index 23a0208ecc..97c3dba2ff 100644 --- a/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl +++ b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable PhonebookCapacity { /** * Maximum number of ADN records possible in the SIM phonebook. Needs to be non-negative. diff --git a/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl index 03326b8877..c4db0e6608 100644 --- a/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl +++ b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.sim; * as per 3GPP spec 31.102 v15 Section-4.4.2.3. */ @VintfStability +@JavaDerive(toString=true) parcelable PhonebookRecordInfo { /** * Record index. 0 is used to insert a record diff --git a/radio/aidl/android/hardware/radio/sim/PinState.aidl b/radio/aidl/android/hardware/radio/sim/PinState.aidl index 03b8e4ea6e..85048bbb77 100644 --- a/radio/aidl/android/hardware/radio/sim/PinState.aidl +++ b/radio/aidl/android/hardware/radio/sim/PinState.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.sim; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum PinState { UNKNOWN, ENABLED_NOT_VERIFIED, diff --git a/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl index 3c152d6a6b..553404bdf4 100644 --- a/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl +++ b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable SelectUiccSub { const int SUBSCRIPTION_TYPE_1 = 0; const int SUBSCRIPTION_TYPE_2 = 1; diff --git a/radio/aidl/android/hardware/radio/sim/SimApdu.aidl b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl index 1dc707ecb9..43adbbcd5e 100644 --- a/radio/aidl/android/hardware/radio/sim/SimApdu.aidl +++ b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable SimApdu { /** * "sessionid" from TS 27.007 +CGLA command. Must be ignored for +CSIM command. diff --git a/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl index 6c031220d9..6490d5118d 100644 --- a/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl +++ b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.sim; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum SimLockMultiSimPolicy { /** * Indicates that configuration applies to each slot independently. diff --git a/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl index 483a54c611..69aff668c2 100644 --- a/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl +++ b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.sim; @VintfStability +@JavaDerive(toString=true) parcelable SimRefreshResult { /** * A file on SIM has been updated. diff --git a/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl index 94d5f880b7..dc4717297a 100644 --- a/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl +++ b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.voice; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum AudioQuality { /** * Unspecified audio codec diff --git a/radio/aidl/android/hardware/radio/voice/Call.aidl b/radio/aidl/android/hardware/radio/voice/Call.aidl index beb079b838..b09d7a015d 100644 --- a/radio/aidl/android/hardware/radio/voice/Call.aidl +++ b/radio/aidl/android/hardware/radio/voice/Call.aidl @@ -20,6 +20,7 @@ import android.hardware.radio.voice.AudioQuality; import android.hardware.radio.voice.UusInfo; @VintfStability +@JavaDerive(toString=true) parcelable Call { const int PRESENTATION_ALLOWED = 0; const int PRESENTATION_RESTRICTED = 1; diff --git a/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl index b7ddcd9fac..c4143b9f9f 100644 --- a/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl +++ b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * See also com.android.internal.telephony.gsm.CallForwardInfo */ @VintfStability +@JavaDerive(toString=true) parcelable CallForwardInfo { const int STATUS_DISABLE = 0; const int STATUS_ENABLE = 1; diff --git a/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl index 7ba6a72744..4d447d7675 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.CdmaSignalInfoRecord; @VintfStability +@JavaDerive(toString=true) parcelable CdmaCallWaiting { const int NUMBER_PLAN_UNKNOWN = 0; const int NUMBER_PLAN_ISDN = 1; diff --git a/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl index ac66237823..522f7ae643 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl @@ -24,6 +24,7 @@ package android.hardware.radio.voice; * a byte buffer. The display_tag, display_len and chari fields are all 1 byte. */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaDisplayInfoRecord { const int CDMA_ALPHA_INFO_BUFFER_LENGTH = 64; /** diff --git a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl index 69204620f4..1a4f1b37e0 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl @@ -28,6 +28,7 @@ import android.hardware.radio.voice.CdmaT53ClirInfoRecord; /** * Max length of CdmaInformationRecords[] is CDMA_MAX_NUMBER_OF_INFO_RECS */ +@JavaDerive(toString=true) parcelable CdmaInformationRecord { const int CDMA_MAX_NUMBER_OF_INFO_RECS = 10; /** diff --git a/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl index c3bda23013..8bfc5f77dc 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * Line Control Information Record as defined in C.S0005 section 3.7.5.15 */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaLineControlInfoRecord { byte lineCtrlPolarityIncluded; byte lineCtrlToggle; diff --git a/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl index 265bf67dfc..9084b257d5 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl @@ -22,6 +22,7 @@ package android.hardware.radio.voice; * Connected Number Info Rec as defined in C.S0005 section 3.7.5.4 */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaNumberInfoRecord { const int CDMA_NUMBER_INFO_BUFFER_LENGTH = 81; /** diff --git a/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl index 7b4205ac6f..81fb003b7e 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum CdmaOtaProvisionStatus { SPL_UNLOCKED, SPC_RETRIES_EXCEEDED, diff --git a/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl index f3bcc0f9b6..5c9e2f22d9 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.CdmaNumberInfoRecord; @VintfStability +@JavaDerive(toString=true) parcelable CdmaRedirectingNumberInfoRecord { /** * Redirecting Number Information Record as defined in C.S0005 section 3.7.5.11 diff --git a/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl index 5fc877680c..3334475d4f 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5 */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaSignalInfoRecord { /** * True if signal information record is present diff --git a/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl index c41f8e365a..9795cf01ec 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * T53 Audio Control Information Record */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaT53AudioControlInfoRecord { byte upLink; byte downLink; diff --git a/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl index e37a072258..5ccd251bd5 100644 --- a/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl +++ b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * T53 CLIR Information Record */ @VintfStability +@JavaDerive(toString=true) parcelable CdmaT53ClirInfoRecord { byte cause; } diff --git a/radio/aidl/android/hardware/radio/voice/CfData.aidl b/radio/aidl/android/hardware/radio/voice/CfData.aidl index f28c7c85d2..8f4c22711a 100644 --- a/radio/aidl/android/hardware/radio/voice/CfData.aidl +++ b/radio/aidl/android/hardware/radio/voice/CfData.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.CallForwardInfo; @VintfStability +@JavaDerive(toString=true) parcelable CfData { const int NUM_SERVICE_CLASSES = 7; /** diff --git a/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl index 4b10ecc5d0..4021471734 100644 --- a/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl +++ b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum ClipStatus { /** * CLIP provisioned diff --git a/radio/aidl/android/hardware/radio/voice/Dial.aidl b/radio/aidl/android/hardware/radio/voice/Dial.aidl index 7d61fe5fe0..ca028ad949 100644 --- a/radio/aidl/android/hardware/radio/voice/Dial.aidl +++ b/radio/aidl/android/hardware/radio/voice/Dial.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.UusInfo; @VintfStability +@JavaDerive(toString=true) parcelable Dial { /** * Use subscription default value diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl index 75a41c9c36..d623346256 100644 --- a/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl +++ b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl @@ -21,6 +21,7 @@ package android.hardware.radio.voice; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum EmergencyCallRouting { /** * Indicates Android does not require how to handle the corresponding emergency call; it is diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl index 9fed78e2cb..e380ce8874 100644 --- a/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl +++ b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl @@ -39,6 +39,7 @@ package android.hardware.radio.voice; * RFC 5031 */ @VintfStability +@JavaDerive(toString=true) parcelable EmergencyNumber { /** * Indicates the number is from the network signal. diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl index cfebc47e35..a4ac7aa2f5 100644 --- a/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl +++ b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl @@ -34,6 +34,7 @@ package android.hardware.radio.voice; */ @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum EmergencyServiceCategory { /** * General emergency call, all categories diff --git a/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl b/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl index 5e328d4bd1..5c8c81929c 100644 --- a/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl +++ b/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum LastCallFailCause { UNOBTAINABLE_NUMBER = 1, NO_ROUTE_TO_DESTINATION = 3, diff --git a/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl b/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl index 084beddcbb..078722af60 100644 --- a/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl +++ b/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl @@ -19,6 +19,7 @@ package android.hardware.radio.voice; import android.hardware.radio.voice.LastCallFailCause; @VintfStability +@JavaDerive(toString=true) parcelable LastCallFailCauseInfo { LastCallFailCause causeCode; String vendorCause; diff --git a/radio/aidl/android/hardware/radio/voice/SrvccState.aidl b/radio/aidl/android/hardware/radio/voice/SrvccState.aidl index ddf75dbbbd..08eb877ef7 100644 --- a/radio/aidl/android/hardware/radio/voice/SrvccState.aidl +++ b/radio/aidl/android/hardware/radio/voice/SrvccState.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum SrvccState { HANDOVER_STARTED, HANDOVER_COMPLETED, diff --git a/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl index d562925be4..b944bf4f84 100644 --- a/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl +++ b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl @@ -17,6 +17,7 @@ package android.hardware.radio.voice; @VintfStability +@JavaDerive(toString=true) parcelable SsInfoData { const int SS_INFO_MAX = 4; /** diff --git a/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl b/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl index be1b6116f2..798227575e 100644 --- a/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl +++ b/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl @@ -21,6 +21,7 @@ import android.hardware.radio.voice.CfData; import android.hardware.radio.voice.SsInfoData; @VintfStability +@JavaDerive(toString=true) parcelable StkCcUnsolSsResult { const int REQUEST_TYPE_ACTIVATION = 0; const int REQUEST_TYPE_DEACTIVATION = 1; diff --git a/radio/aidl/android/hardware/radio/voice/TtyMode.aidl b/radio/aidl/android/hardware/radio/voice/TtyMode.aidl index 81a846bcca..e8dd7236aa 100644 --- a/radio/aidl/android/hardware/radio/voice/TtyMode.aidl +++ b/radio/aidl/android/hardware/radio/voice/TtyMode.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum TtyMode { OFF, FULL, diff --git a/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl b/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl index 48d1fca37d..cece4bd3ed 100644 --- a/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl +++ b/radio/aidl/android/hardware/radio/voice/UssdModeType.aidl @@ -18,6 +18,7 @@ package android.hardware.radio.voice; @VintfStability @Backing(type="int") +@JavaDerive(toString=true) enum UssdModeType { /** * USSD-Notify diff --git a/radio/aidl/android/hardware/radio/voice/UusInfo.aidl b/radio/aidl/android/hardware/radio/voice/UusInfo.aidl index 19e73f724c..220a8fc7e6 100644 --- a/radio/aidl/android/hardware/radio/voice/UusInfo.aidl +++ b/radio/aidl/android/hardware/radio/voice/UusInfo.aidl @@ -20,6 +20,7 @@ package android.hardware.radio.voice; * User-to-User Signaling Information defined in 3GPP 23.087 v8.0 */ @VintfStability +@JavaDerive(toString=true) parcelable UusInfo { /** * User specified protocol diff --git a/radio/aidl/vts/radio_aidl_hal_utils.cpp b/radio/aidl/vts/radio_aidl_hal_utils.cpp index 76f15bfa4c..efc4f26dad 100644 --- a/radio/aidl/vts/radio_aidl_hal_utils.cpp +++ b/radio/aidl/vts/radio_aidl_hal_utils.cpp @@ -24,6 +24,7 @@ #define WAIT_TIMEOUT_PERIOD 75 sim::CardStatus cardStatus = {}; +config::SimSlotStatus slotStatus = {}; int serial = 0; int count_ = 0; @@ -204,3 +205,21 @@ void RadioServiceTest::updateSimCardStatus() { EXPECT_EQ(serial, radioSimRsp->rspInfo.serial); EXPECT_EQ(RadioError::NONE, radioSimRsp->rspInfo.error); } + +void RadioServiceTest::updateSimSlotStatus(int physicalSlotId) { + // Update SimSlotStatus from RadioConfig + std::shared_ptr<RadioConfigResponse> radioConfigRsp = + ndk::SharedRefBase::make<RadioConfigResponse>(*this); + std::shared_ptr<RadioConfigIndication> radioConfigInd = + ndk::SharedRefBase::make<RadioConfigIndication>(*this); + radio_config->setResponseFunctions(radioConfigRsp, radioConfigInd); + serial = GetRandomSerialNumber(); + radio_config->getSimSlotsStatus(serial); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioConfigRsp->rspInfo.type); + EXPECT_EQ(serial, radioConfigRsp->rspInfo.serial); + EXPECT_EQ(RadioError::NONE, radioConfigRsp->rspInfo.error); + if (radioConfigRsp->simSlotStatus.size() > physicalSlotId) { + slotStatus = radioConfigRsp->simSlotStatus[physicalSlotId]; + } +} diff --git a/radio/aidl/vts/radio_aidl_hal_utils.h b/radio/aidl/vts/radio_aidl_hal_utils.h index 414ffbc456..47976b9099 100644 --- a/radio/aidl/vts/radio_aidl_hal_utils.h +++ b/radio/aidl/vts/radio_aidl_hal_utils.h @@ -20,6 +20,7 @@ #include <aidl/Vintf.h> #include <aidl/android/hardware/radio/RadioError.h> #include <aidl/android/hardware/radio/config/IRadioConfig.h> +#include <aidl/android/hardware/radio/config/SimSlotStatus.h> #include <aidl/android/hardware/radio/network/RegState.h> #include <aidl/android/hardware/radio/sim/CardStatus.h> #include <aidl/android/hardware/radio/sim/IRadioSim.h> @@ -27,10 +28,12 @@ #include <vector> using namespace aidl::android::hardware::radio; +using aidl::android::hardware::radio::config::SimSlotStatus; using aidl::android::hardware::radio::network::RegState; using aidl::android::hardware::radio::sim::CardStatus; extern CardStatus cardStatus; +extern SimSlotStatus slotStatus; extern int serial; extern int count_; @@ -67,6 +70,7 @@ static constexpr const char* FEATURE_TELEPHONY_CDMA = "android.hardware.telephon #define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3 #define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3 #define MODEM_SET_SIM_POWER_DELAY_IN_SECONDS 2 +#define MODEM_SET_SIM_SLOT_MAPPING_DELAY_IN_SECONDS 6 #define RADIO_SERVICE_SLOT1_NAME "slot1" // HAL instance name for SIM slot 1 or single SIM device #define RADIO_SERVICE_SLOT2_NAME "slot2" // HAL instance name for SIM slot 2 on dual SIM device @@ -141,4 +145,7 @@ class RadioServiceTest { /* Update SIM card status */ void updateSimCardStatus(); + + /* Update SIM slot status */ + void updateSimSlotStatus(int physicalSlotId); }; diff --git a/radio/aidl/vts/radio_config_response.cpp b/radio/aidl/vts/radio_config_response.cpp index 8d8160519a..7384f87adc 100644 --- a/radio/aidl/vts/radio_config_response.cpp +++ b/radio/aidl/vts/radio_config_response.cpp @@ -19,8 +19,9 @@ RadioConfigResponse::RadioConfigResponse(RadioServiceTest& parent) : parent_config(parent) {} ndk::ScopedAStatus RadioConfigResponse::getSimSlotsStatusResponse( - const RadioResponseInfo& info, const std::vector<SimSlotStatus>& /* slotStatus */) { + const RadioResponseInfo& info, const std::vector<SimSlotStatus>& slotStatus) { rspInfo = info; + simSlotStatus = slotStatus; 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 43b63e8209..5e1c811d91 100644 --- a/radio/aidl/vts/radio_config_test.cpp +++ b/radio/aidl/vts/radio_config_test.cpp @@ -39,6 +39,19 @@ void RadioConfigTest::SetUp() { radio_config->setResponseFunctions(radioRsp_config, radioInd_config); } +void RadioConfigTest::updateSimSlotStatus() { + serial = GetRandomSerialNumber(); + radio_config->getSimSlotsStatus(serial); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_config->rspInfo.type); + EXPECT_EQ(serial, radioRsp_config->rspInfo.serial); + EXPECT_EQ(RadioError::NONE, radioRsp_config->rspInfo.error); + // assuming only 1 slot + for (const SimSlotStatus& slotStatusResponse : radioRsp_config->simSlotStatus) { + slotStatus = slotStatusResponse; + } +} + /* * Test IRadioConfig.getHalDeviceCapabilities() for the response returned. */ @@ -148,3 +161,58 @@ TEST_P(RadioConfigTest, setPreferredDataModem_invalidArgument) { {RadioError::INVALID_ARGUMENTS, RadioError::RADIO_NOT_AVAILABLE, RadioError::INTERNAL_ERR})); } + +/* + * Test IRadioConfig.setSimSlotsMapping() for the response returned. + */ +TEST_P(RadioConfigTest, setSimSlotsMapping) { + serial = GetRandomSerialNumber(); + SlotPortMapping slotPortMapping; + slotPortMapping.physicalSlotId = 0; + slotPortMapping.portId = 0; + std::vector<SlotPortMapping> slotPortMappingList = {slotPortMapping}; + if (isDsDsEnabled()) { + slotPortMapping.physicalSlotId = 1; + slotPortMappingList.push_back(slotPortMapping); + } else if (isTsTsEnabled()) { + slotPortMapping.physicalSlotId = 1; + slotPortMappingList.push_back(slotPortMapping); + slotPortMapping.physicalSlotId = 2; + slotPortMappingList.push_back(slotPortMapping); + } + ndk::ScopedAStatus res = radio_config->setSimSlotsMapping(serial, slotPortMappingList); + 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("setSimSlotsMapping, rspInfo.error = %s\n", + toString(radioRsp_config->rspInfo.error).c_str()); + ASSERT_TRUE(CheckAnyOfErrors(radioRsp_config->rspInfo.error, {RadioError::NONE})); + + // Give some time for modem to fully switch SIM configuration + sleep(MODEM_SET_SIM_SLOT_MAPPING_DELAY_IN_SECONDS); +} + +/* + * Test IRadioConfig.getSimSlotStatus() for the response returned. + */ + +TEST_P(RadioConfigTest, checkPortInfoExistsAndPortActive) { + serial = GetRandomSerialNumber(); + ndk::ScopedAStatus res = radio_config->getSimSlotsStatus(serial); + ASSERT_OK(res); + ALOGI("getSimSlotsStatus, rspInfo.error = %s\n", + toString(radioRsp_config->rspInfo.error).c_str()); + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_config->rspInfo.type); + EXPECT_EQ(serial, radioRsp_config->rspInfo.serial); + if (radioRsp_config->rspInfo.error == RadioError::NONE) { + // check if cardState is present, portInfo size should be more than 0 + for (const SimSlotStatus& slotStatusResponse : radioRsp_config->simSlotStatus) { + if (slotStatusResponse.cardState == CardStatus::STATE_PRESENT) { + ASSERT_TRUE(slotStatusResponse.portInfo.size() > 0); + ASSERT_TRUE(slotStatusResponse.portInfo[0].portActive); + } + } + } +} diff --git a/radio/aidl/vts/radio_config_utils.h b/radio/aidl/vts/radio_config_utils.h index 465c10653b..3db430db5f 100644 --- a/radio/aidl/vts/radio_config_utils.h +++ b/radio/aidl/vts/radio_config_utils.h @@ -38,6 +38,7 @@ class RadioConfigResponse : public BnRadioConfigResponse { RadioResponseInfo rspInfo; PhoneCapability phoneCap; bool modemReducedFeatureSet1; + std::vector<SimSlotStatus> simSlotStatus; virtual ndk::ScopedAStatus getSimSlotsStatusResponse( const RadioResponseInfo& info, const std::vector<SimSlotStatus>& slotStatus) override; @@ -77,6 +78,8 @@ class RadioConfigTest : public ::testing::TestWithParam<std::string>, public Rad public: virtual void SetUp() override; ndk::ScopedAStatus updateSimCardStatus(); + /* Override updateSimSlotStatus in RadioServiceTest to not call setResponseFunctions */ + void updateSimSlotStatus(); /* radio config service handle in RadioServiceTest */ /* radio config response handle */ diff --git a/radio/aidl/vts/radio_sim_test.cpp b/radio/aidl/vts/radio_sim_test.cpp index e82235c2b6..e69247d135 100644 --- a/radio/aidl/vts/radio_sim_test.cpp +++ b/radio/aidl/vts/radio_sim_test.cpp @@ -108,7 +108,13 @@ TEST_P(RadioSimTest, setSimCardPower) { // have CardStatus::STATE_PRESENT after turning the power back on if (radioRsp_sim->rspInfo.error == RadioError::NONE) { updateSimCardStatus(); + updateSimSlotStatus(cardStatus.slotMap.physicalSlotId); EXPECT_EQ(CardStatus::STATE_PRESENT, cardStatus.cardState); + EXPECT_EQ(CardStatus::STATE_PRESENT, slotStatus.cardState); + if (CardStatus::STATE_PRESENT == slotStatus.cardState) { + ASSERT_TRUE(slotStatus.portInfo[0].portActive); + EXPECT_EQ(0, cardStatus.slotMap.portId); + } } } diff --git a/security/keymint/aidl/android/hardware/security/keymint/KeyCreationResult.aidl b/security/keymint/aidl/android/hardware/security/keymint/KeyCreationResult.aidl index a4cfb8bf63..57285a35d8 100644 --- a/security/keymint/aidl/android/hardware/security/keymint/KeyCreationResult.aidl +++ b/security/keymint/aidl/android/hardware/security/keymint/KeyCreationResult.aidl @@ -61,13 +61,15 @@ parcelable KeyCreationResult { * the non-attestation case, whether the key can self-sign. * * 1. Asymmetric key attestation with factory key. If Tag::ATTESTATION_CHALLENGE is provided - * and the `attestationKey` parameter on the generate/import call is null, the returned + * and the `attestationKey` parameter on the generate/import call is null, and if the + * KeyMint implementation supports factory-provisioned attestation keys, the returned * certificate chain must contain an attestation certificate signed with a factory- * provisioned attestation key, and the full certificate chain for that factory-provisioned * attestation key. Tag::ATTESTATION_APPLICATION_ID must also be provided when the * ATTESTATION_CHALLENGE is provided, otherwise ATTESTATION_APPLICATION_ID_MISSING will be * returned. KeyMint implementations are not required to support factory-provisioned - * attestation keys. + * attestation keys. If the KeyMint implementation does not support factory-provisioned + * keys, it must return ATTESTATION_KEYS_NOT_PROVISIONED. * * 2. Asymmetric key attestation with caller-provided key. If Tag::ATTESTATION_CHALLENGE is * provided and the `attestationKey` parameter on the generate/import call is non-null and diff --git a/security/keymint/aidl/vts/functional/AttestKeyTest.cpp b/security/keymint/aidl/vts/functional/AttestKeyTest.cpp index 0bab54c2a6..5cdea93a19 100644 --- a/security/keymint/aidl/vts/functional/AttestKeyTest.cpp +++ b/security/keymint/aidl/vts/functional/AttestKeyTest.cpp @@ -783,7 +783,7 @@ TEST_P(AttestKeyTest, EcdsaAttestationID) { vector<Certificate> attested_key_cert_chain; auto result = GenerateKey(builder, attest_key, &attested_key_blob, &attested_key_characteristics, &attested_key_cert_chain); - if (result == ErrorCode::CANNOT_ATTEST_IDS) { + if (result == ErrorCode::CANNOT_ATTEST_IDS && !isDeviceIdAttestationRequired()) { continue; } diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp index 4ab989bcbc..943c692c3e 100644 --- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp +++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp @@ -207,6 +207,14 @@ uint32_t KeyMintAidlTestBase::boot_patch_level() { return boot_patch_level(key_characteristics_); } +/** + * An API to determine device IDs attestation is required or not, + * which is mandatory for KeyMint version 2 or first_api_level 33 or greater. + */ +bool KeyMintAidlTestBase::isDeviceIdAttestationRequired() { + return AidlVersion() >= 2 || property_get_int32("ro.vendor.api_level", 0) >= 33; +} + bool KeyMintAidlTestBase::Curve25519Supported() { // Strongbox never supports curve 25519. if (SecLevel() == SecurityLevel::STRONGBOX) { @@ -312,6 +320,30 @@ ErrorCode KeyMintAidlTestBase::GenerateKey(const AuthorizationSet& key_desc, return GenerateKey(key_desc, attest_key, &key_blob_, &key_characteristics_, &cert_chain_); } +ErrorCode KeyMintAidlTestBase::GenerateKeyWithSelfSignedAttestKey( + const AuthorizationSet& attest_key_desc, const AuthorizationSet& key_desc, + vector<uint8_t>* key_blob, vector<KeyCharacteristics>* key_characteristics, + vector<Certificate>* cert_chain) { + AttestationKey attest_key; + vector<Certificate> attest_cert_chain; + vector<KeyCharacteristics> attest_key_characteristics; + // Generate a key with self signed attestation. + auto error = GenerateKey(attest_key_desc, std::nullopt, &attest_key.keyBlob, + &attest_key_characteristics, &attest_cert_chain); + if (error != ErrorCode::OK) { + return error; + } + + attest_key.issuerSubjectName = make_name_from_str("Android Keystore Key"); + // Generate a key, by passing the above self signed attestation key as attest key. + error = GenerateKey(key_desc, attest_key, key_blob, key_characteristics, cert_chain); + if (error == ErrorCode::OK) { + // Append the attest_cert_chain to the attested cert_chain to yield a valid cert chain. + cert_chain->push_back(attest_cert_chain[0]); + } + return error; +} + ErrorCode KeyMintAidlTestBase::ImportKey(const AuthorizationSet& key_desc, KeyFormat format, const string& key_material, vector<uint8_t>* key_blob, vector<KeyCharacteristics>* key_characteristics) { diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h index e59443c44e..7279c95692 100644 --- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h +++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.h @@ -79,6 +79,7 @@ class KeyMintAidlTestBase : public ::testing::TestWithParam<string> { uint32_t vendor_patch_level() { return vendor_patch_level_; } uint32_t boot_patch_level(const vector<KeyCharacteristics>& key_characteristics); uint32_t boot_patch_level(); + bool isDeviceIdAttestationRequired(); bool Curve25519Supported(); @@ -96,6 +97,21 @@ class KeyMintAidlTestBase : public ::testing::TestWithParam<string> { ErrorCode GenerateKey(const AuthorizationSet& key_desc, const optional<AttestationKey>& attest_key = std::nullopt); + // Generate key for implementations which do not support factory attestation. + ErrorCode GenerateKeyWithSelfSignedAttestKey(const AuthorizationSet& attest_key_desc, + const AuthorizationSet& key_desc, + vector<uint8_t>* key_blob, + vector<KeyCharacteristics>* key_characteristics, + vector<Certificate>* cert_chain); + + ErrorCode GenerateKeyWithSelfSignedAttestKey(const AuthorizationSet& attest_key_desc, + const AuthorizationSet& key_desc, + vector<uint8_t>* key_blob, + vector<KeyCharacteristics>* key_characteristics) { + return GenerateKeyWithSelfSignedAttestKey(attest_key_desc, key_desc, key_blob, + key_characteristics, &cert_chain_); + } + ErrorCode ImportKey(const AuthorizationSet& key_desc, KeyFormat format, const string& key_material, vector<uint8_t>* key_blob, vector<KeyCharacteristics>* key_characteristics); diff --git a/security/keymint/aidl/vts/functional/KeyMintTest.cpp b/security/keymint/aidl/vts/functional/KeyMintTest.cpp index 1b1a1b42bd..3b75c50acd 100644 --- a/security/keymint/aidl/vts/functional/KeyMintTest.cpp +++ b/security/keymint/aidl/vts/functional/KeyMintTest.cpp @@ -1067,22 +1067,30 @@ TEST_P(NewKeyGenerationTest, RsaWithAttestation) { for (auto key_size : ValidKeySizes(Algorithm::RSA)) { vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .RsaSigningKey(key_size, 65537) - .Digest(Digest::NONE) - .Padding(PaddingMode::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(app_id) - .Authorization(TAG_NO_AUTH_REQUIRED) - .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) - .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .RsaSigningKey(key_size, 65537) + .Digest(Digest::NONE) + .Padding(PaddingMode::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(app_id) + .Authorization(TAG_NO_AUTH_REQUIRED) + .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) + .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .RsaKey(key_size, 65537) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } - + ASSERT_EQ(ErrorCode::OK, result); ASSERT_GT(key_blob.size(), 0U); CheckBaseParams(key_characteristics); CheckCharacteristics(key_blob, key_characteristics); @@ -1203,19 +1211,27 @@ TEST_P(NewKeyGenerationTest, RsaEncryptionWithAttestation) { vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .RsaEncryptionKey(key_size, 65537) - .Padding(PaddingMode::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(app_id) - .Authorization(TAG_NO_AUTH_REQUIRED) - .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) - .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .RsaEncryptionKey(key_size, 65537) + .Padding(PaddingMode::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(app_id) + .Authorization(TAG_NO_AUTH_REQUIRED) + .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) + .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .RsaKey(key_size, 65537) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::OK, result); @@ -1319,17 +1335,25 @@ TEST_P(NewKeyGenerationTest, RsaWithAttestationMissAppId) { vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .RsaSigningKey(2048, 65537) - .Digest(Digest::NONE) - .Padding(PaddingMode::NONE) - .AttestationChallenge(challenge) - .Authorization(TAG_NO_AUTH_REQUIRED) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .RsaSigningKey(2048, 65537) + .Digest(Digest::NONE) + .Padding(PaddingMode::NONE) + .AttestationChallenge(challenge) + .Authorization(TAG_NO_AUTH_REQUIRED) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .RsaKey(2048, 65537) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::ATTESTATION_APPLICATION_ID_MISSING, result); } @@ -1441,21 +1465,29 @@ TEST_P(NewKeyGenerationTest, LimitedUsageRsaWithAttestation) { for (auto key_size : ValidKeySizes(Algorithm::RSA)) { vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .RsaSigningKey(key_size, 65537) - .Digest(Digest::NONE) - .Padding(PaddingMode::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(app_id) - .Authorization(TAG_NO_AUTH_REQUIRED) - .Authorization(TAG_USAGE_COUNT_LIMIT, 1) - .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) - .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .RsaSigningKey(key_size, 65537) + .Digest(Digest::NONE) + .Padding(PaddingMode::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(app_id) + .Authorization(TAG_NO_AUTH_REQUIRED) + .Authorization(TAG_USAGE_COUNT_LIMIT, 1) + .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) + .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .RsaKey(key_size, 65537) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::OK, result); @@ -1676,19 +1708,27 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestation) { for (auto curve : ValidCurves()) { vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .Authorization(TAG_NO_AUTH_REQUIRED) - .EcdsaSigningKey(curve) - .Digest(Digest::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(app_id) - .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) - .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .Authorization(TAG_NO_AUTH_REQUIRED) + .EcdsaSigningKey(curve) + .Digest(Digest::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(app_id) + .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) + .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(curve) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::OK, result); ASSERT_GT(key_blob.size(), 0U); @@ -1826,7 +1866,14 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationTags) { } // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(result, ErrorCode::OK); ASSERT_GT(key_blob.size(), 0U); @@ -1878,8 +1925,20 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationTags) { .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) .SetDefaultValidity(); builder.push_back(tag); - ASSERT_EQ(ErrorCode::CANNOT_ATTEST_IDS, - GenerateKey(builder, &key_blob, &key_characteristics)); + + auto error = GenerateKey(builder, &key_blob, &key_characteristics); + // Strongbox may not support factory provisioned attestation key. + if (SecLevel() == SecurityLevel::STRONGBOX) { + if (error == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + error = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } + } + ASSERT_EQ(error, ErrorCode::CANNOT_ATTEST_IDS); } } @@ -1927,8 +1986,8 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationIdTags) { if (SecLevel() == SecurityLevel::STRONGBOX) { if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; } - if (result == ErrorCode::CANNOT_ATTEST_IDS) { - // Device ID attestation is optional; KeyMint may not support it at all. + if (result == ErrorCode::CANNOT_ATTEST_IDS && !isDeviceIdAttestationRequired()) { + // ID attestation was optional till api level 32, from api level 33 it is mandatory. continue; } ASSERT_EQ(result, ErrorCode::OK); @@ -1984,8 +2043,18 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationUniqueId) { if (reset) { builder.Authorization(TAG_RESET_SINCE_ID_ROTATION); } - - ASSERT_EQ(ErrorCode::OK, GenerateKey(builder)); + auto result = GenerateKey(builder); + if (SecLevel() == SecurityLevel::STRONGBOX) { + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob_, &key_characteristics_, &cert_chain_); + } + } + ASSERT_EQ(ErrorCode::OK, result); ASSERT_GT(key_blob_.size(), 0U); EXPECT_TRUE(ChainSignaturesAreValid(cert_chain_)); @@ -2072,21 +2141,29 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationTagNoApplicationId) { // to confirm that this field never makes it into the attestation extension. vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .Authorization(TAG_NO_AUTH_REQUIRED) - .EcdsaSigningKey(EcCurve::P_256) - .Digest(Digest::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(attest_app_id) - .Authorization(TAG_APPLICATION_ID, "client_id") - .Authorization(TAG_APPLICATION_DATA, "appdata") - .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) - .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .Authorization(TAG_NO_AUTH_REQUIRED) + .EcdsaSigningKey(EcCurve::P_256) + .Digest(Digest::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(attest_app_id) + .Authorization(TAG_APPLICATION_ID, "client_id") + .Authorization(TAG_APPLICATION_DATA, "appdata") + .Authorization(TAG_CERTIFICATE_SERIAL, serial_blob) + .Authorization(TAG_CERTIFICATE_SUBJECT, subject_der) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(result, ErrorCode::OK); ASSERT_GT(key_blob.size(), 0U); @@ -2166,16 +2243,23 @@ TEST_P(NewKeyGenerationTest, EcdsaAttestationRequireAppId) { auto challenge = "hello"; vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; + auto builder = AuthorizationSetBuilder() + .EcdsaSigningKey(EcCurve::P_256) + .Digest(Digest::NONE) + .AttestationChallenge(challenge) + .SetDefaultValidity(); - auto result = GenerateKey(AuthorizationSetBuilder() - .EcdsaSigningKey(EcCurve::P_256) - .Digest(Digest::NONE) - .AttestationChallenge(challenge) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::ATTESTATION_APPLICATION_ID_MISSING, result); } @@ -2234,17 +2318,25 @@ TEST_P(NewKeyGenerationTest, AttestationApplicationIDLengthProperlyEncoded) { const string app_id(length, 'a'); vector<uint8_t> key_blob; vector<KeyCharacteristics> key_characteristics; - auto result = GenerateKey(AuthorizationSetBuilder() - .Authorization(TAG_NO_AUTH_REQUIRED) - .EcdsaSigningKey(EcCurve::P_256) - .Digest(Digest::NONE) - .AttestationChallenge(challenge) - .AttestationApplicationId(app_id) - .SetDefaultValidity(), - &key_blob, &key_characteristics); + auto builder = AuthorizationSetBuilder() + .Authorization(TAG_NO_AUTH_REQUIRED) + .EcdsaSigningKey(EcCurve::P_256) + .Digest(Digest::NONE) + .AttestationChallenge(challenge) + .AttestationApplicationId(app_id) + .SetDefaultValidity(); + + auto result = GenerateKey(builder, &key_blob, &key_characteristics); // Strongbox may not support factory provisioned attestation key. if (SecLevel() == SecurityLevel::STRONGBOX) { - if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) return; + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob, &key_characteristics); + } } ASSERT_EQ(ErrorCode::OK, result); ASSERT_GT(key_blob.size(), 0U); @@ -7384,15 +7476,26 @@ class KeyAgreementTest : public KeyMintAidlTestBase { void GenerateKeyMintEcKey(EcCurve curve, EVP_PKEY_Ptr* kmPubKey) { vector<uint8_t> challenge = {0x41, 0x42}; - ErrorCode result = - GenerateKey(AuthorizationSetBuilder() - .Authorization(TAG_NO_AUTH_REQUIRED) - .Authorization(TAG_EC_CURVE, curve) - .Authorization(TAG_PURPOSE, KeyPurpose::AGREE_KEY) - .Authorization(TAG_ALGORITHM, Algorithm::EC) - .Authorization(TAG_ATTESTATION_APPLICATION_ID, {0x61, 0x62}) - .Authorization(TAG_ATTESTATION_CHALLENGE, challenge) - .SetDefaultValidity()); + auto builder = AuthorizationSetBuilder() + .Authorization(TAG_NO_AUTH_REQUIRED) + .Authorization(TAG_EC_CURVE, curve) + .Authorization(TAG_PURPOSE, KeyPurpose::AGREE_KEY) + .Authorization(TAG_ALGORITHM, Algorithm::EC) + .Authorization(TAG_ATTESTATION_APPLICATION_ID, {0x61, 0x62}) + .Authorization(TAG_ATTESTATION_CHALLENGE, challenge) + .SetDefaultValidity(); + ErrorCode result = GenerateKey(builder); + + if (SecLevel() == SecurityLevel::STRONGBOX) { + if (result == ErrorCode::ATTESTATION_KEYS_NOT_PROVISIONED) { + result = GenerateKeyWithSelfSignedAttestKey( + AuthorizationSetBuilder() + .EcdsaKey(EcCurve::P_256) + .AttestKey() + .SetDefaultValidity(), /* attest key params */ + builder, &key_blob_, &key_characteristics_, &cert_chain_); + } + } ASSERT_EQ(ErrorCode::OK, result) << "Failed to generate key"; ASSERT_GT(cert_chain_.size(), 0); X509_Ptr kmKeyCert(parse_cert_blob(cert_chain_[0].encodedCertificate)); diff --git a/vibrator/aidl/default/Vibrator.cpp b/vibrator/aidl/default/Vibrator.cpp index 5755ce55b6..ddc6ee0d02 100644 --- a/vibrator/aidl/default/Vibrator.cpp +++ b/vibrator/aidl/default/Vibrator.cpp @@ -24,21 +24,23 @@ namespace android { namespace hardware { namespace vibrator { -static constexpr int32_t kComposeDelayMaxMs = 1000; -static constexpr int32_t kComposeSizeMax = 256; -static constexpr int32_t kComposePwleSizeMax = 127; +static constexpr int32_t COMPOSE_DELAY_MAX_MS = 1000; +static constexpr int32_t COMPOSE_SIZE_MAX = 256; +static constexpr int32_t COMPOSE_PWLE_SIZE_MAX = 127; -static constexpr float kResonantFrequency = 150.0; -static constexpr float kQFactor = 11.0; +static constexpr float Q_FACTOR = 11.0; static constexpr int32_t COMPOSE_PWLE_PRIMITIVE_DURATION_MAX_MS = 16383; static constexpr float PWLE_LEVEL_MIN = 0.0; -static constexpr float PWLE_LEVEL_MAX = 0.98256; +static constexpr float PWLE_LEVEL_MAX = 1.0; static constexpr float PWLE_FREQUENCY_RESOLUTION_HZ = 1.0; static constexpr float PWLE_FREQUENCY_MIN_HZ = 140.0; +static constexpr float RESONANT_FREQUENCY_HZ = 150.0; static constexpr float PWLE_FREQUENCY_MAX_HZ = 160.0; +static constexpr float PWLE_BW_MAP_SIZE = + 1 + ((PWLE_FREQUENCY_MAX_HZ - PWLE_FREQUENCY_MIN_HZ) / PWLE_FREQUENCY_RESOLUTION_HZ); ndk::ScopedAStatus Vibrator::getCapabilities(int32_t* _aidl_return) { - LOG(INFO) << "Vibrator reporting capabilities"; + LOG(VERBOSE) << "Vibrator reporting capabilities"; *_aidl_return = IVibrator::CAP_ON_CALLBACK | IVibrator::CAP_PERFORM_CALLBACK | IVibrator::CAP_AMPLITUDE_CONTROL | IVibrator::CAP_EXTERNAL_CONTROL | IVibrator::CAP_EXTERNAL_AMPLITUDE_CONTROL | IVibrator::CAP_COMPOSE_EFFECTS | @@ -49,18 +51,18 @@ ndk::ScopedAStatus Vibrator::getCapabilities(int32_t* _aidl_return) { } ndk::ScopedAStatus Vibrator::off() { - LOG(INFO) << "Vibrator off"; + LOG(VERBOSE) << "Vibrator off"; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, const std::shared_ptr<IVibratorCallback>& callback) { - LOG(INFO) << "Vibrator on for timeoutMs: " << timeoutMs; + LOG(VERBOSE) << "Vibrator on for timeoutMs: " << timeoutMs; if (callback != nullptr) { std::thread([=] { - LOG(INFO) << "Starting on on another thread"; + LOG(VERBOSE) << "Starting on on another thread"; usleep(timeoutMs * 1000); - LOG(INFO) << "Notifying on complete"; + LOG(VERBOSE) << "Notifying on complete"; if (!callback->onComplete().isOk()) { LOG(ERROR) << "Failed to call onComplete"; } @@ -72,7 +74,7 @@ ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, ndk::ScopedAStatus Vibrator::perform(Effect effect, EffectStrength strength, const std::shared_ptr<IVibratorCallback>& callback, int32_t* _aidl_return) { - LOG(INFO) << "Vibrator perform"; + LOG(VERBOSE) << "Vibrator perform"; if (effect != Effect::CLICK && effect != Effect::TICK) { return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_UNSUPPORTED_OPERATION)); @@ -86,9 +88,9 @@ ndk::ScopedAStatus Vibrator::perform(Effect effect, EffectStrength strength, if (callback != nullptr) { std::thread([=] { - LOG(INFO) << "Starting perform on another thread"; + LOG(VERBOSE) << "Starting perform on another thread"; usleep(kEffectMillis * 1000); - LOG(INFO) << "Notifying perform complete"; + LOG(VERBOSE) << "Notifying perform complete"; callback->onComplete(); }).detach(); } @@ -103,7 +105,7 @@ ndk::ScopedAStatus Vibrator::getSupportedEffects(std::vector<Effect>* _aidl_retu } ndk::ScopedAStatus Vibrator::setAmplitude(float amplitude) { - LOG(INFO) << "Vibrator set amplitude: " << amplitude; + LOG(VERBOSE) << "Vibrator set amplitude: " << amplitude; if (amplitude <= 0.0f || amplitude > 1.0f) { return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT)); } @@ -111,17 +113,17 @@ ndk::ScopedAStatus Vibrator::setAmplitude(float amplitude) { } ndk::ScopedAStatus Vibrator::setExternalControl(bool enabled) { - LOG(INFO) << "Vibrator set external control: " << enabled; + LOG(VERBOSE) << "Vibrator set external control: " << enabled; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::getCompositionDelayMax(int32_t* maxDelayMs) { - *maxDelayMs = kComposeDelayMaxMs; + *maxDelayMs = COMPOSE_DELAY_MAX_MS; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::getCompositionSizeMax(int32_t* maxSize) { - *maxSize = kComposeSizeMax; + *maxSize = COMPOSE_SIZE_MAX; return ndk::ScopedAStatus::ok(); } @@ -153,7 +155,7 @@ ndk::ScopedAStatus Vibrator::getPrimitiveDuration(CompositePrimitive primitive, ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect>& composite, const std::shared_ptr<IVibratorCallback>& callback) { - if (composite.size() > kComposeSizeMax) { + if (composite.size() > COMPOSE_SIZE_MAX) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } @@ -161,7 +163,7 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect>& composi getSupportedPrimitives(&supported); for (auto& e : composite) { - if (e.delayMs > kComposeDelayMaxMs) { + if (e.delayMs > COMPOSE_DELAY_MAX_MS) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } if (e.scale < 0.0f || e.scale > 1.0f) { @@ -173,14 +175,14 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect>& composi } std::thread([=] { - LOG(INFO) << "Starting compose on another thread"; + LOG(VERBOSE) << "Starting compose on another thread"; for (auto& e : composite) { if (e.delayMs) { usleep(e.delayMs * 1000); } - LOG(INFO) << "triggering primitive " << static_cast<int>(e.primitive) << " @ scale " - << e.scale; + LOG(VERBOSE) << "triggering primitive " << static_cast<int>(e.primitive) << " @ scale " + << e.scale; int32_t durationMs; getPrimitiveDuration(e.primitive, &durationMs); @@ -188,7 +190,7 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect>& composi } if (callback != nullptr) { - LOG(INFO) << "Notifying perform complete"; + LOG(VERBOSE) << "Notifying perform complete"; callback->onComplete(); } }).detach(); @@ -207,24 +209,24 @@ ndk::ScopedAStatus Vibrator::alwaysOnEnable(int32_t id, Effect effect, EffectStr if (std::find(effects.begin(), effects.end(), effect) == effects.end()) { return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); } else { - LOG(INFO) << "Enabling always-on ID " << id << " with " << toString(effect) << "/" - << toString(strength); + LOG(VERBOSE) << "Enabling always-on ID " << id << " with " << toString(effect) << "/" + << toString(strength); return ndk::ScopedAStatus::ok(); } } ndk::ScopedAStatus Vibrator::alwaysOnDisable(int32_t id) { - LOG(INFO) << "Disabling always-on ID " << id; + LOG(VERBOSE) << "Disabling always-on ID " << id; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::getResonantFrequency(float *resonantFreqHz) { - *resonantFreqHz = kResonantFrequency; + *resonantFreqHz = RESONANT_FREQUENCY_HZ; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::getQFactor(float *qFactor) { - *qFactor = kQFactor; + *qFactor = Q_FACTOR; return ndk::ScopedAStatus::ok(); } @@ -239,11 +241,26 @@ ndk::ScopedAStatus Vibrator::getFrequencyMinimum(float *freqMinimumHz) { } ndk::ScopedAStatus Vibrator::getBandwidthAmplitudeMap(std::vector<float> *_aidl_return) { - // A valid array should be of size: - // (PWLE_FREQUENCY_MAX_HZ - PWLE_FREQUENCY_MIN_HZ) / PWLE_FREQUENCY_RESOLUTION_HZ - *_aidl_return = {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, - 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20}; - return ndk::ScopedAStatus::ok(); + // The output BandwidthAmplitudeMap will be as below and the maximum + // amplitude 1.0 will be set on RESONANT_FREQUENCY_HZ + // {0.9, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 1, 0.99, 0.98, 0.97, + // 0.96, 0.95, 0.94, 0.93, 0.92, 0.91, 0.9} + int32_t capabilities = 0; + int halfMapSize = PWLE_BW_MAP_SIZE / 2; + Vibrator::getCapabilities(&capabilities); + if (capabilities & IVibrator::CAP_FREQUENCY_CONTROL) { + std::vector<float> bandwidthAmplitudeMap(PWLE_BW_MAP_SIZE, PWLE_LEVEL_MAX); + for (int i = 0; i < halfMapSize; ++i) { + bandwidthAmplitudeMap[halfMapSize + i + 1] = + bandwidthAmplitudeMap[halfMapSize + i] - 0.01; + bandwidthAmplitudeMap[halfMapSize - i - 1] = + bandwidthAmplitudeMap[halfMapSize - i] - 0.01; + } + *_aidl_return = bandwidthAmplitudeMap; + return ndk::ScopedAStatus::ok(); + } else { + return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); + } } ndk::ScopedAStatus Vibrator::getPwlePrimitiveDurationMax(int32_t *durationMs) { @@ -252,7 +269,7 @@ ndk::ScopedAStatus Vibrator::getPwlePrimitiveDurationMax(int32_t *durationMs) { } ndk::ScopedAStatus Vibrator::getPwleCompositionSizeMax(int32_t *maxSize) { - *maxSize = kComposePwleSizeMax; + *maxSize = COMPOSE_PWLE_SIZE_MAX; return ndk::ScopedAStatus::ok(); } @@ -380,10 +397,10 @@ ndk::ScopedAStatus Vibrator::composePwle(const std::vector<PrimitivePwle> &compo } std::thread([=] { - LOG(INFO) << "Starting composePwle on another thread"; + LOG(VERBOSE) << "Starting composePwle on another thread"; usleep(totalDuration * 1000); if (callback != nullptr) { - LOG(INFO) << "Notifying compose PWLE complete"; + LOG(VERBOSE) << "Notifying compose PWLE complete"; callback->onComplete(); } }).detach(); diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp index 53f8c0ef24..a8ae777c99 100644 --- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp @@ -167,9 +167,9 @@ static float getFrequencyMaximumHz(sp<IVibrator> vibrator, int32_t capabilities) EXPECT_TRUE(isUnknownOrUnsupported(status)) << status; } - float freqMaximumHz = - (bandwidthAmplitudeMap.size() * getFrequencyResolutionHz(vibrator, capabilities)) + - getFrequencyMinimumHz(vibrator, capabilities); + float freqMaximumHz = ((bandwidthAmplitudeMap.size() - 1) * + getFrequencyResolutionHz(vibrator, capabilities)) + + getFrequencyMinimumHz(vibrator, capabilities); return freqMaximumHz; } |