Merge "Add 5.15 to the current compatibility matrix"
diff --git a/audio/common/all-versions/default/service/service.cpp b/audio/common/all-versions/default/service/service.cpp
index 898c22d..89585b0 100644
--- a/audio/common/all-versions/default/service/service.cpp
+++ b/audio/common/all-versions/default/service/service.cpp
@@ -90,6 +90,7 @@
},
{
"Bluetooth Audio API",
+ "android.hardware.bluetooth.audio@2.2::IBluetoothAudioProvidersFactory",
"android.hardware.bluetooth.audio@2.1::IBluetoothAudioProvidersFactory",
"android.hardware.bluetooth.audio@2.0::IBluetoothAudioProvidersFactory",
},
diff --git a/bluetooth/audio/2.2/IBluetoothAudioProvidersFactory.hal b/bluetooth/audio/2.2/IBluetoothAudioProvidersFactory.hal
index eeff4de..7fb5b6c 100644
--- a/bluetooth/audio/2.2/IBluetoothAudioProvidersFactory.hal
+++ b/bluetooth/audio/2.2/IBluetoothAudioProvidersFactory.hal
@@ -16,7 +16,10 @@
package android.hardware.bluetooth.audio@2.2;
+import IBluetoothAudioProvider;
import @2.1::IBluetoothAudioProvidersFactory;
+import @2.0::Status;
+import @2.1::SessionType;
/**
* This factory allows a HAL implementation to be split into multiple
@@ -30,4 +33,19 @@
* for return value must be invoked synchronously before the API call returns.
*/
interface IBluetoothAudioProvidersFactory extends @2.1::IBluetoothAudioProvidersFactory {
+ /**
+ * Opens an audio provider for a session type. To close the provider, it is
+ * necessary to release references to the returned provider object.
+ *
+ * @param sessionType The session type (e.g.
+ * LE_AUDIO_SOFTWARE_ENCODING_DATAPATH).
+ *
+ * @return status One of the following
+ * SUCCESS if the Audio HAL successfully opens the provider with the
+ * given session type
+ * FAILURE if the Audio HAL cannot open the provider
+ * @return provider The provider of the specified session type
+ */
+ openProvider_2_2(SessionType sessionType)
+ generates (Status status, IBluetoothAudioProvider provider);
};
diff --git a/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.cpp b/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.cpp
index 7438c80..510833d 100644
--- a/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.cpp
+++ b/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.cpp
@@ -122,6 +122,49 @@
return Void();
}
+Return<void> BluetoothAudioProvidersFactory::openProvider_2_2(
+ const V2_1::SessionType sessionType, openProvider_2_2_cb _hidl_cb) {
+ LOG(INFO) << __func__ << " - SessionType=" << toString(sessionType);
+ BluetoothAudioStatus status = BluetoothAudioStatus::SUCCESS;
+ BluetoothAudioProvider* provider = nullptr;
+
+ switch (sessionType) {
+ case V2_1::SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH:
+ provider = &a2dp_software_provider_instance_;
+ break;
+ case V2_1::SessionType::A2DP_HARDWARE_OFFLOAD_DATAPATH:
+ provider = &a2dp_offload_provider_instance_;
+ break;
+ case V2_1::SessionType::HEARING_AID_SOFTWARE_ENCODING_DATAPATH:
+ provider = &hearing_aid_provider_instance_;
+ break;
+ case V2_1::SessionType::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH:
+ provider = &leaudio_output_provider_instance_;
+ break;
+ case V2_1::SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
+ provider = &leaudio_offload_output_provider_instance_;
+ break;
+ case V2_1::SessionType::LE_AUDIO_SOFTWARE_DECODED_DATAPATH:
+ provider = &leaudio_input_provider_instance_;
+ break;
+ case V2_1::SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH:
+ provider = &leaudio_offload_input_provider_instance_;
+ break;
+ default:
+ status = BluetoothAudioStatus::FAILURE;
+ }
+
+ if (provider == nullptr || !provider->isValid(sessionType)) {
+ provider = nullptr;
+ status = BluetoothAudioStatus::FAILURE;
+ LOG(ERROR) << __func__ << " - SessionType=" << toString(sessionType)
+ << ", status=" << toString(status);
+ }
+
+ _hidl_cb(status, provider);
+ return Void();
+}
+
Return<void> BluetoothAudioProvidersFactory::getProviderCapabilities(
const V2_0::SessionType sessionType, getProviderCapabilities_cb _hidl_cb) {
hidl_vec<V2_0::AudioCapabilities> audio_capabilities =
diff --git a/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.h b/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.h
index 8db330b..658249b 100644
--- a/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.h
+++ b/bluetooth/audio/2.2/default/BluetoothAudioProvidersFactory.h
@@ -46,6 +46,9 @@
Return<void> openProvider_2_1(const V2_1::SessionType sessionType,
openProvider_2_1_cb _hidl_cb) override;
+ Return<void> openProvider_2_2(const V2_1::SessionType sessionType,
+ openProvider_2_2_cb _hidl_cb) override;
+
Return<void> getProviderCapabilities_2_1(
const V2_1::SessionType sessionType,
getProviderCapabilities_2_1_cb _hidl_cb) override;
diff --git a/bluetooth/audio/utils/session/BluetoothAudioSessionControl_2_2.h b/bluetooth/audio/utils/session/BluetoothAudioSessionControl_2_2.h
new file mode 100644
index 0000000..e20914e
--- /dev/null
+++ b/bluetooth/audio/utils/session/BluetoothAudioSessionControl_2_2.h
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include "BluetoothAudioSession_2_2.h"
+
+namespace android {
+namespace bluetooth {
+namespace audio {
+
+class BluetoothAudioSessionControl_2_2 {
+ using SessionType_2_1 =
+ ::android::hardware::bluetooth::audio::V2_1::SessionType;
+ using AudioConfiguration_2_2 =
+ ::android::hardware::bluetooth::audio::V2_2::AudioConfiguration;
+
+ public:
+ // The control API helps to check if session is ready or not
+ // @return: true if the Bluetooth stack has started th specified session
+ static bool IsSessionReady(const SessionType_2_1& session_type) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->IsSessionReady();
+ }
+ return false;
+ }
+
+ // The control API helps the bluetooth_audio module to register
+ // PortStatusCallbacks
+ // @return: cookie - the assigned number to this bluetooth_audio output
+ static uint16_t RegisterControlResultCback(
+ const SessionType_2_1& session_type, const PortStatusCallbacks& cbacks) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->RegisterStatusCback(cbacks);
+ }
+ return kObserversCookieUndefined;
+ }
+
+ // The control API helps the bluetooth_audio module to unregister
+ // PortStatusCallbacks
+ // @param: cookie - indicates which bluetooth_audio output is
+ static void UnregisterControlResultCback(const SessionType_2_1& session_type,
+ uint16_t cookie) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ session_ptr->GetAudioSession()->UnregisterStatusCback(cookie);
+ }
+ }
+
+ // The control API for the bluetooth_audio module to get current
+ // AudioConfiguration
+ static const AudioConfiguration_2_2 GetAudioConfig(
+ const SessionType_2_1& session_type) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioConfig();
+ } else if (session_type ==
+ SessionType_2_1::A2DP_HARDWARE_OFFLOAD_DATAPATH) {
+ return BluetoothAudioSession_2_2::kInvalidOffloadAudioConfiguration;
+ } else {
+ return BluetoothAudioSession_2_2::kInvalidSoftwareAudioConfiguration;
+ }
+ }
+
+ // Those control APIs for the bluetooth_audio module to start / suspend / stop
+ // stream, to check position, and to update metadata.
+ static bool StartStream(const SessionType_2_1& session_type) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->StartStream();
+ }
+ return false;
+ }
+
+ static bool SuspendStream(const SessionType_2_1& session_type) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->SuspendStream();
+ }
+ return false;
+ }
+
+ static void StopStream(const SessionType_2_1& session_type) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ session_ptr->GetAudioSession()->StopStream();
+ }
+ }
+
+ static bool GetPresentationPosition(const SessionType_2_1& session_type,
+ uint64_t* remote_delay_report_ns,
+ uint64_t* total_bytes_readed,
+ timespec* data_position) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->GetPresentationPosition(
+ remote_delay_report_ns, total_bytes_readed, data_position);
+ }
+ return false;
+ }
+
+ static void UpdateTracksMetadata(
+ const SessionType_2_1& session_type,
+ const struct source_metadata* source_metadata) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ session_ptr->GetAudioSession()->UpdateTracksMetadata(source_metadata);
+ }
+ }
+
+ // The control API writes stream to FMQ
+ static size_t OutWritePcmData(const SessionType_2_1& session_type,
+ const void* buffer, size_t bytes) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->OutWritePcmData(buffer, bytes);
+ }
+ return 0;
+ }
+
+ // The control API reads stream from FMQ
+ static size_t InReadPcmData(const SessionType_2_1& session_type, void* buffer,
+ size_t bytes) {
+ std::shared_ptr<BluetoothAudioSession_2_2> session_ptr =
+ BluetoothAudioSessionInstance_2_2::GetSessionInstance(session_type);
+ if (session_ptr != nullptr) {
+ return session_ptr->GetAudioSession()->InReadPcmData(buffer, bytes);
+ }
+ return 0;
+ }
+};
+
+} // namespace audio
+} // namespace bluetooth
+} // namespace android
diff --git a/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.cpp b/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.cpp
index 9d9ea41..5a6b2e7 100644
--- a/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.cpp
+++ b/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.cpp
@@ -29,6 +29,9 @@
using SessionType_2_0 =
::android::hardware::bluetooth::audio::V2_0::SessionType;
+using AudioConfiguration_2_1 =
+ ::android::hardware::bluetooth::audio::V2_1::AudioConfiguration;
+
::android::hardware::bluetooth::audio::V2_2::AudioConfiguration
BluetoothAudioSession_2_2::invalidSoftwareAudioConfiguration = {};
::android::hardware::bluetooth::audio::V2_2::AudioConfiguration
@@ -52,7 +55,9 @@
const ::android::hardware::bluetooth::audio::V2_1::SessionType&
session_type)
: audio_session(BluetoothAudioSessionInstance::GetSessionInstance(
- static_cast<SessionType_2_0>(session_type))) {
+ static_cast<SessionType_2_0>(session_type))),
+ audio_session_2_1(
+ BluetoothAudioSessionInstance_2_1::GetSessionInstance(session_type)) {
if (is_2_0_session_type(session_type)) {
session_type_2_1_ = (SessionType_2_1::UNKNOWN);
} else {
@@ -74,6 +79,10 @@
BluetoothAudioSession_2_2::GetAudioSession() {
return audio_session;
}
+std::shared_ptr<BluetoothAudioSession_2_1>
+BluetoothAudioSession_2_2::GetAudioSession_2_1() {
+ return audio_session_2_1;
+}
// The control function is for the bluetooth_audio module to get the current
// AudioConfiguration
@@ -82,7 +91,19 @@
std::lock_guard<std::recursive_mutex> guard(audio_session->mutex_);
if (IsSessionReady()) {
// If session is unknown it means it should be 2.0 type
- if (session_type_2_1_ != SessionType_2_1::UNKNOWN) return audio_config_2_2_;
+ if (session_type_2_1_ != SessionType_2_1::UNKNOWN) {
+ if (audio_config_2_2_ != invalidSoftwareAudioConfiguration)
+ return audio_config_2_2_;
+
+ ::android::hardware::bluetooth::audio::V2_2::AudioConfiguration toConf;
+ const AudioConfiguration_2_1 fromConf =
+ GetAudioSession_2_1()->GetAudioConfig();
+ if (fromConf.getDiscriminator() ==
+ AudioConfiguration_2_1::hidl_discriminator::pcmConfig) {
+ toConf.pcmConfig() = fromConf.pcmConfig();
+ return toConf;
+ }
+ }
::android::hardware::bluetooth::audio::V2_2::AudioConfiguration toConf;
const AudioConfiguration fromConf = GetAudioSession()->GetAudioConfig();
diff --git a/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.h b/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.h
index d3d0bd3..7213ede 100644
--- a/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.h
+++ b/bluetooth/audio/utils/session/BluetoothAudioSession_2_2.h
@@ -22,6 +22,7 @@
#include <unordered_map>
#include "BluetoothAudioSession.h"
+#include "BluetoothAudioSession_2_1.h"
namespace android {
namespace bluetooth {
@@ -30,6 +31,7 @@
class BluetoothAudioSession_2_2 {
private:
std::shared_ptr<BluetoothAudioSession> audio_session;
+ std::shared_ptr<BluetoothAudioSession_2_1> audio_session_2_1;
::android::hardware::bluetooth::audio::V2_1::SessionType session_type_2_1_;
@@ -56,6 +58,7 @@
bool IsSessionReady();
std::shared_ptr<BluetoothAudioSession> GetAudioSession();
+ std::shared_ptr<BluetoothAudioSession_2_1> GetAudioSession_2_1();
// The report function is used to report that the Bluetooth stack has started
// this session without any failure, and will invoke session_changed_cb_ to
diff --git a/health/aidl/android/hardware/health/Translate.java b/health/aidl/android/hardware/health/Translate.java
index c8ace1c..4f840b8 100644
--- a/health/aidl/android/hardware/health/Translate.java
+++ b/health/aidl/android/hardware/health/Translate.java
@@ -44,25 +44,37 @@
return out;
}
+ private static void h2aTranslateInternal(
+ android.hardware.health.HealthInfo out, android.hardware.health.V1_0.HealthInfo in) {
+ out.chargerAcOnline = in.chargerAcOnline;
+ out.chargerUsbOnline = in.chargerUsbOnline;
+ out.chargerWirelessOnline = in.chargerWirelessOnline;
+ out.maxChargingCurrentMicroamps = in.maxChargingCurrent;
+ out.maxChargingVoltageMicrovolts = in.maxChargingVoltage;
+ out.batteryStatus = in.batteryStatus;
+ out.batteryHealth = in.batteryHealth;
+ out.batteryPresent = in.batteryPresent;
+ out.batteryLevel = in.batteryLevel;
+ out.batteryVoltageMillivolts = in.batteryVoltage;
+ out.batteryTemperatureTenthsCelsius = in.batteryTemperature;
+ out.batteryCurrentMicroamps = in.batteryCurrent;
+ out.batteryCycleCount = in.batteryCycleCount;
+ out.batteryFullChargeUah = in.batteryFullCharge;
+ out.batteryChargeCounterUah = in.batteryChargeCounter;
+ out.batteryTechnology = in.batteryTechnology;
+ }
+
+ public static android.hardware.health.HealthInfo h2aTranslate(
+ android.hardware.health.V1_0.HealthInfo in) {
+ android.hardware.health.HealthInfo out = new android.hardware.health.HealthInfo();
+ h2aTranslateInternal(out, in);
+ return out;
+ }
+
static public android.hardware.health.HealthInfo h2aTranslate(
android.hardware.health.V2_1.HealthInfo in) {
android.hardware.health.HealthInfo out = new android.hardware.health.HealthInfo();
- out.chargerAcOnline = in.legacy.legacy.chargerAcOnline;
- out.chargerUsbOnline = in.legacy.legacy.chargerUsbOnline;
- out.chargerWirelessOnline = in.legacy.legacy.chargerWirelessOnline;
- out.maxChargingCurrentMicroamps = in.legacy.legacy.maxChargingCurrent;
- out.maxChargingVoltageMicrovolts = in.legacy.legacy.maxChargingVoltage;
- out.batteryStatus = in.legacy.legacy.batteryStatus;
- out.batteryHealth = in.legacy.legacy.batteryHealth;
- out.batteryPresent = in.legacy.legacy.batteryPresent;
- out.batteryLevel = in.legacy.legacy.batteryLevel;
- out.batteryVoltageMillivolts = in.legacy.legacy.batteryVoltage;
- out.batteryTemperatureTenthsCelsius = in.legacy.legacy.batteryTemperature;
- out.batteryCurrentMicroamps = in.legacy.legacy.batteryCurrent;
- out.batteryCycleCount = in.legacy.legacy.batteryCycleCount;
- out.batteryFullChargeUah = in.legacy.legacy.batteryFullCharge;
- out.batteryChargeCounterUah = in.legacy.legacy.batteryChargeCounter;
- out.batteryTechnology = in.legacy.legacy.batteryTechnology;
+ h2aTranslateInternal(out, in.legacy.legacy);
out.batteryCurrentAverageMicroamps = in.legacy.batteryCurrentAverage;
out.diskStats = new android.hardware.health.DiskStats[in.legacy.diskStats.size()];
for (int i = 0; i < in.legacy.diskStats.size(); i++) {
diff --git a/health/aidl/default/Health.cpp b/health/aidl/default/Health.cpp
index 812e64a..e1d1982 100644
--- a/health/aidl/default/Health.cpp
+++ b/health/aidl/default/Health.cpp
@@ -60,6 +60,8 @@
battery_monitor_.init(healthd_config_.get());
}
+Health::~Health() {}
+
//
// Getters.
//
diff --git a/health/aidl/default/include/health-impl/Health.h b/health/aidl/default/include/health-impl/Health.h
index e49f44c..6bd4946 100644
--- a/health/aidl/default/include/health-impl/Health.h
+++ b/health/aidl/default/include/health-impl/Health.h
@@ -43,6 +43,7 @@
// A subclass may modify |config| before passing it to the parent constructor.
// See implementation of Health for code samples.
Health(std::string_view instance_name, std::unique_ptr<struct healthd_config>&& config);
+ virtual ~Health();
ndk::ScopedAStatus registerCallback(
const std::shared_ptr<IHealthInfoCallback>& callback) override;
diff --git a/neuralnetworks/1.0/utils/OWNERS b/neuralnetworks/1.0/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/1.0/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
diff --git a/neuralnetworks/1.0/vts/OWNERS b/neuralnetworks/1.0/vts/OWNERS
deleted file mode 100644
index b5a8e1f..0000000
--- a/neuralnetworks/1.0/vts/OWNERS
+++ /dev/null
@@ -1,16 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-mikie@google.com
-mks@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
-
-# VTS team
-yim@google.com
-yuexima@google.com
diff --git a/neuralnetworks/1.0/vts/functional/OWNERS b/neuralnetworks/1.0/vts/functional/OWNERS
deleted file mode 100644
index a48301d..0000000
--- a/neuralnetworks/1.0/vts/functional/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# Bug component: 195575
-jeanluc@google.com
-miaowang@google.com
-pszczepaniak@google.com
diff --git a/neuralnetworks/1.1/utils/OWNERS b/neuralnetworks/1.1/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/1.1/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
diff --git a/neuralnetworks/1.1/vts/OWNERS b/neuralnetworks/1.1/vts/OWNERS
deleted file mode 100644
index b5a8e1f..0000000
--- a/neuralnetworks/1.1/vts/OWNERS
+++ /dev/null
@@ -1,16 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-mikie@google.com
-mks@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
-
-# VTS team
-yim@google.com
-yuexima@google.com
diff --git a/neuralnetworks/1.1/vts/functional/OWNERS b/neuralnetworks/1.1/vts/functional/OWNERS
deleted file mode 100644
index a48301d..0000000
--- a/neuralnetworks/1.1/vts/functional/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# Bug component: 195575
-jeanluc@google.com
-miaowang@google.com
-pszczepaniak@google.com
diff --git a/neuralnetworks/1.2/utils/OWNERS b/neuralnetworks/1.2/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/1.2/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
diff --git a/neuralnetworks/1.2/vts/OWNERS b/neuralnetworks/1.2/vts/OWNERS
deleted file mode 100644
index b5a8e1f..0000000
--- a/neuralnetworks/1.2/vts/OWNERS
+++ /dev/null
@@ -1,16 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-mikie@google.com
-mks@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
-
-# VTS team
-yim@google.com
-yuexima@google.com
diff --git a/neuralnetworks/1.2/vts/functional/OWNERS b/neuralnetworks/1.2/vts/functional/OWNERS
deleted file mode 100644
index a48301d..0000000
--- a/neuralnetworks/1.2/vts/functional/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# Bug component: 195575
-jeanluc@google.com
-miaowang@google.com
-pszczepaniak@google.com
diff --git a/neuralnetworks/1.3/utils/OWNERS b/neuralnetworks/1.3/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/1.3/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
diff --git a/neuralnetworks/1.3/vts/OWNERS b/neuralnetworks/1.3/vts/OWNERS
deleted file mode 100644
index b5a8e1f..0000000
--- a/neuralnetworks/1.3/vts/OWNERS
+++ /dev/null
@@ -1,16 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-mikie@google.com
-mks@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
-
-# VTS team
-yim@google.com
-yuexima@google.com
diff --git a/neuralnetworks/1.3/vts/functional/OWNERS b/neuralnetworks/1.3/vts/functional/OWNERS
deleted file mode 100644
index a48301d..0000000
--- a/neuralnetworks/1.3/vts/functional/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-# Bug component: 195575
-jeanluc@google.com
-miaowang@google.com
-pszczepaniak@google.com
diff --git a/neuralnetworks/aidl/vts/OWNERS b/neuralnetworks/OWNERS
similarity index 78%
rename from neuralnetworks/aidl/vts/OWNERS
rename to neuralnetworks/OWNERS
index f1a757a..def3ea9 100644
--- a/neuralnetworks/aidl/vts/OWNERS
+++ b/neuralnetworks/OWNERS
@@ -1,9 +1,10 @@
+# Bug component: 195575
# Neuralnetworks team
butlermichael@google.com
dgross@google.com
+galarragas@google.com
+ianhua@google.com
jeanluc@google.com
miaowang@google.com
-mikie@google.com
pszczepaniak@google.com
xusongw@google.com
-ianhua@google.com
diff --git a/neuralnetworks/README b/neuralnetworks/README
index d8c8f5d..b0c605d 100644
--- a/neuralnetworks/README
+++ b/neuralnetworks/README
@@ -1,2 +1,2 @@
NeuralNetworks sample driver implementation is located at
-frameworks/ml/nn/driver/sample.
+packages/modules/NeuralNetworks/driver/sample*.
diff --git a/neuralnetworks/aidl/utils/OWNERS b/neuralnetworks/aidl/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/aidl/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
diff --git a/neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h b/neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h
index f2ab479..1fb694b 100644
--- a/neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h
+++ b/neuralnetworks/aidl/utils/include/nnapi/hal/aidl/Utils.h
@@ -19,6 +19,7 @@
#include "nnapi/hal/aidl/Conversions.h"
+#include <aidl/android/hardware/neuralnetworks/IDevice.h>
#include <android-base/logging.h>
#include <nnapi/Result.h>
#include <nnapi/TypeUtils.h>
@@ -28,7 +29,19 @@
namespace aidl::android::hardware::neuralnetworks::utils {
constexpr auto kDefaultPriority = Priority::MEDIUM;
-constexpr auto kVersion = nn::Version::FEATURE_LEVEL_6;
+
+constexpr std::optional<nn::Version> aidlVersionToCanonicalVersion(int aidlVersion) {
+ switch (aidlVersion) {
+ case 1:
+ return nn::Version::ANDROID_S;
+ case 2:
+ return nn::Version::FEATURE_LEVEL_6;
+ default:
+ return std::nullopt;
+ }
+}
+
+constexpr auto kVersion = aidlVersionToCanonicalVersion(IDevice::version).value();
template <typename Type>
nn::Result<void> validate(const Type& halObject) {
diff --git a/neuralnetworks/aidl/utils/src/Service.cpp b/neuralnetworks/aidl/utils/src/Service.cpp
index 01772ee..e48593c 100644
--- a/neuralnetworks/aidl/utils/src/Service.cpp
+++ b/neuralnetworks/aidl/utils/src/Service.cpp
@@ -46,13 +46,11 @@
aidlVersion = std::min(aidlVersion, IDevice::version);
// Map stable AIDL versions to canonical versions.
- switch (aidlVersion) {
- case 1:
- return nn::Version::ANDROID_S;
- case 2:
- return nn::Version::FEATURE_LEVEL_6;
+ auto version = aidlVersionToCanonicalVersion(aidlVersion);
+ if (!version.has_value()) {
+ return NN_ERROR() << "Unknown AIDL service version: " << aidlVersion;
}
- return NN_ERROR() << "Unknown AIDL service version: " << aidlVersion;
+ return version.value();
}
} // namespace
diff --git a/neuralnetworks/utils/OWNERS b/neuralnetworks/utils/OWNERS
deleted file mode 100644
index e4feee3..0000000
--- a/neuralnetworks/utils/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-# Neuralnetworks team
-butlermichael@google.com
-dgross@google.com
-galarragas@google.com
-jeanluc@google.com
-levp@google.com
-miaowang@google.com
-pszczepaniak@google.com
-slavash@google.com
-vddang@google.com
-xusongw@google.com
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 2cfb8d0..5cc9017 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
@@ -36,7 +36,5 @@
parcelable SimPortInfo {
String iccId;
int logicalSlotId;
- int portState;
- const int PORT_STATE_INACTIVE = 0;
- const int PORT_STATE_ACTIVE = 1;
+ boolean portActive;
}
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 0febcd1..0dd8127 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
@@ -37,7 +37,7 @@
byte sliceServiceType;
int sliceDifferentiator;
byte mappedHplmnSst;
- int mappedHplmnSD;
+ int mappedHplmnSd;
byte status;
const byte SERVICE_TYPE_NONE = 0;
const byte SERVICE_TYPE_EMBB = 1;
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 7dd1341..8c1fdfa 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
@@ -39,5 +39,5 @@
int baseStationId;
int longitude;
int latitude;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
}
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 3991af7..2e384e9 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
@@ -40,6 +40,6 @@
int cid;
int arfcn;
byte bsic;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
String[] additionalPlmns;
}
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 9ea0974..c83997e 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
@@ -40,7 +40,7 @@
int pci;
int tac;
int earfcn;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
int bandwidth;
String[] additionalPlmns;
@nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo;
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 865e0dd..6bdfd99 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
@@ -40,7 +40,7 @@
int pci;
int tac;
int nrarfcn;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
String[] additionalPlmns;
android.hardware.radio.network.NgranBands[] bands;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityOperatorNames.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityOperatorNames.aidl
deleted file mode 100644
index a03f519..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityOperatorNames.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio.network;
-@VintfStability
-parcelable CellIdentityOperatorNames {
- String alphaLong;
- String alphaShort;
-}
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 836b5b5..4100805 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
@@ -40,7 +40,7 @@
int cid;
int cpid;
int uarfcn;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
String[] additionalPlmns;
@nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl
index f832449..907f30d 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
@@ -40,7 +40,7 @@
int cid;
int psc;
int uarfcn;
- android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ android.hardware.radio.network.OperatorInfo operatorNames;
String[] additionalPlmns;
@nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetwork.aidl
index 8131007..16433be 100644
--- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetwork.aidl
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetwork.aidl
@@ -42,7 +42,6 @@
oneway void getCellInfoList(in int serial);
oneway void getDataRegistrationState(in int serial);
oneway void getImsRegistrationState(in int serial);
- oneway void getNeighboringCids(in int serial);
oneway void getNetworkSelectionMode(in int serial);
oneway void getOperator(in int serial);
oneway void getSignalStrength(in int serial);
@@ -50,7 +49,6 @@
oneway void getVoiceRadioTechnology(in int serial);
oneway void getVoiceRegistrationState(in int serial);
oneway void isNrDualConnectivityEnabled(in int serial);
- oneway void pullLceData(in int serial);
oneway void responseAcknowledgement();
oneway void setAllowedNetworkTypesBitmap(in int serial, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
oneway void setBandMode(in int serial, in android.hardware.radio.network.RadioBandMode mode);
@@ -64,7 +62,7 @@
oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.AccessNetwork ran);
oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.network.NrDualConnectivityState nrDualConnectivityState);
oneway void setResponseFunctions(in android.hardware.radio.network.IRadioNetworkResponse radioNetworkResponse, in android.hardware.radio.network.IRadioNetworkIndication radioNetworkIndication);
- oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo signalThresholdInfo, in android.hardware.radio.AccessNetwork accessNetwork);
+ oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo[] signalThresholdInfos);
oneway void setSuppServiceNotifications(in int serial, in boolean enable);
oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers);
oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request);
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkResponse.aidl
index e03e4df..ff95396 100644
--- a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkResponse.aidl
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkResponse.aidl
@@ -43,7 +43,6 @@
oneway void getCellInfoListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CellInfo[] cellInfo);
oneway void getDataRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult dataRegResponse);
oneway void getImsRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isRegistered, in android.hardware.radio.RadioTechnologyFamily ratFamily);
- oneway void getNeighboringCidsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.NeighboringCell[] cells);
oneway void getNetworkSelectionModeResponse(in android.hardware.radio.RadioResponseInfo info, in boolean manual);
oneway void getOperatorResponse(in android.hardware.radio.RadioResponseInfo info, in String longName, in String shortName, in String numeric);
oneway void getSignalStrengthResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.SignalStrength signalStrength);
@@ -51,7 +50,6 @@
oneway void getVoiceRadioTechnologyResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioTechnology rat);
oneway void getVoiceRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult voiceRegResponse);
oneway void isNrDualConnectivityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
- oneway void pullLceDataResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.LceDataInfo lceInfo);
oneway void setAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void setBandModeResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void setBarringPasswordResponse(in android.hardware.radio.RadioResponseInfo info);
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 948a1f6..1e657e5 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
@@ -41,6 +41,7 @@
boolean incrementalResults;
int incrementalResultsPeriodicity;
String[] mccMncs;
+ const int RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8;
const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN = 1;
const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX = 10;
const int MAX_SEARCH_TIME_RANGE_MIN = 60;
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 3ea6c4e..159d9c1 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
@@ -39,6 +39,7 @@
int hysteresisDb;
int[] thresholds;
boolean isEnabled;
+ android.hardware.radio.AccessNetwork ran;
const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1;
const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2;
const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3;
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSim.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSim.aidl
index cc5a53e..85a0c71 100644
--- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSim.aidl
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSim.aidl
@@ -53,11 +53,10 @@
oneway void iccTransmitApduLogicalChannel(in int serial, in android.hardware.radio.sim.SimApdu message);
oneway void reportStkServiceIsRunning(in int serial);
oneway void requestIccSimAuthentication(in int serial, in int authContext, in String authData, in String aid);
- oneway void requestIsimAuthentication(in int serial, in String challenge);
oneway void responseAcknowledgement();
- oneway void sendEnvelope(in int serial, in String command);
+ oneway void sendEnvelope(in int serial, in String contents);
oneway void sendEnvelopeWithStatus(in int serial, in String contents);
- oneway void sendTerminalResponseToSim(in int serial, in String commandResponse);
+ oneway void sendTerminalResponseToSim(in int serial, in String contents);
oneway void setAllowedCarriers(in int serial, in android.hardware.radio.sim.CarrierRestrictions carriers, in android.hardware.radio.sim.SimLockMultiSimPolicy multiSimPolicy);
oneway void setCarrierInfoForImsiEncryption(in int serial, in android.hardware.radio.sim.ImsiEncryptionInfo imsiEncryptionInfo);
oneway void setCdmaSubscriptionSource(in int serial, in android.hardware.radio.sim.CdmaSubscriptionSource cdmaSub);
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl
index e164257..8e68e30 100644
--- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl
@@ -54,7 +54,6 @@
oneway void iccTransmitApduLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result);
oneway void reportStkServiceIsRunningResponse(in android.hardware.radio.RadioResponseInfo info);
oneway void requestIccSimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result);
- oneway void requestIsimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in String response);
oneway void sendEnvelopeResponse(in android.hardware.radio.RadioResponseInfo info, in String commandResponse);
oneway void sendEnvelopeWithStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult iccIo);
oneway void sendTerminalResponseToSimResponse(in android.hardware.radio.RadioResponseInfo info);
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 579dd29..b373aa5 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
@@ -35,4 +35,5 @@
@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 6648358..cc4d3fa 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
@@ -42,6 +42,7 @@
android.hardware.radio.voice.CdmaLineControlInfoRecord[] lineCtrl;
android.hardware.radio.voice.CdmaT53ClirInfoRecord[] clir;
android.hardware.radio.voice.CdmaT53AudioControlInfoRecord[] audioCtrl;
+ const int CDMA_MAX_NUMBER_OF_INFO_RECS = 10;
const int NAME_DISPLAY = 0;
const int NAME_CALLED_PARTY_NUMBER = 1;
const int NAME_CALLING_PARTY_NUMBER = 2;
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl
deleted file mode 100644
index d7eecbb..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio.voice;
-@VintfStability
-parcelable CdmaInformationRecords {
- android.hardware.radio.voice.CdmaInformationRecord[] infoRec;
-}
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 f3fcb2f..26a7df5 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
@@ -39,4 +39,5 @@
byte numberPlan;
byte pi;
byte si;
+ const int CDMA_NUMBER_INFO_BUFFER_LENGTH = 81;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl
index d48102b..744e7ae 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
@@ -35,4 +35,5 @@
@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/IRadioVoiceIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl
index 4f87c12..af3417d 100644
--- a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl
@@ -37,7 +37,7 @@
oneway void callRing(in android.hardware.radio.RadioIndicationType type, in boolean isGsm, in android.hardware.radio.voice.CdmaSignalInfoRecord record);
oneway void callStateChanged(in android.hardware.radio.RadioIndicationType type);
oneway void cdmaCallWaiting(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaCallWaiting callWaitingRecord);
- oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaInformationRecords records);
+ oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaInformationRecord[] records);
oneway void cdmaOtaProvisionStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaOtaProvisionStatus status);
oneway void currentEmergencyNumberList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.EmergencyNumber[] emergencyNumberList);
oneway void enterEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type);
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 c5ba293..9517847 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
@@ -35,4 +35,5 @@
@VintfStability
parcelable SsInfoData {
int[] ssInfo;
+ const int SS_INFO_MAX = 4;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl
deleted file mode 100644
index 2a111c6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@VintfStability
-interface ISap {
- oneway void apduReq(in int token, in android.hardware.radio.SapApduType type, in byte[] command);
- oneway void connectReq(in int token, in int maxMsgSize);
- oneway void disconnectReq(in int token);
- oneway void powerReq(in int token, in boolean state);
- oneway void resetSimReq(in int token);
- oneway void setCallback(in android.hardware.radio.ISapCallback sapCallback);
- oneway void setTransferProtocolReq(in int token, in android.hardware.radio.SapTransferProtocol transferProtocol);
- oneway void transferAtrReq(in int token);
- oneway void transferCardReaderStatusReq(in int token);
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl
deleted file mode 100644
index 5ae0392..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@VintfStability
-interface ISapCallback {
- oneway void apduResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in byte[] apduRsp);
- oneway void connectResponse(in int token, in android.hardware.radio.SapConnectRsp sapConnectRsp, in int maxMsgSize);
- oneway void disconnectIndication(in int token, in android.hardware.radio.SapDisconnectType disconnectType);
- oneway void disconnectResponse(in int token);
- oneway void errorResponse(in int token);
- oneway void powerResponse(in int token, in android.hardware.radio.SapResultCode resultCode);
- oneway void resetSimResponse(in int token, in android.hardware.radio.SapResultCode resultCode);
- oneway void statusIndication(in int token, in android.hardware.radio.SapStatus status);
- oneway void transferAtrResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in byte[] atr);
- oneway void transferCardReaderStatusResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in int cardReaderStatus);
- oneway void transferProtocolResponse(in int token, in android.hardware.radio.SapResultCode resultCode);
-}
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 10a956e..9bb17fe 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
@@ -52,6 +52,7 @@
HSPAP = 32768,
GSM = 65536,
TD_SCDMA = 131072,
+ IWLAN = 262144,
LTE_CA = 524288,
NR = 1048576,
}
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 d111a0d..f411ca2 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,21 +32,10 @@
// later when a module using the interface is updated, e.g., Mainline modules.
package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum RadioConst {
- CDMA_ALPHA_INFO_BUFFER_LENGTH = 64,
- CDMA_NUMBER_INFO_BUFFER_LENGTH = 81,
- MAX_RILDS = 3,
- MAX_SOCKET_NAME_LENGTH = 6,
- MAX_CLIENT_ID_LENGTH = 2,
- MAX_DEBUG_SOCKET_NAME_LENGTH = 12,
- MAX_QEMU_PIPE_NAME_LENGTH = 11,
- MAX_UUID_LENGTH = 64,
- CARD_MAX_APPS = 8,
- CDMA_MAX_NUMBER_OF_INFO_RECS = 10,
- SS_INFO_MAX = 4,
- NUM_SERVICE_CLASSES = 7,
- NUM_TX_POWER_LEVELS = 5,
- RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8,
- P2_CONSTANT_NO_P2 = -1,
+@VintfStability
+parcelable RadioConst {
+ const int MAX_RILDS = 3;
+ const int MAX_UUID_LENGTH = 64;
+ const int CARD_MAX_APPS = 8;
+ const int P2_CONSTANT_NO_P2 = -1;
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl
deleted file mode 100644
index 9bfb725..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapApduType {
- APDU = 0,
- APDU7816 = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl
deleted file mode 100644
index 7e4d246..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapConnectRsp {
- SUCCESS = 0,
- CONNECT_FAILURE = 1,
- MSG_SIZE_TOO_LARGE = 2,
- MSG_SIZE_TOO_SMALL = 3,
- CONNECT_OK_CALL_ONGOING = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl
deleted file mode 100644
index e0d8eb2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapDisconnectType {
- GRACEFUL = 0,
- IMMEDIATE = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl
deleted file mode 100644
index 0c6c513..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapResultCode {
- SUCCESS = 0,
- GENERIC_FAILURE = 1,
- CARD_NOT_ACCESSSIBLE = 2,
- CARD_ALREADY_POWERED_OFF = 3,
- CARD_REMOVED = 4,
- CARD_ALREADY_POWERED_ON = 5,
- DATA_NOT_AVAILABLE = 6,
- NOT_SUPPORTED = 7,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl
deleted file mode 100644
index 715c507..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapStatus {
- UNKNOWN_ERROR = 0,
- CARD_RESET = 1,
- CARD_NOT_ACCESSIBLE = 2,
- CARD_REMOVED = 3,
- CARD_INSERTED = 4,
- RECOVERED = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl
deleted file mode 100644
index 6eadbb7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-// the interface (from the latest frozen version), the build system will
-// prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.hardware.radio;
-@Backing(type="int") @VintfStability
-enum SapTransferProtocol {
- T0 = 0,
- T1 = 1,
-}
diff --git a/radio/aidl/android/hardware/radio/ISap.aidl b/radio/aidl/android/hardware/radio/ISap.aidl
deleted file mode 100644
index 1ca4fe7..0000000
--- a/radio/aidl/android/hardware/radio/ISap.aidl
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.ISapCallback;
-import android.hardware.radio.SapApduType;
-import android.hardware.radio.SapTransferProtocol;
-
-/**
- * Empty top level interface.
- */
-@VintfStability
-oneway interface ISap {
- /**
- * TRANSFER_APDU_REQ from SAP 1.1 spec 5.1.6
- *
- * @param token Id to match req-resp. Resp must include same token.
- * @param type APDU command type
- * @param command CommandAPDU/CommandAPDU7816 parameter depending on type
- */
- void apduReq(in int token, in SapApduType type, in byte[] command);
-
- /**
- * CONNECT_REQ from SAP 1.1 spec 5.1.1
- *
- * @param token Id to match req-resp. Resp must include same token.
- * @param maxMsgSize MaxMsgSize to be used for SIM Access Profile connection
- */
- void connectReq(in int token, in int maxMsgSize);
-
- /**
- * DISCONNECT_REQ from SAP 1.1 spec 5.1.3
- *
- * @param token Id to match req-resp. Resp must include same token.
- */
- void disconnectReq(in int token);
-
- /**
- * POWER_SIM_OFF_REQ and POWER_SIM_ON_REQ from SAP 1.1 spec 5.1.10 + 5.1.12
- *
- * @param token Id to match req-resp. Resp must include same token.
- * @param state true for on, false for off
- */
- void powerReq(in int token, in boolean state);
-
- /**
- * RESET_SIM_REQ from SAP 1.1 spec 5.1.14
- *
- * @param token Id to match req-resp. Resp must include same token.
- */
- void resetSimReq(in int token);
-
- /**
- * Set callback that has response and unsolicited indication functions
- *
- * @param sapCallback Object containing response and unosolicited indication callbacks
- */
- void setCallback(in ISapCallback sapCallback);
-
- /**
- * SET_TRANSPORT_PROTOCOL_REQ from SAP 1.1 spec 5.1.20
- *
- * @param token Id to match req-resp. Resp must include same token.
- * @param transferProtocol Transport Protocol
- */
- void setTransferProtocolReq(in int token, in SapTransferProtocol transferProtocol);
-
- /**
- * TRANSFER_ATR_REQ from SAP 1.1 spec 5.1.8
- *
- * @param token Id to match req-resp. Resp must include same token.
- */
- void transferAtrReq(in int token);
-
- /**
- * TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.17
- *
- * @param token Id to match req-resp. Resp must include same token.
- */
- void transferCardReaderStatusReq(in int token);
-}
diff --git a/radio/aidl/android/hardware/radio/ISapCallback.aidl b/radio/aidl/android/hardware/radio/ISapCallback.aidl
deleted file mode 100644
index 00e543b..0000000
--- a/radio/aidl/android/hardware/radio/ISapCallback.aidl
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.SapConnectRsp;
-import android.hardware.radio.SapDisconnectType;
-import android.hardware.radio.SapResultCode;
-import android.hardware.radio.SapStatus;
-
-@VintfStability
-oneway interface ISapCallback {
- /**
- * TRANSFER_APDU_RESP from SAP 1.1 spec 5.1.7
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS,
- * SapResultCode:GENERIC_FAILURE,
- * SapResultCode:CARD_NOT_ACCESSSIBLE,
- * SapResultCode:CARD_ALREADY_POWERED_OFF,
- * SapResultCode:CARD_REMOVED
- * @param apduRsp APDU Response. Valid only if command was processed correctly and no error
- * occurred.
- */
- void apduResponse(in int token, in SapResultCode resultCode, in byte[] apduRsp);
-
- /**
- * CONNECT_RESP from SAP 1.1 spec 5.1.2
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param sapConnectRsp Connection Status
- * @param maxMsgSize MaxMsgSize supported by server if request cannot be fulfilled.
- * Valid only if connectResponse is SapConnectResponse:MSG_SIZE_TOO_LARGE.
- */
- void connectResponse(in int token, in SapConnectRsp sapConnectRsp, in int maxMsgSize);
-
- /**
- * DISCONNECT_IND from SAP 1.1 spec 5.1.5
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param disconnectType Disconnect Type to indicate if shutdown is graceful or immediate
- */
- void disconnectIndication(in int token, in SapDisconnectType disconnectType);
-
- /**
- * DISCONNECT_RESP from SAP 1.1 spec 5.1.4
- *
- * @param token Id to match req-resp. Value must match the one in req.
- */
- void disconnectResponse(in int token);
-
- /**
- * ERROR_RESP from SAP 1.1 spec 5.1.19
- *
- * @param token Id to match req-resp. Value must match the one in req.
- */
- void errorResponse(in int token);
-
- /**
- * POWER_SIM_OFF_RESP and POWER_SIM_ON_RESP from SAP 1.1 spec 5.1.11 + 5.1.13
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS,
- * SapResultCode:GENERIC_FAILURE,
- * SapResultCode:CARD_NOT_ACCESSSIBLE, (possible only for power on req)
- * SapResultCode:CARD_ALREADY_POWERED_OFF, (possible only for power off req)
- * SapResultCode:CARD_REMOVED,
- * SapResultCode:CARD_ALREADY_POWERED_ON (possible only for power on req)
- */
- void powerResponse(in int token, in SapResultCode resultCode);
-
- /**
- * RESET_SIM_RESP from SAP 1.1 spec 5.1.15
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS,
- * SapResultCode:GENERIC_FAILURE,
- * SapResultCode:CARD_NOT_ACCESSSIBLE,
- * SapResultCode:CARD_ALREADY_POWERED_OFF,
- * SapResultCode:CARD_REMOVED
- */
- void resetSimResponse(in int token, in SapResultCode resultCode);
-
- /**
- * STATUS_IND from SAP 1.1 spec 5.1.16
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param status Parameter to indicate reason for the status change.
- */
- void statusIndication(in int token, in SapStatus status);
-
- /**
- * TRANSFER_ATR_RESP from SAP 1.1 spec 5.1.9
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS,
- * SapResultCode:GENERIC_FAILURE,
- * SapResultCode:CARD_ALREADY_POWERED_OFF,
- * SapResultCode:CARD_REMOVED,
- * SapResultCode:DATA_NOT_AVAILABLE
- * @param atr Answer to Reset from the subscription module. Included only if no error occurred,
- * otherwise empty.
- */
- void transferAtrResponse(in int token, in SapResultCode resultCode, in byte[] atr);
-
- /**
- * TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.18
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS,
- * SapResultCode:GENERIC_FAILURE
- * SapResultCode:DATA_NOT_AVAILABLE
- * @param cardReaderStatus Card Reader Status coded as described in 3GPP TS 11.14 Section 12.33
- * and TS 31.111 Section 8.33
- */
- void transferCardReaderStatusResponse(
- in int token, in SapResultCode resultCode, in int cardReaderStatus);
-
- /**
- * SET_TRANSPORT_PROTOCOL_RESP from SAP 1.1 spec 5.1.21
- *
- * @param token Id to match req-resp. Value must match the one in req.
- * @param resultCode ResultCode to indicate if command was processed correctly
- * Possible values:
- * SapResultCode:SUCCESS
- * SapResultCode:NOT_SUPPORTED
- */
- void transferProtocolResponse(in int token, in SapResultCode resultCode);
-}
diff --git a/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl
index 719837d..b8fbf9b 100644
--- a/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl
+++ b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl
@@ -39,6 +39,7 @@
HSPAP = 1 << RadioTechnology.HSPAP,
GSM = 1 << RadioTechnology.GSM,
TD_SCDMA = 1 << RadioTechnology.TD_SCDMA,
+ IWLAN = 1 << RadioTechnology.IWLAN,
LTE_CA = 1 << RadioTechnology.LTE_CA,
/**
* 5G NR. This is only use in 5G Standalone mode.
diff --git a/radio/aidl/android/hardware/radio/RadioConst.aidl b/radio/aidl/android/hardware/radio/RadioConst.aidl
index 2e1bcf0..cd03f84 100644
--- a/radio/aidl/android/hardware/radio/RadioConst.aidl
+++ b/radio/aidl/android/hardware/radio/RadioConst.aidl
@@ -17,24 +17,12 @@
package android.hardware.radio;
@VintfStability
-@Backing(type="int")
-enum RadioConst {
- CDMA_ALPHA_INFO_BUFFER_LENGTH = 64,
- CDMA_NUMBER_INFO_BUFFER_LENGTH = 81,
- MAX_RILDS = 3,
- MAX_SOCKET_NAME_LENGTH = 6,
- MAX_CLIENT_ID_LENGTH = 2,
- MAX_DEBUG_SOCKET_NAME_LENGTH = 12,
- MAX_QEMU_PIPE_NAME_LENGTH = 11,
- MAX_UUID_LENGTH = 64,
- CARD_MAX_APPS = 8,
- CDMA_MAX_NUMBER_OF_INFO_RECS = 10,
- SS_INFO_MAX = 4,
- NUM_SERVICE_CLASSES = 7,
- NUM_TX_POWER_LEVELS = 5,
- RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8,
+parcelable RadioConst {
+ const int MAX_RILDS = 3;
+ const int MAX_UUID_LENGTH = 64;
+ const int CARD_MAX_APPS = 8;
/**
* No P2 value is provided
*/
- P2_CONSTANT_NO_P2 = -1,
+ const int P2_CONSTANT_NO_P2 = -1;
}
diff --git a/radio/aidl/android/hardware/radio/SapApduType.aidl b/radio/aidl/android/hardware/radio/SapApduType.aidl
deleted file mode 100644
index f697e58..0000000
--- a/radio/aidl/android/hardware/radio/SapApduType.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapApduType {
- APDU,
- APDU7816,
-}
diff --git a/radio/aidl/android/hardware/radio/SapConnectRsp.aidl b/radio/aidl/android/hardware/radio/SapConnectRsp.aidl
deleted file mode 100644
index d2046d2..0000000
--- a/radio/aidl/android/hardware/radio/SapConnectRsp.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapConnectRsp {
- SUCCESS,
- CONNECT_FAILURE,
- MSG_SIZE_TOO_LARGE,
- MSG_SIZE_TOO_SMALL,
- CONNECT_OK_CALL_ONGOING,
-}
diff --git a/radio/aidl/android/hardware/radio/SapDisconnectType.aidl b/radio/aidl/android/hardware/radio/SapDisconnectType.aidl
deleted file mode 100644
index 30a04bd..0000000
--- a/radio/aidl/android/hardware/radio/SapDisconnectType.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapDisconnectType {
- GRACEFUL,
- IMMEDIATE,
-}
diff --git a/radio/aidl/android/hardware/radio/SapResultCode.aidl b/radio/aidl/android/hardware/radio/SapResultCode.aidl
deleted file mode 100644
index db87374..0000000
--- a/radio/aidl/android/hardware/radio/SapResultCode.aidl
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapResultCode {
- SUCCESS,
- GENERIC_FAILURE,
- CARD_NOT_ACCESSSIBLE,
- CARD_ALREADY_POWERED_OFF,
- CARD_REMOVED,
- CARD_ALREADY_POWERED_ON,
- DATA_NOT_AVAILABLE,
- NOT_SUPPORTED,
-}
diff --git a/radio/aidl/android/hardware/radio/SapStatus.aidl b/radio/aidl/android/hardware/radio/SapStatus.aidl
deleted file mode 100644
index 0a6b4a7..0000000
--- a/radio/aidl/android/hardware/radio/SapStatus.aidl
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapStatus {
- UNKNOWN_ERROR,
- CARD_RESET,
- CARD_NOT_ACCESSIBLE,
- CARD_REMOVED,
- CARD_INSERTED,
- RECOVERED,
-}
diff --git a/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl b/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl
deleted file mode 100644
index 7f385de..0000000
--- a/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum SapTransferProtocol {
- T0,
- T1,
-}
diff --git a/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl b/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl
index 78f1309..54b9890 100644
--- a/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl
+++ b/radio/aidl/android/hardware/radio/config/SimPortInfo.aidl
@@ -34,18 +34,10 @@
* Logical slot id is identifier of the active slot
*/
int logicalSlotId;
- /*
- * Port is Inactive
- * Inactive means logical modem is no longer associated to the port
- */
- const int PORT_STATE_INACTIVE = 0;
- /*
- * Port is Active
- * Active means logical modem is associated to the port
- */
- const int PORT_STATE_ACTIVE = 1;
/**
- * Port state in the slot. Values are portState.[PORT_STATE_INACTIVE, PORT_STATE_ACTIVE].
+ * Port active status in the slot.
+ * Inactive means logical modem is no longer associated to the port.
+ * Active means logical modem is associated to the port.
*/
- int portState;
+ boolean portActive;
}
diff --git a/radio/aidl/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl
index dd315e8..0943031 100644
--- a/radio/aidl/android/hardware/radio/data/SliceInfo.aidl
+++ b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl
@@ -83,7 +83,7 @@
* value. A value of -1 indicates that there is no corresponding SliceInfo of the HPLMN.
* See: 3GPP TS 24.501 Section 9.11.2.8.
*/
- int mappedHplmnSD;
+ int mappedHplmnSd;
/**
* Field to indicate the current status of the slice.
* Values are STATUS_
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl
index e271e50..ae6fda4 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl
@@ -16,7 +16,7 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.OperatorInfo;
@VintfStability
parcelable CellIdentityCdma {
@@ -44,5 +44,8 @@
* (corresponding to a range of -90 to +90 degrees). INT_MAX if unknown
*/
int latitude;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl
index 7b711ad..75a96e8 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl
@@ -16,7 +16,7 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.OperatorInfo;
@VintfStability
parcelable CellIdentityGsm {
@@ -44,7 +44,10 @@
* 6-bit Base Station Identity Code, 0xFF if unknown
*/
byte bsic;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
/**
* Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
*/
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl
index d4f83a3..ae52cf2 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl
@@ -16,9 +16,9 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
import android.hardware.radio.network.ClosedSubscriberGroupInfo;
import android.hardware.radio.network.EutranBands;
+import android.hardware.radio.network.OperatorInfo;
@VintfStability
parcelable CellIdentityLte {
@@ -46,7 +46,10 @@
* 18-bit LTE Absolute RF Channel Number; this value must be valid
*/
int earfcn;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
/**
* Cell bandwidth, in kHz.
*/
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl
index dfccbf7..73a56ea 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl
@@ -16,8 +16,8 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
import android.hardware.radio.network.NgranBands;
+import android.hardware.radio.network.OperatorInfo;
/**
* The CellIdentity structure should be reported once for each element of the PLMN-IdentityInfoList
@@ -55,7 +55,10 @@
* This value must be valid.
*/
int nrarfcn;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
/**
* Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
*/
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl
deleted file mode 100644
index 540014a..0000000
--- a/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio.network;
-
-@VintfStability
-parcelable CellIdentityOperatorNames {
- /**
- * Long alpha operator name string or enhanced operator name string.
- */
- String alphaLong;
- /**
- * Short alpha operator name string or enhanced operator name string.
- */
- String alphaShort;
-}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl
index 99c8151..5b00df1 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl
@@ -16,8 +16,8 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
import android.hardware.radio.network.ClosedSubscriberGroupInfo;
+import android.hardware.radio.network.OperatorInfo;
@VintfStability
parcelable CellIdentityTdscdma {
@@ -45,7 +45,10 @@
* 16-bit UMTS Absolute RF Channel Number defined in TS 25.102 5.4.4; this value must be valid.
*/
int uarfcn;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
/**
* Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
*/
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl
index 302be96..bf4d6cb 100644
--- a/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl
@@ -16,8 +16,8 @@
package android.hardware.radio.network;
-import android.hardware.radio.network.CellIdentityOperatorNames;
import android.hardware.radio.network.ClosedSubscriberGroupInfo;
+import android.hardware.radio.network.OperatorInfo;
@VintfStability
parcelable CellIdentityWcdma {
@@ -45,7 +45,10 @@
* 16-bit UMTS Absolute RF Channel Number; this value must be valid.
*/
int uarfcn;
- CellIdentityOperatorNames operatorNames;
+ /**
+ * OperatorInfo containing alphaLong and alphaShort
+ */
+ OperatorInfo operatorNames;
/**
* Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
*/
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl
index 0db918d..1081a75 100644
--- a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl
@@ -114,15 +114,6 @@
void getImsRegistrationState(in int serial);
/**
- * Request neighboring cell id in GSM network
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioNetworkResponse.getNeighboringCidsResponse()
- */
- void getNeighboringCids(in int serial);
-
- /**
* Query current network selection mode
*
* @param serial Serial number of request.
@@ -187,15 +178,6 @@
void isNrDualConnectivityEnabled(in int serial);
/**
- * Pull LCE service for capacity information.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioNetworkResponse.pullLceDataResponse()
- */
- void pullLceData(in int serial);
-
- /**
* When response type received from a radio indication or radio response is
* RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively,
* acknowledge the receipt of those messages by sending responseAcknowledgement().
@@ -364,29 +346,22 @@
in IRadioNetworkIndication radioNetworkIndication);
/**
- * Sets the signal strength reporting criteria. The resulting reporting rules are the AND of all
- * the supplied criteria. For each RAN the hysteresisDb and thresholds apply to only the
- * following measured quantities:
- * -GERAN - RSSI
- * -CDMA2000 - RSSI
- * -UTRAN - RSCP
- * -EUTRAN - RSRP/RSRQ/RSSNR
- * -NGRAN - SSRSRP/SSRSRQ/SSSINR
- * Note that reporting criteria must be individually set for each RAN. For each RAN, if none of
- * reporting criteria of any measurement is set enabled (see SignalThresholdInfo.isEnabled),
- * the reporting criteria for this RAN is implementation-defined. For each RAN, if any reporting
- * criteria of any measure is set enabled, the reporting criteria of the other measures in this
- * RAN are set disabled (see SignalThresholdInfo.isEnabled) until they are set enabled.
+ * Sets or clears the signal strength reporting criteria for multiple RANs in one request.
+ *
+ * The reporting criteria are set individually for each combination of RAN and measurement type.
+ * For each RAN type, if no reporting criteria are set, then the reporting of SignalStrength for
+ * that RAN is implementation-defined. If any criteria are supplied for a RAN type, then
+ * SignalStrength is only reported as specified by those criteria. For any RAN types not defined
+ * by this HAL, reporting is implementation-defined.
*
* @param serial Serial number of request.
- * @param signalThresholdInfo Signal threshold info including the threshold values,
- * hysteresisDb, hysteresisMs and isEnabled. See SignalThresholdInfo for details.
- * @param accessNetwork The type of network for which to apply these thresholds.
+ * @param signalThresholdInfos Collection of SignalThresholdInfo specifying the reporting
+ * criteria. See SignalThresholdInfo for details.
*
* Response function is IRadioNetworkResponse.setSignalStrengthReportingCriteriaResponse()
*/
- void setSignalStrengthReportingCriteria(in int serial,
- in SignalThresholdInfo signalThresholdInfo, in AccessNetwork accessNetwork);
+ void setSignalStrengthReportingCriteria(
+ in int serial, in SignalThresholdInfo[] signalThresholdInfos);
/**
* Enables/disables supplementary service related notifications from the network.
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
index ae2646d..429b5a8 100644
--- a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
@@ -179,25 +179,6 @@
/**
* @param info Response info struct containing response type, serial no. and error
- * @param cells Vector of neighboring radio cell
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NO_NETWORK_FOUND
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- void getNeighboringCidsResponse(in RadioResponseInfo info, in NeighboringCell[] cells);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
* @param selection false for automatic selection, true for manual selection
*
* Valid errors returned:
@@ -299,23 +280,6 @@
/**
* @param info Response info struct containing response type, serial no. and error
- * @param lceInfo LceDataInfo indicating LCE data
- *
- * Valid errors returned:
- * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported.
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:LCE_NOT_SUPPORTED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- void pullLceDataResponse(in RadioResponseInfo info, in LceDataInfo lceInfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
*
* Valid errors returned:
* RadioError:NONE
diff --git a/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
index ec8aa95..7cea1de 100644
--- a/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
+++ b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
@@ -20,6 +20,8 @@
@VintfStability
parcelable NetworkScanRequest {
+ const int RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8;
+
const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN = 1;
const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX = 10;
@@ -50,7 +52,7 @@
int interval;
/**
* Networks with bands/channels to scan.
- * Maximum length of the vector is RadioConst:RADIO_ACCESS_SPECIFIER_MAX_SIZE.
+ * Maximum length of the vector is RADIO_ACCESS_SPECIFIER_MAX_SIZE.
*/
RadioAccessSpecifier[] specifiers;
/**
diff --git a/radio/aidl/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
index bd681e7..312182e 100644
--- a/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
+++ b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
@@ -32,10 +32,11 @@
*/
RegState regState;
/**
- * Indicates the available voice radio technology, valid values as defined by RadioTechnology,
- * except LTE_CA, which is no longer a valid value on 1.5 or above. When the device is on
- * carrier aggregation, vendor RIL service should properly report multiple PhysicalChannelConfig
- * elements through IRadioNetwork::currentPhysicalChannelConfigs.
+ * Indicates the radio technology (except LTE_CA, which is no longer a valid value), which
+ * must not be UNKNOWN if regState is REG_HOME, REG_ROAMING, NOT_REG_MT_NOT_SEARCHING_OP_EM,
+ * NOT_REG_MT_SEARCHING_OP_EM, REG_DENIED_EM, or UNKNOWN_EM.
+ * When the device is on carrier aggregation, vendor RIL service must properly report multiple
+ * PhysicalChannelConfig elements through IRadioNetwork::currentPhysicalChannelConfigs.
*/
RadioTechnology rat;
/**
diff --git a/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
index 696292d..584ea38 100644
--- a/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
@@ -16,6 +16,8 @@
package android.hardware.radio.network;
+import android.hardware.radio.AccessNetwork;
+
/**
* Contains the threshold values of each signal measurement type.
*/
@@ -86,18 +88,20 @@
*/
int signalMeasurement;
/**
- * A hysteresis time in milliseconds to prevent flapping. A value of 0 disables hysteresis.
+ * A hysteresis time in milliseconds for current signal measurement type to prevent flapping.
+ * A value of 0 disables hysteresis.
*/
int hysteresisMs;
/**
- * An interval in dB defining the required magnitude change between reports. This must be
- * smaller than the smallest threshold delta. An interval value of 0 disables hysteresis.
+ * An interval in dB for current signal measurement type defining the required magnitude change
+ * between reports. This must be smaller than the smallest threshold delta. An interval value of
+ * 0 disables hysteresis.
*/
int hysteresisDb;
/**
- * List of threshold values. Range and unit must reference specific SignalMeasurementType.
- * The threshold values for which to apply criteria. A vector size of 0 disables the use of
- * thresholds for reporting.
+ * List of threshold values for current signal measurement type. Range and unit must reference
+ * specific SignalMeasurementType. The threshold values for which to apply criteria. A vector
+ * size of 0 disables the use of thresholds for reporting.
*/
int[] thresholds;
/**
@@ -106,4 +110,8 @@
* If disabled, modem must not trigger the report based on the criteria.
*/
boolean isEnabled;
+ /**
+ * The Radio Access Network for current threshold info.
+ */
+ AccessNetwork ran;
}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
index 902c90c..c731caf 100644
--- a/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
@@ -262,17 +262,6 @@
in int serial, in int authContext, in String authData, in String aid);
/**
- * Request the ISIM application on the UICC to perform AKA challenge/response algorithm
- * for IMS authentication
- *
- * @param serial Serial number of request.
- * @param challenge challenge string in Base64 format
- *
- * Response function is IRadioSimResponse.requestIsimAuthenticationResponse()
- */
- void requestIsimAuthentication(in int serial, in String challenge);
-
- /**
* When response type received from a radio indication or radio response is
* RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively,
* acknowledge the receipt of those messages by sending responseAcknowledgement().
@@ -284,11 +273,11 @@
* The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111
*
* @param serial Serial number of request.
- * @param command SAT/USAT command in hexadecimal format string starting with command tag
+ * @param contents SAT/USAT command in hexadecimal format string starting with command tag
*
* Response function is IRadioSimResponse.sendEnvelopeResponse()
*/
- void sendEnvelope(in int serial, in String command);
+ void sendEnvelope(in int serial, in String contents);
/**
* Requests to send a SAT/USAT envelope command to SIM. The SAT/USAT envelope command refers to
@@ -309,12 +298,12 @@
* Requests to send a terminal response to SIM for a received proactive command
*
* @param serial Serial number of request.
- * @param commandResponse SAT/USAT response in hexadecimal format string starting with
+ * @param contents SAT/USAT response in hexadecimal format string starting with
* first byte of response data
*
* Response function is IRadioSimResponse.sendTerminalResponseResponseToSim()
*/
- void sendTerminalResponseToSim(in int serial, in String commandResponse);
+ void sendTerminalResponseToSim(in int serial, in String contents);
/**
* Set carrier restrictions. Expected modem behavior:
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
index dcc7029..750a29a 100644
--- a/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
@@ -365,24 +365,6 @@
/**
* @param info Response info struct containing response type, serial no. and error
- * @param response response string of the challenge/response algo for ISIM auth in base64 format
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- void requestIsimAuthenticationResponse(in RadioResponseInfo info, in String response);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
* @param commandResponse SAT/USAT response in hexadecimal format string starting with first
* byte of response
*
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
index 18a1ce4..ac66237 100644
--- a/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
@@ -25,8 +25,9 @@
*/
@VintfStability
parcelable CdmaDisplayInfoRecord {
+ const int CDMA_ALPHA_INFO_BUFFER_LENGTH = 64;
/**
- * Max length = RadioConst:CDMA_ALPHA_INFO_BUFFER_LENGTH
+ * Max length = CDMA_ALPHA_INFO_BUFFER_LENGTH
*/
String alphaBuf;
}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
index af37dac..6920462 100644
--- a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
@@ -25,7 +25,11 @@
import android.hardware.radio.voice.CdmaT53ClirInfoRecord;
@VintfStability
+/**
+ * Max length of CdmaInformationRecords[] is CDMA_MAX_NUMBER_OF_INFO_RECS
+ */
parcelable CdmaInformationRecord {
+ const int CDMA_MAX_NUMBER_OF_INFO_RECS = 10;
/**
* Names of the CDMA info records (C.S0005 section 3.7.5)
*/
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
deleted file mode 100644
index 46a9b1a..0000000
--- a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.radio.voice;
-
-import android.hardware.radio.voice.CdmaInformationRecord;
-
-@VintfStability
-parcelable CdmaInformationRecords {
- /**
- * Max length = RadioConst:CDMA_MAX_NUMBER_OF_INFO_RECS
- */
- CdmaInformationRecord[] infoRec;
-}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
index 41ce08f..265bf67 100644
--- a/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
@@ -23,8 +23,9 @@
*/
@VintfStability
parcelable CdmaNumberInfoRecord {
+ const int CDMA_NUMBER_INFO_BUFFER_LENGTH = 81;
/**
- * Max length = RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH
+ * Max length = CDMA_NUMBER_INFO_BUFFER_LENGTH
*/
String number;
byte numberType;
diff --git a/radio/aidl/android/hardware/radio/voice/CfData.aidl b/radio/aidl/android/hardware/radio/voice/CfData.aidl
index 8d7c4bd..f28c7c8 100644
--- a/radio/aidl/android/hardware/radio/voice/CfData.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CfData.aidl
@@ -20,9 +20,10 @@
@VintfStability
parcelable CfData {
+ const int NUM_SERVICE_CLASSES = 7;
/**
* This is the response data for SS request to query call forward status.
- * See getCallForwardStatus(). Max size = RadioConst:NUM_SERVICE_CLASSES.
+ * See getCallForwardStatus(). Max size = NUM_SERVICE_CLASSES.
*/
CallForwardInfo[] cfInfo;
}
diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl
index 81640f3..25e87b3 100644
--- a/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl
+++ b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl
@@ -18,7 +18,7 @@
import android.hardware.radio.RadioIndicationType;
import android.hardware.radio.voice.CdmaCallWaiting;
-import android.hardware.radio.voice.CdmaInformationRecords;
+import android.hardware.radio.voice.CdmaInformationRecord;
import android.hardware.radio.voice.CdmaOtaProvisionStatus;
import android.hardware.radio.voice.CdmaSignalInfoRecord;
import android.hardware.radio.voice.EmergencyNumber;
@@ -67,9 +67,10 @@
* Indicates when CDMA radio receives one or more info recs.
*
* @param type Type of radio indication
- * @param records New Cdma Information
+ * @param records New CDMA information records.
+ * Max length is RadioConst:CDMA_MAX_NUMBER_OF_INFO_RECS
*/
- void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecords records);
+ void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecord[] records);
/**
* Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call.
diff --git a/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl
index 40af393..d562925 100644
--- a/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl
+++ b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl
@@ -18,11 +18,12 @@
@VintfStability
parcelable SsInfoData {
+ const int SS_INFO_MAX = 4;
/**
* This is the response data for all of the SS GET/SET Radio requests.
* E.g. IRadioVoice.getClir() returns two ints, so first two values of ssInfo[] will be used for
* response if serviceType is SS_CLIR and requestType is SS_INTERROGATION.
- * Max size = RadioConst:SS_INFO_MAX
+ * Max size = SS_INFO_MAX
*/
int[] ssInfo;
}
diff --git a/security/keymint/aidl/vts/functional/DeviceUniqueAttestationTest.cpp b/security/keymint/aidl/vts/functional/DeviceUniqueAttestationTest.cpp
index 6f2f189..3cbffbf 100644
--- a/security/keymint/aidl/vts/functional/DeviceUniqueAttestationTest.cpp
+++ b/security/keymint/aidl/vts/functional/DeviceUniqueAttestationTest.cpp
@@ -78,6 +78,7 @@
.Digest(Digest::SHA_2_256)
.Padding(PaddingMode::RSA_PKCS1_1_5_SIGN)
.Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
.AttestationChallenge("challenge")
.AttestationApplicationId("foo")
.Authorization(TAG_DEVICE_UNIQUE_ATTESTATION),
@@ -106,6 +107,7 @@
.EcdsaSigningKey(EcCurve::P_256)
.Digest(Digest::SHA_2_256)
.Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
.AttestationChallenge("challenge")
.AttestationApplicationId("foo")
.Authorization(TAG_DEVICE_UNIQUE_ATTESTATION),
@@ -135,6 +137,7 @@
.Digest(Digest::SHA_2_256)
.Padding(PaddingMode::RSA_PKCS1_1_5_SIGN)
.Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
.AttestationChallenge("challenge")
.AttestationApplicationId("foo")
.Authorization(TAG_DEVICE_UNIQUE_ATTESTATION),
@@ -192,6 +195,7 @@
.EcdsaSigningKey(EcCurve::P_256)
.Digest(Digest::SHA_2_256)
.Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
.AttestationChallenge("challenge")
.AttestationApplicationId("foo")
.Authorization(TAG_DEVICE_UNIQUE_ATTESTATION),
@@ -252,14 +256,16 @@
for (const KeyParameter& tag : attestation_id_tags) {
SCOPED_TRACE(testing::Message() << "+tag-" << tag);
- AuthorizationSetBuilder builder = AuthorizationSetBuilder()
- .Authorization(TAG_NO_AUTH_REQUIRED)
- .EcdsaSigningKey(EcCurve::P_256)
- .Digest(Digest::SHA_2_256)
- .Authorization(TAG_INCLUDE_UNIQUE_ID)
- .AttestationChallenge("challenge")
- .AttestationApplicationId("foo")
- .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION);
+ AuthorizationSetBuilder builder =
+ AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .EcdsaSigningKey(EcCurve::P_256)
+ .Digest(Digest::SHA_2_256)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
+ .AttestationChallenge("challenge")
+ .AttestationApplicationId("foo")
+ .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION);
builder.push_back(tag);
auto result = GenerateKey(builder, &key_blob, &key_characteristics);
@@ -322,14 +328,16 @@
for (const KeyParameter& invalid_tag : attestation_id_tags) {
SCOPED_TRACE(testing::Message() << "+tag-" << invalid_tag);
- AuthorizationSetBuilder builder = AuthorizationSetBuilder()
- .Authorization(TAG_NO_AUTH_REQUIRED)
- .EcdsaSigningKey(EcCurve::P_256)
- .Digest(Digest::SHA_2_256)
- .Authorization(TAG_INCLUDE_UNIQUE_ID)
- .AttestationChallenge("challenge")
- .AttestationApplicationId("foo")
- .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION);
+ AuthorizationSetBuilder builder =
+ AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .EcdsaSigningKey(EcCurve::P_256)
+ .Digest(Digest::SHA_2_256)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID)
+ .Authorization(TAG_CREATION_DATETIME, 1619621648000)
+ .AttestationChallenge("challenge")
+ .AttestationApplicationId("foo")
+ .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION);
// Add the tag that doesn't match the local device's real ID.
builder.push_back(invalid_tag);
auto result = GenerateKey(builder, &key_blob, &key_characteristics);
diff --git a/security/keymint/aidl/vts/functional/KeyMintTest.cpp b/security/keymint/aidl/vts/functional/KeyMintTest.cpp
index 670043d..92aa2ac 100644
--- a/security/keymint/aidl/vts/functional/KeyMintTest.cpp
+++ b/security/keymint/aidl/vts/functional/KeyMintTest.cpp
@@ -1627,13 +1627,13 @@
*/
TEST_P(NewKeyGenerationTest, EcdsaAttestationUniqueId) {
auto get_unique_id = [this](const std::string& app_id, uint64_t datetime,
- vector<uint8_t>* unique_id) {
+ vector<uint8_t>* unique_id, bool reset = false) {
auto challenge = "hello";
auto subject = "cert subj 2";
vector<uint8_t> subject_der(make_name_from_str(subject));
uint64_t serial_int = 0x1010;
vector<uint8_t> serial_blob(build_serial_blob(serial_int));
- const AuthorizationSetBuilder builder =
+ AuthorizationSetBuilder builder =
AuthorizationSetBuilder()
.Authorization(TAG_NO_AUTH_REQUIRED)
.Authorization(TAG_INCLUDE_UNIQUE_ID)
@@ -1645,6 +1645,9 @@
.AttestationApplicationId(app_id)
.Authorization(TAG_CREATION_DATETIME, datetime)
.SetDefaultValidity();
+ if (reset) {
+ builder.Authorization(TAG_RESET_SINCE_ID_ROTATION);
+ }
ASSERT_EQ(ErrorCode::OK, GenerateKey(builder));
ASSERT_GT(key_blob_.size(), 0U);
@@ -1706,6 +1709,11 @@
vector<uint8_t> unique_id8;
get_unique_id(app_id, min_date - 1, &unique_id8);
EXPECT_NE(unique_id, unique_id8);
+
+ // Marking RESET_SINCE_ID_ROTATION should give a different unique ID.
+ vector<uint8_t> unique_id9;
+ get_unique_id(app_id, cert_date, &unique_id9, /* reset_id = */ true);
+ EXPECT_NE(unique_id, unique_id9);
}
/*