Merge "Updated WHEEL_TICK configArray documentation in VHAL."
diff --git a/audio/core/all-versions/vts/functional/OWNERS b/audio/core/all-versions/vts/functional/OWNERS
new file mode 100644
index 0000000..448d9fe
--- /dev/null
+++ b/audio/core/all-versions/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 48436
+mnaganov@google.com
diff --git a/audio/effect/all-versions/vts/functional/OWNERS b/audio/effect/all-versions/vts/functional/OWNERS
new file mode 100644
index 0000000..448d9fe
--- /dev/null
+++ b/audio/effect/all-versions/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 48436
+mnaganov@google.com
diff --git a/audio/policy/1.0/vts/functional/OWNERS b/audio/policy/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..448d9fe
--- /dev/null
+++ b/audio/policy/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 48436
+mnaganov@google.com
diff --git a/automotive/can/1.0/vts/functional/OWNERS b/automotive/can/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..85257a3
--- /dev/null
+++ b/automotive/can/1.0/vts/functional/OWNERS
@@ -0,0 +1,3 @@
+# Bug component: 533426
+twasilczyk@google.com
+chrisweir@google.com
diff --git a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
index 7fd4a79..e025d1e 100644
--- a/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
+++ b/automotive/vehicle/2.0/default/impl/vhal_v2_0/DefaultConfig.h
@@ -307,6 +307,18 @@
.prop = toInt(VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE),
.access = VehiclePropertyAccess::READ,
.changeMode = VehiclePropertyChangeMode::STATIC,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = WHEEL_FRONT_LEFT,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_FRONT_RIGHT,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_REAR_LEFT,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_REAR_RIGHT,
+ }},
},
.initialAreaValues = {{WHEEL_FRONT_LEFT, {.floatValues = {137.0f}}},
{WHEEL_FRONT_RIGHT, {.floatValues = {137.0f}}},
diff --git a/automotive/vehicle/TEST_MAPPING b/automotive/vehicle/TEST_MAPPING
new file mode 100644
index 0000000..4820fd4
--- /dev/null
+++ b/automotive/vehicle/TEST_MAPPING
@@ -0,0 +1,13 @@
+{
+ "presubmit": [
+ {
+ "name": "VehicleHalAidlHidlCompatibilityTest"
+ },
+ {
+ "name": "VehicleHalDefaultConfigTest"
+ },
+ {
+ "name": "VehicleHalVehicleUtilsTest"
+ }
+ ]
+}
diff --git a/automotive/vehicle/aidl/Android.bp b/automotive/vehicle/aidl/Android.bp
index 477f8ed..ca8afb0 100644
--- a/automotive/vehicle/aidl/Android.bp
+++ b/automotive/vehicle/aidl/Android.bp
@@ -27,11 +27,10 @@
srcs: [
"android/hardware/automotive/vehicle/**/*.aidl",
],
- // TODO(b/148703287) Make it stable with new APIs
- unstable: true,
+ stability: "vintf",
backend: {
cpp: {
- enabled: true,
+ enabled: false,
},
java: {
sdk_version: "module_current",
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserRequest.aidl
new file mode 100644
index 0000000..54c65ba
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserRequest.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable CreateUserRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.UserInfo newUserInfo;
+ @utf8InCpp String newUserName;
+ android.hardware.automotive.vehicle.UsersInfo usersInfo;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserResponse.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserResponse.aidl
new file mode 100644
index 0000000..6126f99
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserResponse.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable CreateUserResponse {
+ int requestId;
+ android.hardware.automotive.vehicle.CreateUserStatus status = android.hardware.automotive.vehicle.CreateUserStatus.SUCCESS;
+ @utf8InCpp String errorMessage;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserStatus.aidl
new file mode 100644
index 0000000..4c3b751
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CreateUserStatus.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum CreateUserStatus {
+ SUCCESS = 1,
+ FAILURE = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CustomInputType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CustomInputType.aidl
new file mode 100644
index 0000000..4decb69
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/CustomInputType.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum CustomInputType {
+ CUSTOM_EVENT_F1 = 1001,
+ CUSTOM_EVENT_F2 = 1002,
+ CUSTOM_EVENT_F3 = 1003,
+ CUSTOM_EVENT_F4 = 1004,
+ CUSTOM_EVENT_F5 = 1005,
+ CUSTOM_EVENT_F6 = 1006,
+ CUSTOM_EVENT_F7 = 1007,
+ CUSTOM_EVENT_F8 = 1008,
+ CUSTOM_EVENT_F9 = 1009,
+ CUSTOM_EVENT_F10 = 1010,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl
new file mode 100644
index 0000000..9704704
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum DiagnosticFloatSensorIndex {
+ CALCULATED_ENGINE_LOAD = 0,
+ ENGINE_COOLANT_TEMPERATURE = 1,
+ SHORT_TERM_FUEL_TRIM_BANK1 = 2,
+ LONG_TERM_FUEL_TRIM_BANK1 = 3,
+ SHORT_TERM_FUEL_TRIM_BANK2 = 4,
+ LONG_TERM_FUEL_TRIM_BANK2 = 5,
+ FUEL_PRESSURE = 6,
+ INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7,
+ ENGINE_RPM = 8,
+ VEHICLE_SPEED = 9,
+ TIMING_ADVANCE = 10,
+ MAF_AIR_FLOW_RATE = 11,
+ THROTTLE_POSITION = 12,
+ OXYGEN_SENSOR1_VOLTAGE = 13,
+ OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14,
+ OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15,
+ OXYGEN_SENSOR2_VOLTAGE = 16,
+ OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17,
+ OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18,
+ OXYGEN_SENSOR3_VOLTAGE = 19,
+ OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20,
+ OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21,
+ OXYGEN_SENSOR4_VOLTAGE = 22,
+ OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23,
+ OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24,
+ OXYGEN_SENSOR5_VOLTAGE = 25,
+ OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26,
+ OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27,
+ OXYGEN_SENSOR6_VOLTAGE = 28,
+ OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29,
+ OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30,
+ OXYGEN_SENSOR7_VOLTAGE = 31,
+ OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32,
+ OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33,
+ OXYGEN_SENSOR8_VOLTAGE = 34,
+ OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35,
+ OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36,
+ FUEL_RAIL_PRESSURE = 37,
+ FUEL_RAIL_GAUGE_PRESSURE = 38,
+ COMMANDED_EXHAUST_GAS_RECIRCULATION = 39,
+ EXHAUST_GAS_RECIRCULATION_ERROR = 40,
+ COMMANDED_EVAPORATIVE_PURGE = 41,
+ FUEL_TANK_LEVEL_INPUT = 42,
+ EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43,
+ CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44,
+ CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45,
+ CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46,
+ CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47,
+ ABSOLUTE_LOAD_VALUE = 48,
+ FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49,
+ RELATIVE_THROTTLE_POSITION = 50,
+ ABSOLUTE_THROTTLE_POSITION_B = 51,
+ ABSOLUTE_THROTTLE_POSITION_C = 52,
+ ACCELERATOR_PEDAL_POSITION_D = 53,
+ ACCELERATOR_PEDAL_POSITION_E = 54,
+ ACCELERATOR_PEDAL_POSITION_F = 55,
+ COMMANDED_THROTTLE_ACTUATOR = 56,
+ ETHANOL_FUEL_PERCENTAGE = 57,
+ ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58,
+ SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59,
+ SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60,
+ SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61,
+ SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62,
+ LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63,
+ LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64,
+ LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65,
+ LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66,
+ RELATIVE_ACCELERATOR_PEDAL_POSITION = 67,
+ HYBRID_BATTERY_PACK_REMAINING_LIFE = 68,
+ FUEL_INJECTION_TIMING = 69,
+ ENGINE_FUEL_RATE = 70,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl
new file mode 100644
index 0000000..b3f13d4
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum DiagnosticIntegerSensorIndex {
+ FUEL_SYSTEM_STATUS = 0,
+ MALFUNCTION_INDICATOR_LIGHT_ON = 1,
+ IGNITION_MONITORS_SUPPORTED = 2,
+ IGNITION_SPECIFIC_MONITORS = 3,
+ INTAKE_AIR_TEMPERATURE = 4,
+ COMMANDED_SECONDARY_AIR_STATUS = 5,
+ NUM_OXYGEN_SENSORS_PRESENT = 6,
+ RUNTIME_SINCE_ENGINE_START = 7,
+ DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8,
+ WARMUPS_SINCE_CODES_CLEARED = 9,
+ DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10,
+ ABSOLUTE_BAROMETRIC_PRESSURE = 11,
+ CONTROL_MODULE_VOLTAGE = 12,
+ AMBIENT_AIR_TEMPERATURE = 13,
+ TIME_WITH_MALFUNCTION_LIGHT_ON = 14,
+ TIME_SINCE_TROUBLE_CODES_CLEARED = 15,
+ MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16,
+ MAX_OXYGEN_SENSOR_VOLTAGE = 17,
+ MAX_OXYGEN_SENSOR_CURRENT = 18,
+ MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19,
+ MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20,
+ FUEL_TYPE = 21,
+ FUEL_RAIL_ABSOLUTE_PRESSURE = 22,
+ ENGINE_OIL_TEMPERATURE = 23,
+ DRIVER_DEMAND_PERCENT_TORQUE = 24,
+ ENGINE_ACTUAL_PERCENT_TORQUE = 25,
+ ENGINE_REFERENCE_PERCENT_TORQUE = 26,
+ ENGINE_PERCENT_TORQUE_DATA_IDLE = 27,
+ ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28,
+ ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29,
+ ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30,
+ ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl
new file mode 100644
index 0000000..9772aee
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum ElectronicTollCollectionCardStatus {
+ UNKNOWN = 0,
+ ELECTRONIC_TOLL_COLLECTION_CARD_VALID = 1,
+ ELECTRONIC_TOLL_COLLECTION_CARD_INVALID = 2,
+ ELECTRONIC_TOLL_COLLECTION_CARD_NOT_INSERTED = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl
new file mode 100644
index 0000000..22cf2c3
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum ElectronicTollCollectionCardType {
+ UNKNOWN = 0,
+ JP_ELECTRONIC_TOLL_COLLECTION_CARD = 1,
+ JP_ELECTRONIC_TOLL_COLLECTION_CARD_V2 = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvConnectorType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvConnectorType.aidl
new file mode 100644
index 0000000..b469578
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvConnectorType.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum EvConnectorType {
+ UNKNOWN = 0,
+ IEC_TYPE_1_AC = 1,
+ IEC_TYPE_2_AC = 2,
+ IEC_TYPE_3_AC = 3,
+ IEC_TYPE_4_DC = 4,
+ IEC_TYPE_1_CCS_DC = 5,
+ IEC_TYPE_2_CCS_DC = 6,
+ TESLA_ROADSTER = 7,
+ TESLA_HPWC = 8,
+ TESLA_SUPERCHARGER = 9,
+ GBT_AC = 10,
+ GBT_DC = 11,
+ OTHER = 101,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl
new file mode 100644
index 0000000..2fdb9b5
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum EvsServiceRequestIndex {
+ TYPE = 0,
+ STATE = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceState.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceState.aidl
new file mode 100644
index 0000000..df81ee7
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceState.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum EvsServiceState {
+ OFF = 0,
+ ON = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceType.aidl
new file mode 100644
index 0000000..1363a64
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/EvsServiceType.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum EvsServiceType {
+ REARVIEW = 0,
+ SURROUNDVIEW = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/FuelType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/FuelType.aidl
new file mode 100644
index 0000000..14bb61b
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/FuelType.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum FuelType {
+ FUEL_TYPE_UNKNOWN = 0,
+ FUEL_TYPE_UNLEADED = 1,
+ FUEL_TYPE_LEADED = 2,
+ FUEL_TYPE_DIESEL_1 = 3,
+ FUEL_TYPE_DIESEL_2 = 4,
+ FUEL_TYPE_BIODIESEL = 5,
+ FUEL_TYPE_E85 = 6,
+ FUEL_TYPE_LPG = 7,
+ FUEL_TYPE_CNG = 8,
+ FUEL_TYPE_LNG = 9,
+ FUEL_TYPE_ELECTRIC = 10,
+ FUEL_TYPE_HYDROGEN = 11,
+ FUEL_TYPE_OTHER = 12,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueRequests.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueRequests.aidl
new file mode 100644
index 0000000..c263a9d
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueRequests.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable GetValueRequests {
+ android.hardware.automotive.vehicle.VehiclePropValue[] payloads;
+ long[] requestId;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResult.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResult.aidl
new file mode 100644
index 0000000..60c46e4
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResult.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable GetValueResult {
+ long requestId;
+ android.hardware.automotive.vehicle.StatusCode status = android.hardware.automotive.vehicle.StatusCode.OK;
+ @nullable android.hardware.automotive.vehicle.VehiclePropValue prop;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResults.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResults.aidl
new file mode 100644
index 0000000..778ba8e
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/GetValueResults.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable GetValueResults {
+ android.hardware.automotive.vehicle.GetValueResult[] payloads;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicle.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicle.aidl
new file mode 100644
index 0000000..b5f62aa
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicle.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+interface IVehicle {
+ android.hardware.automotive.vehicle.VehiclePropConfigs getAllPropConfigs();
+ android.hardware.automotive.vehicle.VehiclePropConfigs getPropConfigs(in int[] props);
+ void getValues(android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.GetValueRequests requests);
+ void setValues(android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.SetValueRequests requests);
+ void subscribe(in android.hardware.automotive.vehicle.IVehicleCallback callback, in android.hardware.automotive.vehicle.SubscribeOptions[] options, int maxSharedMemoryFileCount);
+ void unsubscribe(in android.hardware.automotive.vehicle.IVehicleCallback callback, in int[] propIds);
+ void returnSharedMemory(in android.hardware.automotive.vehicle.IVehicleCallback callback, long sharedMemoryId);
+ const long INVALID_MEMORY_ID = 0;
+ const int MAX_SHARED_MEMORY_FILES_PER_CLIENT = 3;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicleCallback.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicleCallback.aidl
new file mode 100644
index 0000000..2c5a333
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/IVehicleCallback.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+interface IVehicleCallback {
+ oneway void onGetValues(in android.hardware.automotive.vehicle.GetValueResults responses);
+ oneway void onSetValues(in android.hardware.automotive.vehicle.SetValueResults responses);
+ oneway void onPropertyEvent(in android.hardware.automotive.vehicle.VehiclePropValues propValues, int sharedMemoryFileCount);
+ oneway void onPropertySetError(in android.hardware.automotive.vehicle.VehiclePropErrors errors);
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl
new file mode 100644
index 0000000..c2c2500
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable InitialUserInfoRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.InitialUserInfoRequestType requestType = android.hardware.automotive.vehicle.InitialUserInfoRequestType.UNKNOWN;
+ android.hardware.automotive.vehicle.UsersInfo usersInfo;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl
new file mode 100644
index 0000000..51260fa
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum InitialUserInfoRequestType {
+ UNKNOWN = 0,
+ FIRST_BOOT = 1,
+ FIRST_BOOT_AFTER_OTA = 2,
+ COLD_BOOT = 3,
+ RESUME = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl
new file mode 100644
index 0000000..ffb1781
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable InitialUserInfoResponse {
+ int requestId;
+ android.hardware.automotive.vehicle.InitialUserInfoResponseAction action = android.hardware.automotive.vehicle.InitialUserInfoResponseAction.DEFAULT;
+ android.hardware.automotive.vehicle.UserInfo userToSwitchOrCreate;
+ @utf8InCpp String userLocales;
+ @utf8InCpp String userNameToCreate;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl
new file mode 100644
index 0000000..d654b5c
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum InitialUserInfoResponseAction {
+ DEFAULT = 0,
+ SWITCH = 1,
+ CREATE = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl
new file mode 100644
index 0000000..73d4a14
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2CommonIgnitionMonitors {
+ COMPONENTS_AVAILABLE = 1,
+ COMPONENTS_INCOMPLETE = 2,
+ FUEL_SYSTEM_AVAILABLE = 4,
+ FUEL_SYSTEM_INCOMPLETE = 8,
+ MISFIRE_AVAILABLE = 16,
+ MISFIRE_INCOMPLETE = 32,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl
new file mode 100644
index 0000000..01104c1
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2CompressionIgnitionMonitors {
+ COMPONENTS_AVAILABLE = 1,
+ COMPONENTS_INCOMPLETE = 2,
+ FUEL_SYSTEM_AVAILABLE = 4,
+ FUEL_SYSTEM_INCOMPLETE = 8,
+ MISFIRE_AVAILABLE = 16,
+ MISFIRE_INCOMPLETE = 32,
+ EGR_OR_VVT_AVAILABLE = 64,
+ EGR_OR_VVT_INCOMPLETE = 128,
+ PM_FILTER_AVAILABLE = 256,
+ PM_FILTER_INCOMPLETE = 512,
+ EXHAUST_GAS_SENSOR_AVAILABLE = 1024,
+ EXHAUST_GAS_SENSOR_INCOMPLETE = 2048,
+ BOOST_PRESSURE_AVAILABLE = 4096,
+ BOOST_PRESSURE_INCOMPLETE = 8192,
+ NOx_SCR_AVAILABLE = 16384,
+ NOx_SCR_INCOMPLETE = 32768,
+ NMHC_CATALYST_AVAILABLE = 65536,
+ NMHC_CATALYST_INCOMPLETE = 131072,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl
new file mode 100644
index 0000000..9d588ea
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2FuelSystemStatus {
+ OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 1,
+ CLOSED_LOOP = 2,
+ OPEN_ENGINE_LOAD_OR_DECELERATION = 4,
+ OPEN_SYSTEM_FAILURE = 8,
+ CLOSED_LOOP_BUT_FEEDBACK_FAULT = 16,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelType.aidl
new file mode 100644
index 0000000..3ab3920
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2FuelType.aidl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2FuelType {
+ NOT_AVAILABLE = 0,
+ GASOLINE = 1,
+ METHANOL = 2,
+ ETHANOL = 3,
+ DIESEL = 4,
+ LPG = 5,
+ CNG = 6,
+ PROPANE = 7,
+ ELECTRIC = 8,
+ BIFUEL_RUNNING_GASOLINE = 9,
+ BIFUEL_RUNNING_METHANOL = 10,
+ BIFUEL_RUNNING_ETHANOL = 11,
+ BIFUEL_RUNNING_LPG = 12,
+ BIFUEL_RUNNING_CNG = 13,
+ BIFUEL_RUNNING_PROPANE = 14,
+ BIFUEL_RUNNING_ELECTRIC = 15,
+ BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 16,
+ HYBRID_GASOLINE = 17,
+ HYBRID_ETHANOL = 18,
+ HYBRID_DIESEL = 19,
+ HYBRID_ELECTRIC = 20,
+ HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 21,
+ HYBRID_REGENERATIVE = 22,
+ BIFUEL_RUNNING_DIESEL = 23,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl
new file mode 100644
index 0000000..ec8f1c2
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2IgnitionMonitorKind {
+ SPARK = 0,
+ COMPRESSION = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl
new file mode 100644
index 0000000..7f445bf
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2SecondaryAirStatus {
+ UPSTREAM = 1,
+ DOWNSTREAM_OF_CATALYCIC_CONVERTER = 2,
+ FROM_OUTSIDE_OR_OFF = 4,
+ PUMP_ON_FOR_DIAGNOSTICS = 8,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl
new file mode 100644
index 0000000..badc29c
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum Obd2SparkIgnitionMonitors {
+ COMPONENTS_AVAILABLE = 1,
+ COMPONENTS_INCOMPLETE = 2,
+ FUEL_SYSTEM_AVAILABLE = 4,
+ FUEL_SYSTEM_INCOMPLETE = 8,
+ MISFIRE_AVAILABLE = 16,
+ MISFIRE_INCOMPLETE = 32,
+ EGR_AVAILABLE = 64,
+ EGR_INCOMPLETE = 128,
+ OXYGEN_SENSOR_HEATER_AVAILABLE = 256,
+ OXYGEN_SENSOR_HEATER_INCOMPLETE = 512,
+ OXYGEN_SENSOR_AVAILABLE = 1024,
+ OXYGEN_SENSOR_INCOMPLETE = 2048,
+ AC_REFRIGERANT_AVAILABLE = 4096,
+ AC_REFRIGERANT_INCOMPLETE = 8192,
+ SECONDARY_AIR_SYSTEM_AVAILABLE = 16384,
+ SECONDARY_AIR_SYSTEM_INCOMPLETE = 32768,
+ EVAPORATIVE_SYSTEM_AVAILABLE = 65536,
+ EVAPORATIVE_SYSTEM_INCOMPLETE = 131072,
+ HEATED_CATALYST_AVAILABLE = 262144,
+ HEATED_CATALYST_INCOMPLETE = 524288,
+ CATALYST_AVAILABLE = 1048576,
+ CATALYST_INCOMPLETE = 2097152,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/PortLocationType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/PortLocationType.aidl
new file mode 100644
index 0000000..b831c7e
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/PortLocationType.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum PortLocationType {
+ UNKNOWN = 0,
+ FRONT_LEFT = 1,
+ FRONT_RIGHT = 2,
+ REAR_RIGHT = 3,
+ REAR_LEFT = 4,
+ FRONT = 5,
+ REAR = 6,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl
new file mode 100644
index 0000000..f2838ad
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum ProcessTerminationReason {
+ NOT_RESPONDING = 1,
+ IO_OVERUSE = 2,
+ MEMORY_OVERUSE = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RawPropValues.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RawPropValues.aidl
new file mode 100644
index 0000000..e553d60
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RawPropValues.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable RawPropValues {
+ int[] int32Values = {};
+ float[] floatValues;
+ long[] int64Values;
+ byte[] byteValues;
+ @utf8InCpp String stringValue;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RemoveUserRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RemoveUserRequest.aidl
new file mode 100644
index 0000000..6861309
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RemoveUserRequest.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable RemoveUserRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.UserInfo removedUserInfo;
+ android.hardware.automotive.vehicle.UsersInfo usersInfo;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RotaryInputType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RotaryInputType.aidl
new file mode 100644
index 0000000..ff90034
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/RotaryInputType.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum RotaryInputType {
+ ROTARY_INPUT_TYPE_SYSTEM_NAVIGATION = 0,
+ ROTARY_INPUT_TYPE_AUDIO_VOLUME = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequest.aidl
new file mode 100644
index 0000000..82e7551
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequest.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SetValueRequest {
+ android.hardware.automotive.vehicle.VehiclePropValue value;
+ long requestId;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequests.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequests.aidl
new file mode 100644
index 0000000..ea9ac9a
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueRequests.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SetValueRequests {
+ android.hardware.automotive.vehicle.SetValueRequest[] payloads;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResult.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResult.aidl
new file mode 100644
index 0000000..6c25bc8
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResult.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SetValueResult {
+ long requestId;
+ android.hardware.automotive.vehicle.StatusCode status = android.hardware.automotive.vehicle.StatusCode.OK;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResults.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResults.aidl
new file mode 100644
index 0000000..65ff8f0
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SetValueResults.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SetValueResults {
+ android.hardware.automotive.vehicle.SetValueResult[] payloads;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/StatusCode.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/StatusCode.aidl
new file mode 100644
index 0000000..9b72412
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/StatusCode.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum StatusCode {
+ OK = 0,
+ TRY_AGAIN = 1,
+ INVALID_ARG = 2,
+ NOT_AVAILABLE = 3,
+ ACCESS_DENIED = 4,
+ INTERNAL_ERROR = 5,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SubscribeOptions.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SubscribeOptions.aidl
new file mode 100644
index 0000000..dcefd09
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SubscribeOptions.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SubscribeOptions {
+ int propId;
+ int[] areaIds;
+ float sampleRate;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl
new file mode 100644
index 0000000..a3e59f1
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum SwitchUserMessageType {
+ UNKNOWN = 0,
+ LEGACY_ANDROID_SWITCH = 1,
+ ANDROID_SWITCH = 2,
+ VEHICLE_RESPONSE = 3,
+ VEHICLE_REQUEST = 4,
+ ANDROID_POST_SWITCH = 5,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserRequest.aidl
new file mode 100644
index 0000000..bb18e02
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserRequest.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SwitchUserRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.SwitchUserMessageType messageType = android.hardware.automotive.vehicle.SwitchUserMessageType.UNKNOWN;
+ android.hardware.automotive.vehicle.UserInfo targetUser;
+ android.hardware.automotive.vehicle.UsersInfo usersInfo;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserResponse.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserResponse.aidl
new file mode 100644
index 0000000..efc1911
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserResponse.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable SwitchUserResponse {
+ int requestId;
+ android.hardware.automotive.vehicle.SwitchUserMessageType messageType = android.hardware.automotive.vehicle.SwitchUserMessageType.UNKNOWN;
+ android.hardware.automotive.vehicle.SwitchUserStatus status = android.hardware.automotive.vehicle.SwitchUserStatus.SUCCESS;
+ @utf8InCpp String errorMessage;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserStatus.aidl
new file mode 100644
index 0000000..c7be9ec
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/SwitchUserStatus.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum SwitchUserStatus {
+ SUCCESS = 1,
+ FAILURE = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl
new file mode 100644
index 0000000..2b872ab
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserFlags.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum UserFlags {
+ NONE = 0,
+ SYSTEM = 1,
+ GUEST = 2,
+ EPHEMERAL = 4,
+ ADMIN = 8,
+ DISABLED = 16,
+ PROFILE = 32,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl
new file mode 100644
index 0000000..a0f9879
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserIdentificationAssociation {
+ android.hardware.automotive.vehicle.UserIdentificationAssociationType type = android.hardware.automotive.vehicle.UserIdentificationAssociationType.INVALID;
+ android.hardware.automotive.vehicle.UserIdentificationAssociationValue value = android.hardware.automotive.vehicle.UserIdentificationAssociationValue.UNKNOWN;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl
new file mode 100644
index 0000000..1fd9ee8
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum UserIdentificationAssociationSetValue {
+ INVALID = 0,
+ ASSOCIATE_CURRENT_USER = 1,
+ DISASSOCIATE_CURRENT_USER = 2,
+ DISASSOCIATE_ALL_USERS = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl
new file mode 100644
index 0000000..6498375
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum UserIdentificationAssociationType {
+ INVALID = 0,
+ KEY_FOB = 1,
+ CUSTOM_1 = 101,
+ CUSTOM_2 = 102,
+ CUSTOM_3 = 103,
+ CUSTOM_4 = 104,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl
new file mode 100644
index 0000000..d5e0169
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum UserIdentificationAssociationValue {
+ UNKNOWN = 1,
+ ASSOCIATED_CURRENT_USER = 2,
+ ASSOCIATED_ANOTHER_USER = 3,
+ NOT_ASSOCIATED_ANY_USER = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl
new file mode 100644
index 0000000..744030e
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserIdentificationGetRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.UserInfo userInfo;
+ int numberAssociationTypes;
+ android.hardware.automotive.vehicle.UserIdentificationAssociationType[] associationTypes;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl
new file mode 100644
index 0000000..b47b003
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserIdentificationResponse {
+ int requestId;
+ int numberAssociation;
+ android.hardware.automotive.vehicle.UserIdentificationAssociation[] associations;
+ @utf8InCpp String errorMessage;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl
new file mode 100644
index 0000000..5297349
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserIdentificationSetAssociation {
+ android.hardware.automotive.vehicle.UserIdentificationAssociationType type = android.hardware.automotive.vehicle.UserIdentificationAssociationType.INVALID;
+ android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue value = android.hardware.automotive.vehicle.UserIdentificationAssociationSetValue.INVALID;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl
new file mode 100644
index 0000000..725040d
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserIdentificationSetRequest {
+ int requestId;
+ android.hardware.automotive.vehicle.UserInfo userInfo;
+ int numberAssociations;
+ android.hardware.automotive.vehicle.UserIdentificationSetAssociation[] associations;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl
new file mode 100644
index 0000000..b9cf894
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UserInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UserInfo {
+ int userId = 0;
+ android.hardware.automotive.vehicle.UserFlags flags = android.hardware.automotive.vehicle.UserFlags.NONE;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UsersInfo.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UsersInfo.aidl
new file mode 100644
index 0000000..7234316
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/UsersInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable UsersInfo {
+ android.hardware.automotive.vehicle.UserInfo currentUser;
+ int numberUsers;
+ android.hardware.automotive.vehicle.UserInfo[] existingUsers;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl
new file mode 100644
index 0000000..7e48eba
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleApPowerStateConfigFlag {
+ ENABLE_DEEP_SLEEP_FLAG = 1,
+ CONFIG_SUPPORT_TIMER_POWER_ON_FLAG = 2,
+ ENABLE_HIBERNATION_FLAG = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl
new file mode 100644
index 0000000..fc669ec
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleApPowerStateReport {
+ WAIT_FOR_VHAL = 1,
+ DEEP_SLEEP_ENTRY = 2,
+ DEEP_SLEEP_EXIT = 3,
+ SHUTDOWN_POSTPONE = 4,
+ SHUTDOWN_START = 5,
+ ON = 6,
+ SHUTDOWN_PREPARE = 7,
+ SHUTDOWN_CANCELLED = 8,
+ HIBERNATION_ENTRY = 9,
+ HIBERNATION_EXIT = 10,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl
new file mode 100644
index 0000000..8b94d31
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleApPowerStateReq {
+ ON = 0,
+ SHUTDOWN_PREPARE = 1,
+ CANCEL_SHUTDOWN = 2,
+ FINISHED = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl
new file mode 100644
index 0000000..f995c73
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleApPowerStateReqIndex {
+ STATE = 0,
+ ADDITIONAL = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl
new file mode 100644
index 0000000..3fde1c7
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleApPowerStateShutdownParam {
+ SHUTDOWN_IMMEDIATELY = 1,
+ CAN_SLEEP = 2,
+ SHUTDOWN_ONLY = 3,
+ SLEEP_IMMEDIATELY = 4,
+ HIBERNATE_IMMEDIATELY = 5,
+ CAN_HIBERNATE = 6,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleArea.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleArea.aidl
new file mode 100644
index 0000000..4f8b917
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleArea.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleArea {
+ GLOBAL = 16777216,
+ WINDOW = 50331648,
+ MIRROR = 67108864,
+ SEAT = 83886080,
+ DOOR = 100663296,
+ WHEEL = 117440512,
+ MASK = 251658240,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
new file mode 100644
index 0000000..7a42ec8
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehicleAreaConfig {
+ int areaId;
+ int minInt32Value;
+ int maxInt32Value;
+ long minInt64Value;
+ long maxInt64Value;
+ float minFloatValue;
+ float maxFloatValue;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl
new file mode 100644
index 0000000..11139f9
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleAreaDoor {
+ ROW_1_LEFT = 1,
+ ROW_1_RIGHT = 4,
+ ROW_2_LEFT = 16,
+ ROW_2_RIGHT = 64,
+ ROW_3_LEFT = 256,
+ ROW_3_RIGHT = 1024,
+ HOOD = 268435456,
+ REAR = 536870912,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl
new file mode 100644
index 0000000..c1e2fbd
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleAreaMirror {
+ DRIVER_LEFT = 1,
+ DRIVER_RIGHT = 2,
+ DRIVER_CENTER = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl
new file mode 100644
index 0000000..e76de32
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleAreaSeat {
+ ROW_1_LEFT = 1,
+ ROW_1_CENTER = 2,
+ ROW_1_RIGHT = 4,
+ ROW_2_LEFT = 16,
+ ROW_2_CENTER = 32,
+ ROW_2_RIGHT = 64,
+ ROW_3_LEFT = 256,
+ ROW_3_CENTER = 512,
+ ROW_3_RIGHT = 1024,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl
new file mode 100644
index 0000000..9e83434
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleAreaWheel {
+ UNKNOWN = 0,
+ LEFT_FRONT = 1,
+ RIGHT_FRONT = 2,
+ LEFT_REAR = 4,
+ RIGHT_REAR = 8,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl
new file mode 100644
index 0000000..6ec26fe
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleAreaWindow {
+ FRONT_WINDSHIELD = 1,
+ REAR_WINDSHIELD = 2,
+ ROW_1_LEFT = 16,
+ ROW_1_RIGHT = 64,
+ ROW_2_LEFT = 256,
+ ROW_2_RIGHT = 1024,
+ ROW_3_LEFT = 4096,
+ ROW_3_RIGHT = 16384,
+ ROOF_TOP_1 = 65536,
+ ROOF_TOP_2 = 131072,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleDisplay.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleDisplay.aidl
new file mode 100644
index 0000000..5aeafa4
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleDisplay.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleDisplay {
+ MAIN = 0,
+ INSTRUMENT_CLUSTER = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleGear.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleGear.aidl
new file mode 100644
index 0000000..db4760d
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleGear.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleGear {
+ GEAR_UNKNOWN = 0,
+ GEAR_NEUTRAL = 1,
+ GEAR_REVERSE = 2,
+ GEAR_PARK = 4,
+ GEAR_DRIVE = 8,
+ GEAR_1 = 16,
+ GEAR_2 = 32,
+ GEAR_3 = 64,
+ GEAR_4 = 128,
+ GEAR_5 = 256,
+ GEAR_6 = 512,
+ GEAR_7 = 1024,
+ GEAR_8 = 2048,
+ GEAR_9 = 4096,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl
new file mode 100644
index 0000000..a85751f
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleHvacFanDirection {
+ UNKNOWN = 0,
+ FACE = 1,
+ FLOOR = 2,
+ FACE_AND_FLOOR = 3,
+ DEFROST = 4,
+ DEFROST_AND_FLOOR = 6,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl
new file mode 100644
index 0000000..c4ac002
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleHwKeyInputAction {
+ ACTION_DOWN = 0,
+ ACTION_UP = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl
new file mode 100644
index 0000000..09d5423
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleIgnitionState {
+ UNDEFINED = 0,
+ LOCK = 1,
+ OFF = 2,
+ ACC = 3,
+ ON = 4,
+ START = 5,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightState.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightState.aidl
new file mode 100644
index 0000000..d569851
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleLightState {
+ OFF = 0,
+ ON = 1,
+ DAYTIME_RUNNING = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl
new file mode 100644
index 0000000..0d3c636
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleLightSwitch {
+ OFF = 0,
+ ON = 1,
+ DAYTIME_RUNNING = 2,
+ AUTOMATIC = 256,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleOilLevel.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleOilLevel.aidl
new file mode 100644
index 0000000..f2eb5aa
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleOilLevel.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleOilLevel {
+ CRITICALLY_LOW = 0,
+ LOW = 1,
+ NORMAL = 2,
+ HIGH = 3,
+ ERROR = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfig.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
new file mode 100644
index 0000000..16ba6db
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropConfig {
+ int prop;
+ android.hardware.automotive.vehicle.VehiclePropertyAccess access = android.hardware.automotive.vehicle.VehiclePropertyAccess.NONE;
+ android.hardware.automotive.vehicle.VehiclePropertyChangeMode changeMode = android.hardware.automotive.vehicle.VehiclePropertyChangeMode.STATIC;
+ android.hardware.automotive.vehicle.VehicleAreaConfig[] areaConfigs;
+ int[] configArray;
+ @utf8InCpp String configString;
+ float minSampleRate;
+ float maxSampleRate;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl
new file mode 100644
index 0000000..e5d146d
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropConfigs {
+ android.hardware.automotive.vehicle.VehiclePropConfig[] payloads;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropError.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropError.aidl
new file mode 100644
index 0000000..8b2e104
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropError.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropError {
+ int propId;
+ int areaId;
+ android.hardware.automotive.vehicle.StatusCode errorCode = android.hardware.automotive.vehicle.StatusCode.OK;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropErrors.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropErrors.aidl
new file mode 100644
index 0000000..6303d3a
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropErrors.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropErrors {
+ android.hardware.automotive.vehicle.VehiclePropError[] payloads;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValue.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValue.aidl
new file mode 100644
index 0000000..fc1ae53
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValue.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropValue {
+ long timestamp;
+ int areaId;
+ int prop;
+ android.hardware.automotive.vehicle.VehiclePropertyStatus status = android.hardware.automotive.vehicle.VehiclePropertyStatus.AVAILABLE;
+ android.hardware.automotive.vehicle.RawPropValues value;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValues.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValues.aidl
new file mode 100644
index 0000000..da8c60b
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropValues.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@VintfStability
+parcelable VehiclePropValues {
+ android.hardware.automotive.vehicle.VehiclePropValue[] payloads;
+ long sharedMemoryId;
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleProperty.aidl
new file mode 100644
index 0000000..4af3e5b
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleProperty.aidl
@@ -0,0 +1,196 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleProperty {
+ INVALID = 0,
+ INFO_VIN = 286261504,
+ INFO_MAKE = 286261505,
+ INFO_MODEL = 286261506,
+ INFO_MODEL_YEAR = 289407235,
+ INFO_FUEL_CAPACITY = 291504388,
+ INFO_FUEL_TYPE = 289472773,
+ INFO_EV_BATTERY_CAPACITY = 291504390,
+ INFO_EV_CONNECTOR_TYPE = 289472775,
+ INFO_FUEL_DOOR_LOCATION = 289407240,
+ INFO_EV_PORT_LOCATION = 289407241,
+ INFO_DRIVER_SEAT = 356516106,
+ INFO_EXTERIOR_DIMENSIONS = 289472779,
+ INFO_MULTI_EV_PORT_LOCATIONS = 289472780,
+ PERF_ODOMETER = 291504644,
+ PERF_VEHICLE_SPEED = 291504647,
+ PERF_VEHICLE_SPEED_DISPLAY = 291504648,
+ PERF_STEERING_ANGLE = 291504649,
+ PERF_REAR_STEERING_ANGLE = 291504656,
+ ENGINE_COOLANT_TEMP = 291504897,
+ ENGINE_OIL_LEVEL = 289407747,
+ ENGINE_OIL_TEMP = 291504900,
+ ENGINE_RPM = 291504901,
+ WHEEL_TICK = 290521862,
+ FUEL_LEVEL = 291504903,
+ FUEL_DOOR_OPEN = 287310600,
+ EV_BATTERY_LEVEL = 291504905,
+ EV_CHARGE_PORT_OPEN = 287310602,
+ EV_CHARGE_PORT_CONNECTED = 287310603,
+ EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 291504908,
+ RANGE_REMAINING = 291504904,
+ TIRE_PRESSURE = 392168201,
+ CRITICALLY_LOW_TIRE_PRESSURE = 392168202,
+ GEAR_SELECTION = 289408000,
+ CURRENT_GEAR = 289408001,
+ PARKING_BRAKE_ON = 287310850,
+ PARKING_BRAKE_AUTO_APPLY = 287310851,
+ FUEL_LEVEL_LOW = 287310853,
+ NIGHT_MODE = 287310855,
+ TURN_SIGNAL_STATE = 289408008,
+ IGNITION_STATE = 289408009,
+ ABS_ACTIVE = 287310858,
+ TRACTION_CONTROL_ACTIVE = 287310859,
+ HVAC_FAN_SPEED = 356517120,
+ HVAC_FAN_DIRECTION = 356517121,
+ HVAC_TEMPERATURE_CURRENT = 358614274,
+ HVAC_TEMPERATURE_SET = 358614275,
+ HVAC_DEFROSTER = 320865540,
+ HVAC_AC_ON = 354419973,
+ HVAC_MAX_AC_ON = 354419974,
+ HVAC_MAX_DEFROST_ON = 354419975,
+ HVAC_RECIRC_ON = 354419976,
+ HVAC_DUAL_ON = 354419977,
+ HVAC_AUTO_ON = 354419978,
+ HVAC_SEAT_TEMPERATURE = 356517131,
+ HVAC_SIDE_MIRROR_HEAT = 339739916,
+ HVAC_STEERING_WHEEL_HEAT = 289408269,
+ HVAC_TEMPERATURE_DISPLAY_UNITS = 289408270,
+ HVAC_ACTUAL_FAN_SPEED_RPM = 356517135,
+ HVAC_POWER_ON = 354419984,
+ HVAC_FAN_DIRECTION_AVAILABLE = 356582673,
+ HVAC_AUTO_RECIRC_ON = 354419986,
+ HVAC_SEAT_VENTILATION = 356517139,
+ HVAC_ELECTRIC_DEFROSTER_ON = 320865556,
+ HVAC_TEMPERATURE_VALUE_SUGGESTION = 291570965,
+ DISTANCE_DISPLAY_UNITS = 289408512,
+ FUEL_VOLUME_DISPLAY_UNITS = 289408513,
+ TIRE_PRESSURE_DISPLAY_UNITS = 289408514,
+ EV_BATTERY_DISPLAY_UNITS = 289408515,
+ FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = 287311364,
+ VEHICLE_SPEED_DISPLAY_UNITS = 289408517,
+ EPOCH_TIME = 290457094,
+ STORAGE_ENCRYPTION_BINDING_SEED = 292554247,
+ ENV_OUTSIDE_TEMPERATURE = 291505923,
+ AP_POWER_STATE_REQ = 289475072,
+ AP_POWER_STATE_REPORT = 289475073,
+ AP_POWER_BOOTUP_REASON = 289409538,
+ DISPLAY_BRIGHTNESS = 289409539,
+ HW_KEY_INPUT = 289475088,
+ HW_ROTARY_INPUT = 289475104,
+ HW_CUSTOM_INPUT = 289475120,
+ DOOR_POS = 373295872,
+ DOOR_MOVE = 373295873,
+ DOOR_LOCK = 371198722,
+ MIRROR_Z_POS = 339741504,
+ MIRROR_Z_MOVE = 339741505,
+ MIRROR_Y_POS = 339741506,
+ MIRROR_Y_MOVE = 339741507,
+ MIRROR_LOCK = 287312708,
+ MIRROR_FOLD = 287312709,
+ SEAT_MEMORY_SELECT = 356518784,
+ SEAT_MEMORY_SET = 356518785,
+ SEAT_BELT_BUCKLED = 354421634,
+ SEAT_BELT_HEIGHT_POS = 356518787,
+ SEAT_BELT_HEIGHT_MOVE = 356518788,
+ SEAT_FORE_AFT_POS = 356518789,
+ SEAT_FORE_AFT_MOVE = 356518790,
+ SEAT_BACKREST_ANGLE_1_POS = 356518791,
+ SEAT_BACKREST_ANGLE_1_MOVE = 356518792,
+ SEAT_BACKREST_ANGLE_2_POS = 356518793,
+ SEAT_BACKREST_ANGLE_2_MOVE = 356518794,
+ SEAT_HEIGHT_POS = 356518795,
+ SEAT_HEIGHT_MOVE = 356518796,
+ SEAT_DEPTH_POS = 356518797,
+ SEAT_DEPTH_MOVE = 356518798,
+ SEAT_TILT_POS = 356518799,
+ SEAT_TILT_MOVE = 356518800,
+ SEAT_LUMBAR_FORE_AFT_POS = 356518801,
+ SEAT_LUMBAR_FORE_AFT_MOVE = 356518802,
+ SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803,
+ SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804,
+ SEAT_HEADREST_HEIGHT_POS = 289409941,
+ SEAT_HEADREST_HEIGHT_MOVE = 356518806,
+ SEAT_HEADREST_ANGLE_POS = 356518807,
+ SEAT_HEADREST_ANGLE_MOVE = 356518808,
+ SEAT_HEADREST_FORE_AFT_POS = 356518809,
+ SEAT_HEADREST_FORE_AFT_MOVE = 356518810,
+ SEAT_OCCUPANCY = 356518832,
+ WINDOW_POS = 322964416,
+ WINDOW_MOVE = 322964417,
+ WINDOW_LOCK = 320867268,
+ VEHICLE_MAP_SERVICE = 299895808,
+ OBD2_LIVE_FRAME = 299896064,
+ OBD2_FREEZE_FRAME = 299896065,
+ OBD2_FREEZE_FRAME_INFO = 299896066,
+ OBD2_FREEZE_FRAME_CLEAR = 299896067,
+ HEADLIGHTS_STATE = 289410560,
+ HIGH_BEAM_LIGHTS_STATE = 289410561,
+ FOG_LIGHTS_STATE = 289410562,
+ HAZARD_LIGHTS_STATE = 289410563,
+ HEADLIGHTS_SWITCH = 289410576,
+ HIGH_BEAM_LIGHTS_SWITCH = 289410577,
+ FOG_LIGHTS_SWITCH = 289410578,
+ HAZARD_LIGHTS_SWITCH = 289410579,
+ CABIN_LIGHTS_STATE = 289410817,
+ CABIN_LIGHTS_SWITCH = 289410818,
+ READING_LIGHTS_STATE = 356519683,
+ READING_LIGHTS_SWITCH = 356519684,
+ SUPPORT_CUSTOMIZE_VENDOR_PERMISSION = 287313669,
+ DISABLED_OPTIONAL_FEATURES = 286265094,
+ INITIAL_USER_INFO = 299896583,
+ SWITCH_USER = 299896584,
+ CREATE_USER = 299896585,
+ REMOVE_USER = 299896586,
+ USER_IDENTIFICATION_ASSOCIATION = 299896587,
+ EVS_SERVICE_REQUEST = 289476368,
+ POWER_POLICY_REQ = 286265121,
+ POWER_POLICY_GROUP_REQ = 286265122,
+ CURRENT_POWER_POLICY = 286265123,
+ WATCHDOG_ALIVE = 290459441,
+ WATCHDOG_TERMINATED_PROCESS = 299896626,
+ VHAL_HEARTBEAT = 290459443,
+ CLUSTER_SWITCH_UI = 289410868,
+ CLUSTER_DISPLAY_STATE = 289476405,
+ CLUSTER_REPORT_STATE = 299896630,
+ CLUSTER_REQUEST_DISPLAY = 289410871,
+ CLUSTER_NAVIGATION_STATE = 292556600,
+ ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = 289410873,
+ ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = 289410874,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl
new file mode 100644
index 0000000..ec9587f
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehiclePropertyAccess {
+ NONE = 0,
+ READ = 1,
+ WRITE = 2,
+ READ_WRITE = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl
new file mode 100644
index 0000000..5455fdd
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehiclePropertyChangeMode {
+ STATIC = 0,
+ ON_CHANGE = 1,
+ CONTINUOUS = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
new file mode 100644
index 0000000..0c049c4
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehiclePropertyGroup {
+ SYSTEM = 268435456,
+ VENDOR = 536870912,
+ MASK = -268435456,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl
new file mode 100644
index 0000000..6d0e041
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehiclePropertyStatus {
+ AVAILABLE = 0,
+ UNAVAILABLE = 1,
+ ERROR = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyType.aidl
new file mode 100644
index 0000000..da6d2c2
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehiclePropertyType.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehiclePropertyType {
+ STRING = 1048576,
+ BOOLEAN = 2097152,
+ INT32 = 4194304,
+ INT32_VEC = 4259840,
+ INT64 = 5242880,
+ INT64_VEC = 5308416,
+ FLOAT = 6291456,
+ FLOAT_VEC = 6356992,
+ BYTES = 7340032,
+ MIXED = 14680064,
+ MASK = 16711680,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl
new file mode 100644
index 0000000..3e870e8
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleSeatOccupancyState {
+ UNKNOWN = 0,
+ VACANT = 1,
+ OCCUPIED = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl
new file mode 100644
index 0000000..78c1795
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleTurnSignal {
+ NONE = 0,
+ RIGHT = 1,
+ LEFT = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleUnit.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleUnit.aidl
new file mode 100644
index 0000000..034dec5
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleUnit.aidl
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleUnit {
+ SHOULD_NOT_USE = 0,
+ METER_PER_SEC = 1,
+ RPM = 2,
+ HERTZ = 3,
+ PERCENTILE = 16,
+ MILLIMETER = 32,
+ METER = 33,
+ KILOMETER = 35,
+ MILE = 36,
+ CELSIUS = 48,
+ FAHRENHEIT = 49,
+ KELVIN = 50,
+ MILLILITER = 64,
+ LITER = 65,
+ GALLON = 66,
+ US_GALLON = 66,
+ IMPERIAL_GALLON = 67,
+ NANO_SECS = 80,
+ SECS = 83,
+ YEAR = 89,
+ WATT_HOUR = 96,
+ MILLIAMPERE = 97,
+ MILLIVOLT = 98,
+ MILLIWATTS = 99,
+ AMPERE_HOURS = 100,
+ KILOWATT_HOUR = 101,
+ KILOPASCAL = 112,
+ PSI = 113,
+ BAR = 114,
+ DEGREES = 128,
+ MILES_PER_HOUR = 144,
+ KILOMETERS_PER_HOUR = 145,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl
new file mode 100644
index 0000000..58524f3
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VehicleVendorPermission {
+ PERMISSION_DEFAULT = 0,
+ PERMISSION_SET_VENDOR_CATEGORY_WINDOW = 1,
+ PERMISSION_GET_VENDOR_CATEGORY_WINDOW = 2,
+ PERMISSION_SET_VENDOR_CATEGORY_DOOR = 3,
+ PERMISSION_GET_VENDOR_CATEGORY_DOOR = 4,
+ PERMISSION_SET_VENDOR_CATEGORY_SEAT = 5,
+ PERMISSION_GET_VENDOR_CATEGORY_SEAT = 6,
+ PERMISSION_SET_VENDOR_CATEGORY_MIRROR = 7,
+ PERMISSION_GET_VENDOR_CATEGORY_MIRROR = 8,
+ PERMISSION_SET_VENDOR_CATEGORY_INFO = 9,
+ PERMISSION_GET_VENDOR_CATEGORY_INFO = 10,
+ PERMISSION_SET_VENDOR_CATEGORY_ENGINE = 11,
+ PERMISSION_GET_VENDOR_CATEGORY_ENGINE = 12,
+ PERMISSION_SET_VENDOR_CATEGORY_HVAC = 13,
+ PERMISSION_GET_VENDOR_CATEGORY_HVAC = 14,
+ PERMISSION_SET_VENDOR_CATEGORY_LIGHT = 15,
+ PERMISSION_GET_VENDOR_CATEGORY_LIGHT = 16,
+ PERMISSION_SET_VENDOR_CATEGORY_1 = 65536,
+ PERMISSION_GET_VENDOR_CATEGORY_1 = 69632,
+ PERMISSION_SET_VENDOR_CATEGORY_2 = 131072,
+ PERMISSION_GET_VENDOR_CATEGORY_2 = 135168,
+ PERMISSION_SET_VENDOR_CATEGORY_3 = 196608,
+ PERMISSION_GET_VENDOR_CATEGORY_3 = 200704,
+ PERMISSION_SET_VENDOR_CATEGORY_4 = 262144,
+ PERMISSION_GET_VENDOR_CATEGORY_4 = 266240,
+ PERMISSION_SET_VENDOR_CATEGORY_5 = 327680,
+ PERMISSION_GET_VENDOR_CATEGORY_5 = 331776,
+ PERMISSION_SET_VENDOR_CATEGORY_6 = 393216,
+ PERMISSION_GET_VENDOR_CATEGORY_6 = 397312,
+ PERMISSION_SET_VENDOR_CATEGORY_7 = 458752,
+ PERMISSION_GET_VENDOR_CATEGORY_7 = 462848,
+ PERMISSION_SET_VENDOR_CATEGORY_8 = 524288,
+ PERMISSION_GET_VENDOR_CATEGORY_8 = 528384,
+ PERMISSION_SET_VENDOR_CATEGORY_9 = 589824,
+ PERMISSION_GET_VENDOR_CATEGORY_9 = 593920,
+ PERMISSION_SET_VENDOR_CATEGORY_10 = 655360,
+ PERMISSION_GET_VENDOR_CATEGORY_10 = 659456,
+ PERMISSION_NOT_ACCESSIBLE = -268435456,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl
new file mode 100644
index 0000000..0dcfbc4
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsAvailabilityStateIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ SEQUENCE_NUMBER = 1,
+ NUMBER_OF_ASSOCIATED_LAYERS = 2,
+ LAYERS_START = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl
new file mode 100644
index 0000000..45514d0
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsBaseMessageIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageType.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageType.aidl
new file mode 100644
index 0000000..1248c06
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageType.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsMessageType {
+ SUBSCRIBE = 1,
+ SUBSCRIBE_TO_PUBLISHER = 2,
+ UNSUBSCRIBE = 3,
+ UNSUBSCRIBE_TO_PUBLISHER = 4,
+ OFFERING = 5,
+ AVAILABILITY_REQUEST = 6,
+ SUBSCRIPTIONS_REQUEST = 7,
+ AVAILABILITY_RESPONSE = 8,
+ AVAILABILITY_CHANGE = 9,
+ SUBSCRIPTIONS_RESPONSE = 10,
+ SUBSCRIPTIONS_CHANGE = 11,
+ DATA = 12,
+ PUBLISHER_ID_REQUEST = 13,
+ PUBLISHER_ID_RESPONSE = 14,
+ PUBLISHER_INFORMATION_REQUEST = 15,
+ PUBLISHER_INFORMATION_RESPONSE = 16,
+ START_SESSION = 17,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl
new file mode 100644
index 0000000..8b0e3a5
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ LAYER_TYPE = 1,
+ LAYER_SUBTYPE = 2,
+ LAYER_VERSION = 3,
+ PUBLISHER_ID = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl
new file mode 100644
index 0000000..65dd4ae
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsMessageWithLayerIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ LAYER_TYPE = 1,
+ LAYER_SUBTYPE = 2,
+ LAYER_VERSION = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl
new file mode 100644
index 0000000..fc2a9c1
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsOfferingMessageIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ PUBLISHER_ID = 1,
+ NUMBER_OF_OFFERS = 2,
+ OFFERING_START = 3,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl
new file mode 100644
index 0000000..a9b017f
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsPublisherInformationIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ PUBLISHER_ID = 1,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl
new file mode 100644
index 0000000..d942bc8
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsStartSessionMessageIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ SERVICE_ID = 1,
+ CLIENT_ID = 2,
+}
diff --git a/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl
new file mode 100644
index 0000000..796d7f7
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_api/android.hardware.automotive.vehicle/current/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.automotive.vehicle;
+@Backing(type="int") @VintfStability
+enum VmsSubscriptionsStateIntegerValuesIndex {
+ MESSAGE_TYPE = 0,
+ SEQUENCE_NUMBER = 1,
+ NUMBER_OF_LAYERS = 2,
+ NUMBER_OF_ASSOCIATED_LAYERS = 3,
+ SUBSCRIPTIONS_START = 4,
+}
diff --git a/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp b/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp
new file mode 100644
index 0000000..f4f3f28
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_test/AidlHidlCompatibilityTest.cpp
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <VehicleHalTypes.h>
+#include <VehicleUtils.h>
+
+#include <android/binder_enums.h>
+#include <android/hardware/automotive/vehicle/2.0/types.h>
+#include <gtest/gtest.h>
+#include <hidl/HidlSupport.h>
+
+namespace hidl_vehicle = ::android::hardware::automotive::vehicle::V2_0;
+namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle;
+using ::android::hardware::hidl_enum_range;
+using ::ndk::enum_range;
+
+TEST(AidlHidlCompatibilityTest, testHidlPropertiesDefinedInAidl) {
+ for (const auto prop : hidl_enum_range<hidl_vehicle::VehicleProperty>()) {
+ int propInt = ::android::hardware::automotive::vehicle::toInt(prop);
+ auto aidlProperties = enum_range<aidl_vehicle::VehicleProperty>();
+
+ ASSERT_NE(std::find(aidlProperties.begin(), aidlProperties.end(),
+ static_cast<aidl_vehicle::VehicleProperty>(propInt)),
+ aidlProperties.end())
+ << "property: " << propInt << " defined in HIDL, but not defined in AIDL";
+ }
+}
diff --git a/automotive/vehicle/aidl/aidl_test/Android.bp b/automotive/vehicle/aidl/aidl_test/Android.bp
new file mode 100644
index 0000000..5284a0a
--- /dev/null
+++ b/automotive/vehicle/aidl/aidl_test/Android.bp
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_test {
+ name: "VehicleHalAidlHidlCompatibilityTest",
+ srcs: ["*.cpp"],
+ shared_libs: [
+ "libbinder_ndk",
+ "libhidlbase",
+ ],
+ static_libs: [
+ "VehicleHalUtils",
+ "android.hardware.automotive.vehicle@2.0",
+ "libgtest",
+ "libgmock",
+ ],
+ defaults: ["VehicleHalDefaults"],
+ test_suites: ["device-tests"],
+ vendor: true,
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserRequest.aidl
index 95537dc..1f7c9cc 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserRequest.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable CreateUserRequest {
/**
* Arbitrary id used to map the response to the request.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserResponse.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserResponse.aidl
index 0588052..d011366 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserResponse.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserResponse.aidl
@@ -24,7 +24,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable CreateUserResponse {
/**
* Id of the request being responded.
@@ -33,7 +33,7 @@
/**
* Status of the request.
*/
- CreateUserStatus status;
+ CreateUserStatus status = CreateUserStatus.SUCCESS;
/**
* HAL-specific error message.
*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserStatus.aidl
index f841ff6..5c8c5f0 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CreateUserStatus.aidl
@@ -19,7 +19,7 @@
/**
* Status of the response to a CreateUserRequest.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum CreateUserStatus {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CustomInputType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CustomInputType.aidl
index 1335eea..10dbfd0 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CustomInputType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/CustomInputType.aidl
@@ -19,7 +19,7 @@
/**
* Input code values for HW_CUSTOM_INPUT.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum CustomInputType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl
index 017589f..8b0c471 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticFloatSensorIndex.aidl
@@ -23,7 +23,7 @@
* While these values do not directly map to SAE J1979 PIDs, an equivalence is listed next
* to each one to aid implementors.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum DiagnosticFloatSensorIndex {
CALCULATED_ENGINE_LOAD = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl
index 86c8a45..321b7ff 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/DiagnosticIntegerSensorIndex.aidl
@@ -25,7 +25,7 @@
* While these values do not directly map to SAE J1979 PIDs, an equivalence is listed next
* to each one to aid implementors.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum DiagnosticIntegerSensorIndex {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl
index cb55ffa..94209ba 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardStatus.aidl
@@ -19,7 +19,7 @@
/**
* Used by ELECTRONIC_TOLL_COLLECTION_CARD_STATUS.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum ElectronicTollCollectionCardStatus {
UNKNOWN = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl
index 78254fb..46c5f48 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ElectronicTollCollectionCardType.aidl
@@ -19,7 +19,7 @@
/**
* Used by ELECTRONIC_TOLL_COLLECTION_CARD_TYPE.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum ElectronicTollCollectionCardType {
UNKNOWN = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvConnectorType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvConnectorType.aidl
index fc95bb0..6e77f53 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvConnectorType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvConnectorType.aidl
@@ -20,7 +20,7 @@
* Used by INFO_EV_CONNECTOR_TYPE to enumerate the type of connectors
* available to charge the vehicle.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum EvConnectorType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl
index 6853ccd..d27e032 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceRequestIndex.aidl
@@ -19,7 +19,7 @@
/**
* Index in int32VAlues for VehicleProperty#EVS_SERVICE_REQUEST property.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum EvsServiceRequestIndex {
TYPE = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceState.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceState.aidl
index e351949..ee5cd2b 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceState.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceState.aidl
@@ -19,7 +19,7 @@
/**
* Used by EVS_SERVICE_REQUEST to enumerate the service's state.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum EvsServiceState {
OFF = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceType.aidl
index 4ca241a..6c621f7 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/EvsServiceType.aidl
@@ -19,7 +19,7 @@
/**
* Used by EVS_SERVICE_REQUEST to enumerate the service's type.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum EvsServiceType {
REARVIEW = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/FuelType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/FuelType.aidl
index 131ac14..98b1fa5 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/FuelType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/FuelType.aidl
@@ -20,7 +20,7 @@
* Used by INFO_FUEL_TYPE to enumerate the type of fuels this vehicle uses.
* Consistent with projection protocol.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum FuelType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueRequests.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueRequests.aidl
new file mode 100644
index 0000000..149799e
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueRequests.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.VehiclePropValue;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable GetValueRequests {
+ // The list of properties to get if they fit the binder memory limitation.
+ VehiclePropValue[] payloads;
+ // A list of request IDs, one for each VehiclePropValue. For every client,
+ // the request ID must start with 1 and monotonically increase for every
+ // VehiclePropValue in GetValueRequests. If it hits LONG_MAX (very
+ // unlikely), it must loop back to 0.
+ long[] requestId;
+ // Shared memory file to store requests if they exceed binder memory
+ // limitation. Created by client, readable only at VHAL during the call.
+ // Caller could close it after the call.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResult.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResult.aidl
new file mode 100644
index 0000000..b099a85
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResult.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.StatusCode;
+import android.hardware.automotive.vehicle.VehiclePropValue;
+
+@VintfStability
+parcelable GetValueResult {
+ // The ID for the request this response is for.
+ long requestId;
+ // The status for the getValue operation. If this is not OK, the getValue
+ // fails and prop should be ignored.
+ StatusCode status = StatusCode.OK;
+ // Contains the property value if status is OK. Must be null if status is
+ // not OK.
+ @nullable VehiclePropValue prop;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResults.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResults.aidl
new file mode 100644
index 0000000..919e644
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/GetValueResults.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.GetValueResult;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable GetValueResults {
+ // The list of responses if they fit the binder memory limitation.
+ GetValueResult[] payloads;
+ // Shared memory file to store responses if they exceed binder memory
+ // limitation. Created by VHAL, readable only for the client.
+ // The client must close it after reading.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicle.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicle.aidl
index acb8409..a947963 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicle.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicle.aidl
@@ -16,100 +16,197 @@
package android.hardware.automotive.vehicle;
+import android.hardware.automotive.vehicle.GetValueRequests;
import android.hardware.automotive.vehicle.IVehicleCallback;
-import android.hardware.automotive.vehicle.StatusCode;
+import android.hardware.automotive.vehicle.SetValueRequests;
import android.hardware.automotive.vehicle.SubscribeOptions;
-import android.hardware.automotive.vehicle.VehiclePropConfig;
-import android.hardware.automotive.vehicle.VehiclePropValue;
+import android.hardware.automotive.vehicle.VehiclePropConfigs;
-// @VintfStability
+// Vehicle HAL interface.
+@VintfStability
interface IVehicle {
- // Adding return type to method instead of out param String s since there is only one return
- // value.
- /**
- * Print out debugging state for the vehicle hal.
- *
- * The text must be in ASCII encoding only.
- *
- * Performance requirements:
- *
- * The HAL must return from this call in less than 10ms. This call must avoid
- * deadlocks, as it may be called at any point of operation. Any synchronization
- * primitives used (such as mutex locks or semaphores) must be acquired
- * with a timeout.
- *
- */
- String debugDump();
+ /* An invalid memory ID. */
+ const long INVALID_MEMORY_ID = 0;
+ /* Maximum number of shared memory files for every subscription client. */
+ const int MAX_SHARED_MEMORY_FILES_PER_CLIENT = 3;
/**
- * Get a vehicle property value.
- *
- * For VehiclePropertyChangeMode::STATIC properties, this method must always
- * return the same value always.
- * For VehiclePropertyChangeMode::ON_CHANGE properties, it must return the
- * latest available value.
- *
- * Some properties like RADIO_PRESET requires to pass additional data in
- * GET request in VehiclePropValue object.
- *
- * If there is no data available yet, which can happen during initial stage,
- * this call must return immediately with an error code of
- * StatusCode::TRY_AGAIN.
- */
- StatusCode get(in VehiclePropValue requestedPropValue, out VehiclePropValue propValue);
-
- // Adding return type to method instead of out param VehiclePropConfig[] propConfigs since there
- // is only one return value.
- /**
* Returns a list of all property configurations supported by this vehicle
* HAL.
+ *
+ * @return A parcelable object that either contains a list of configs if
+ * they fit the binder memory limitation or a shared memory file that
+ * contains the configs. Must be parsed using
+ * {@code android-automotive-large-parcelable} library.
*/
- VehiclePropConfig[] getAllPropConfigs();
+ VehiclePropConfigs getAllPropConfigs();
/**
* Returns a list of property configurations for given properties.
*
- * If requested VehicleProperty wasn't found it must return
- * StatusCode::INVALID_ARG, otherwise a list of vehicle property
- * configurations with StatusCode::OK
+ * If one of the requested VehicleProperty wasn't found it must return
+ * {@link StatusCode#INVALID_ARG}, otherwise a list of vehicle property
+ * configurations with {@link StatusCode#OK}.
+ *
+ * @param props A list of property IDs to get configurations for.
+ * @return A parcelable object that either contains a list of configs if
+ * they fit the binder memory limitation or a shared memory file that
+ * contains the configs. Must be parsed using
+ * {@code android-automotive-large-parcelable} library.
*/
- StatusCode getPropConfigs(in int[] props, out VehiclePropConfig[] propConfigs);
+ VehiclePropConfigs getPropConfigs(in int[] props);
- // Adding return type to method instead of out param StatusCode status since there is only one
- // return value.
/**
- * Set a vehicle property value.
+ * Get vehicle property values asynchronously.
+ *
+ * The {@link IVehicleCallback#onGetValues} method will be called when
+ * values are fetched. The method might be called multiple times, and each
+ * time with a subset of properties that have been fetched. E.g., if you
+ * request properties [A, B, C], the callback might be called twice with
+ * [A, C] and with [B]. Caller should not expect any order for
+ * {@link IVehicleCallback#onGetValues}.
+ *
+ * If this method returns error, it means we fail to get all the properties.
+ * If this method returns OK, there are still chances we fail to get some
+ * properties, which are indicated by {@link GetValueResult#status}.
+ *
+ * For {@link VehiclePropertyChangeMode#STATIC} properties, this method must
+ * always return the same value.
+ * For {@link VehiclePropertyChangeMode#ON_CHANGE} properties, it must
+ * return the latest available value. For cachable properties, the value
+ * within cache would be returned without talking with the actual car bus.
+ *
+ * Some properties like {@code RADIO_PRESET} requires to pass additional
+ * data in {@link VehiclePropValue} object.
+ *
+ * If there is no data available yet, which can happen during initial stage,
+ * {@link GetValueResult#status} contains {@link StatusCode#TRY_AGAIN}.
+ *
+ * Caller must pass a unique RequestID for each request, if any of the
+ * given request ID is duplicate with one of the pending request ID, this
+ * function must return {@link StatusCode#INVALID_ARG}.
+ *
+ * To prevent confusion, duplicate properties (same property ID and same
+ * area ID) are not allowed in a single call. This function must return
+ * {@link StatusCode#INVALID_ARG} for duplicate properties.
+ *
+ * @param callback A callback interface, whose 'onGetValues' would be called
+ * after the value is fetched. Caller should use
+ * {@code android-automotive-large-parcelable} library to parse the
+ * returned {@link GetValueResult} object.
+ * @param requests An object that contains either a list of requested
+ * properties or a shared memory file that contains the properties. The
+ * object must be parsed using helper libraries on sender and receiver.
+ */
+ void getValues(IVehicleCallback callback, in GetValueRequests requests);
+
+ /**
+ * Set vehicle property values.
+ *
+ * The {@link IVehicleCallback#onSetValues} function would be called after
+ * the values set request are sent through vehicle bus or are failed to set.
+ * If the bus protocol supports confirmation, the callback would be called
+ * after getting the confirmation.
+ *
+ * For some vehicle bus such as CAN bus where confirmation is not supported,
+ * OnSetValues does not necessarily mean the value changes would be
+ * reflected in {@link #getValues} immediately.
+ *
+ * If the output status contains error, it means we fail to set all the
+ * properties. If we failed to set some of the values, they would be
+ * reflected as non OK {@link SetValueResult#status}.
+ *
+ * The order each property in the request is set is not guaranteed. If
+ * caller needs to make sure certain order in setting values, caller should
+ * set one value, wait for its callback and then set the other value.
*
* Timestamp of data must be ignored for set operation.
*
- * Setting some properties require having initial state available. If initial
- * data is not available yet this call must return StatusCode::TRY_AGAIN.
- * For a property with separate power control this call must return
- * StatusCode::NOT_AVAILABLE error if property is not powered on.
+ * Setting some properties requires having initial state available. If
+ * initial data is not available yet, the {@link SetValueResult#status}
+ * must be {@link StatusCode#TRY_AGAIN}. For a property with separate power
+ * control the {@link SetValueResult#status} must be
+ * {@link StatusCode#NOT_AVAILABLE} if property is not powered
+ * on.
+ *
+ * Caller must pass a unique RequestID for each request, if any of the
+ * given request ID is duplicate with one of the pending request ID, this
+ * function must return {@link StatusCode#INVALID_ARG}.
+ *
+ * To prevent confusion, duplicate properties (same property ID and same
+ * area ID) are not allowed in a single call. This function must return
+ * {@link StatusCode#INVALID_ARG} for duplicate properties.
+ *
+ * @param callback The callback, whose 'onSetValues' would be called after
+ * set value request is sent to bus.
+ * @param requests An object that contains a list of {@link SetValueRequest}
+ * or a shared memory file that stores the list of requests if they
+ * exceed binder memory limitation, must be parsed using helper libraries
+ * on sender and receiver.
*/
- StatusCode set(in VehiclePropValue propValue);
+ void setValues(IVehicleCallback callback, in SetValueRequests requests);
- // Adding return type to method instead of out param StatusCode status since there is only one
- // return value.
/**
* Subscribes to property events.
*
* Clients must be able to subscribe to multiple properties at a time
* depending on data provided in options argument.
*
- * @param listener This client must be called on appropriate event.
+ * For one callback, the is only one subscription for one property.
+ * A new subscription with a different sample rate would override the old
+ * subscription. One property could be subscribed multiple times for
+ * different callbacks.
+ *
+ * @param callback The subscription callbacks.
+ * {@link IVehicleCallback#onPropertyEvent} would be called when a new
+ * property event arrives.
+ * {@link IVehicleCallback#onPropertySetError} would be called when a
+ * property set request failed asynchronously. This is usually caused by
+ * a property set failure message sent from the vehicle bus.
* @param options List of options to subscribe. SubscribeOption contains
- * information such as property Id, area Id, sample rate, etc.
+ * information such as property Id, area Id, sample rate, etc.
+ * @param maxSharedMemoryFileCount The maximum number of shared memory files
+ * allocated for in VHAL for this subscription. When a memory file is
+ * handled back to the client, it cannot be used by VHAL to deliver
+ * another event until the buffer is returned to VHAL by calling
+ * returnSharedMemory. A larger maxSharedMemoryFileCount means a better
+ * performance while handling large bursts of data, but also means larger
+ * memory footprint. If you don't expect events arriving very frequently,
+ * a recommended value is 2. A value of 0 means for each new property,
+ * a new shared memory file would be created and no shared memory file
+ * would ever be reused. This should only be configured for infrequent
+ * events or devices with limited memory. This value must be >=0 and
+ * < {@link MAX_SHARED_MEMORY_FILES_PER_CLIENT}.
*/
- StatusCode subscribe(in IVehicleCallback callback, in SubscribeOptions[] options);
+ void subscribe(in IVehicleCallback callback, in SubscribeOptions[] options,
+ int maxSharedMemoryFileCount);
- // Adding return type to method instead of out param StatusCode status since there is only one
- // return value.
/**
* Unsubscribes from property events.
*
- * If this client wasn't subscribed to the given property, this method
- * must return StatusCode::INVALID_ARG.
+ * If 'callback' is not valid or 'propIds' were not subscribed for this
+ * 'callback', this method must return {@link StatusCode#INVALID_ARG}.
+ *
+ * @param callback The callback used in the previous subscription.
+ * @param propIds The IDs for the properties to unsubscribe.
*/
- StatusCode unsubscribe(in IVehicleCallback callback, in int propId);
+ void unsubscribe(in IVehicleCallback callback, in int[] propIds);
+
+ /**
+ * Return a shared memory file back to VHAL for recycle.
+ *
+ * This must be called after a shared memory file returned by
+ * {@link IVehicleCallback#onPropertyEvent} is no longer in-use by the
+ * client. This is usually called at the end of 'onPropertyEvent'.
+ *
+ * If the 'callback' is not valid or 'sharedMemoryId' does not match any
+ * SharedMemoryId in 'VehiclePropValues' passed to
+ * {@link IVehicleCallback#onPropertyEvent}, this method must return
+ * {@link StatusCode#INVALID_ARG}.
+ *
+ * @param callback The callback used in subscription.
+ * @param sharedMemoryId The ID returned by 'onPropertyEvent' representing
+ * the used shared memory file to return.
+ */
+ void returnSharedMemory(in IVehicleCallback callback, long sharedMemoryId);
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicleCallback.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicleCallback.aidl
index 1b5a1e2..2b50321 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicleCallback.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/IVehicleCallback.aidl
@@ -16,45 +16,84 @@
package android.hardware.automotive.vehicle;
+import android.hardware.automotive.vehicle.GetValueResults;
+import android.hardware.automotive.vehicle.SetValueResults;
import android.hardware.automotive.vehicle.StatusCode;
-import android.hardware.automotive.vehicle.VehiclePropValue;
+import android.hardware.automotive.vehicle.VehiclePropErrors;
+import android.hardware.automotive.vehicle.VehiclePropValues;
-// @VintfStability
+@VintfStability
interface IVehicleCallback {
/**
- * Event callback happens whenever a variable that the API user has
- * subscribed to needs to be reported. This may be based purely on
- * threshold and frequency (a regular subscription, see subscribe call's
- * arguments) or when the IVehicle#set method was called and the actual
- * change needs to be reported.
+ * Callback for {@link IVehicle#getValues} function.
*
- * These callbacks are chunked.
+ * Called when some of the values to fetch are ready. This might be called
+ * once or multiple times for one 'getValues' request. Each callback
+ * contains part of the requested values. It is guaranteed that all the
+ * requested values would be returned in one of the callbacks, but the order
+ * each values are ready is not guaranteed.
*
- * @param values that has been updated.
+ * @param responses An object either contains a list of
+ * {@link GetValueResult} if they fits the binder memory limitation or a
+ * shared memory file that contains responses. Each
+ * {@link GetValueResult} either contains the property value or contains
+ * an error happened while getting the value.
+ *
+ * {@link GetValueResult} also contains a requestId which indicates which
+ * request this response is for. The responses object should be parsed by
+ * {@code android-automotive-large-parcelable} library.
*/
- oneway void onPropertyEvent(in VehiclePropValue[] propValues);
+ oneway void onGetValues(in GetValueResults responses);
/**
- * This method gets called if the client was subscribed to a property using
- * SubscribeFlags::EVENTS_FROM_ANDROID flag and IVehicle#set(...) method was called.
+ * Callback for {@link IVehicle#setValues} function.
*
- * These events must be delivered to subscriber immediately without any
- * batching.
+ * Called when VHAL have finished handling some of the property set request.
+ * This might be called once or multiple times for one 'setValues' requests.
+ * Each callback contains part of the requested values. It is guaranteed
+ * that all the set value statuses would be returned in one of the
+ * callbacks, but the order each values are set is not guaranteed.
*
- * @param value Value that was set by a client.
+ * @param responses A list of {@link SetValueResult}. Each SetValueResult
+ * contains a status indicating the status for setting the specific
+ * property. The requestId indicates which request the response is for.
*/
- oneway void onPropertySet(in VehiclePropValue propValue);
+ oneway void onSetValues(in SetValueResults responses);
+
+ /**
+ * Event callback happens whenever one or more variables that the API user
+ * has subscribed to need to be reported. This may be based purely on
+ * threshold and frequency (a regular subscription, see subscribe call's
+ * arguments) or when the {@link IVehicle#setValues} method was called and
+ * the actual change needs to be reported.
+ *
+ * @param propValues The updated property values wrapped in an object.
+ * If the properties fit within binder limitation, they would be in
+ * {@code propValues.payloads}, otherwise, they would be in a shared
+ * memory file {@code propValues.sharedMemoryFd}.
+ * The shared memory file is created by VHAL and must be returned to
+ * VHAL using {@link IVehicle#returnSharedMemory} after use. There are
+ * limited number of memory files created for each subscription, if
+ * the client doesn't return the shared memory, the client might not get
+ * event in the future.
+ * @param sharedMemoryFileCount Number of shared memory file allocated for
+ * this subscription. This value could be used to tweak
+ * {@code maxSharedMemoryFileCount} in {@link IVehicle#subscribe}. For
+ * example, if you usually see sharedMemoryFileCount being the
+ * maxSharedMemoryFileCount you set, this means you might need to
+ * increase maxSharedMemoryFileCount.
+ */
+ oneway void onPropertyEvent(in VehiclePropValues propValues, int sharedMemoryFileCount);
/**
* Set property value is usually asynchronous operation. Thus even if
- * client received StatusCode::OK from the IVehicle::set(...) this
- * doesn't guarantee that the value was successfully propagated to the
- * vehicle network. If such rare event occurs this method must be called.
+ * client received {@link StatusCode#OK} from {@link IVehicle#setValues}, or
+ * received {@link StatusCode#OK} in {@link #onSetValues}, this doesn't
+ * guarantee that the value was successfully propagated to the vehicle
+ * network. If such rare event occurs this method must be called.
*
- * @param errorCode - any value from StatusCode enum.
- * @param property - a property where error has happened.
- * @param areaId - bitmask that specifies in which areas the problem has
- * occurred, must be 0 for global properties
+ * @param errors A list of property set errors. If the VHAL implementation
+ * does not batch the errors, this may only contain one error.
*/
- oneway void onPropertySetError(in StatusCode errorCode, in int propId, in int areaId);
+ oneway void onPropertySetError(in VehiclePropErrors errors);
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl
index 12746ce..7879d44 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequest.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable InitialUserInfoRequest {
/**
* Arbitrary id used to map the HAL response to the request.
@@ -34,7 +34,7 @@
/**
* Type of request.
*/
- InitialUserInfoRequestType requestType;
+ InitialUserInfoRequestType requestType = InitialUserInfoRequestType.UNKNOWN;
/**
* Information about the current state of the Android system.
*/
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl
index 12fec24..829a63a 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoRequestType.aidl
@@ -19,9 +19,10 @@
/**
* Defines when a INITIAL_USER_INFO request was made.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum InitialUserInfoRequestType {
+ UNKNOWN = 0,
/**
* At the first time Android was booted (or after a factory reset).
*/
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl
index 34d9062..8be0c69 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponse.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable InitialUserInfoResponse {
/**
* Id of the request being responded.
@@ -34,7 +34,7 @@
/**
* which action the Android system should take.
*/
- InitialUserInfoResponseAction action;
+ InitialUserInfoResponseAction action = InitialUserInfoResponseAction.DEFAULT;
/**
* Information about the user that should be switched to or created.
*/
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl
index e35fa9a..9a0741e 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/InitialUserInfoResponseAction.aidl
@@ -19,7 +19,7 @@
/**
* Defines which action the Android system should take in an INITIAL_USER_INFO request.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum InitialUserInfoResponseAction {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl
index 775d531..c1bba8e 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CommonIgnitionMonitors.aidl
@@ -20,7 +20,7 @@
* Ignition monitors common to both SPARK and COMPRESSION.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2CommonIgnitionMonitors {
COMPONENTS_AVAILABLE = 0x1 << 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl
index ab444e1..ccb49aa 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2CompressionIgnitionMonitors.aidl
@@ -22,7 +22,7 @@
* Ignition monitors only available for COMPRESSION vehicles.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2CompressionIgnitionMonitors {
COMPONENTS_AVAILABLE = 0x1 << 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl
index 9b4ce8f..8266ee2 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelSystemStatus.aidl
@@ -20,7 +20,7 @@
* The status of the vehicle's fuel system.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2FuelSystemStatus {
OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 1,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelType.aidl
index 1428f2c..c7b4f77 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2FuelType.aidl
@@ -20,7 +20,7 @@
* The fuel type(s) supported by a vehicle.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2FuelType {
NOT_AVAILABLE = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl
index 477b38d..7399f7b 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2IgnitionMonitorKind.aidl
@@ -19,7 +19,7 @@
/**
* Defines which ignition monitors are available to be read.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2IgnitionMonitorKind {
SPARK = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl
index f257164..06748ca 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SecondaryAirStatus.aidl
@@ -20,7 +20,7 @@
* The status of the vehicle's secondary air system.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2SecondaryAirStatus {
UPSTREAM = 1,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl
index 75504df..d814b5e 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/Obd2SparkIgnitionMonitors.aidl
@@ -22,7 +22,7 @@
* Ignition monitors available for SPARK vehicles.
* These values come from the SAE J1979 standard.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum Obd2SparkIgnitionMonitors {
COMPONENTS_AVAILABLE = 0x1 << 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/PortLocationType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/PortLocationType.aidl
index 260dd42..ce26e1c 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/PortLocationType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/PortLocationType.aidl
@@ -20,7 +20,7 @@
* Used by INFO_FUEL_DOOR_LOCATION/INFO_CHARGE_PORT_LOCATION to enumerate fuel door or
* ev port location.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum PortLocationType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl
index e54a08b..4dec772 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/ProcessTerminationReason.aidl
@@ -20,7 +20,7 @@
* The reason why a process is terminated by car watchdog.
* This is used with WATCHDOG_TERMINATED_PROCESS property.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum ProcessTerminationReason {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RawPropValues.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RawPropValues.aidl
new file mode 100644
index 0000000..5d8febd
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RawPropValues.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+@VintfStability
+parcelable RawPropValues {
+ /**
+ * This is used for properties of types VehiclePropertyType#INT
+ * and VehiclePropertyType#INT_VEC
+ */
+ int[] int32Values = {};
+
+ /**
+ * This is used for properties of types VehiclePropertyType#FLOAT
+ * and VehiclePropertyType#FLOAT_VEC
+ */
+ float[] floatValues;
+
+ /** This is used for properties of type VehiclePropertyType#INT64 */
+ long[] int64Values;
+
+ /** This is used for properties of type VehiclePropertyType#BYTES */
+ byte[] byteValues;
+
+ /** This is used for properties of type VehiclePropertyType#STRING */
+ @utf8InCpp String stringValue;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RemoveUserRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RemoveUserRequest.aidl
index 79a8c59..1a3d4dd 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RemoveUserRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RemoveUserRequest.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable RemoveUserRequest {
/**
* Arbitrary id used to map the response to the request.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RotaryInputType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RotaryInputType.aidl
index eca703a..5f08ed7 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RotaryInputType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/RotaryInputType.aidl
@@ -20,7 +20,7 @@
* A rotary control which can rotate without limits. These controls use HW_ROTARY_INPUT to report
* relative clockwise or counterclockwise motion. They have no absolute position.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum RotaryInputType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequest.aidl
new file mode 100644
index 0000000..1771c63
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequest.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.VehiclePropValue;
+
+@VintfStability
+parcelable SetValueRequest {
+ // The value to set.
+ VehiclePropValue value;
+ // A unique request ID. For every client, the request ID must start with 1
+ // and monotonically increase for every SetValueRequest. If it hits
+ // LONG_MAX (very unlikely), it must loop back to 0.
+ long requestId;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequests.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequests.aidl
new file mode 100644
index 0000000..5d6ad85
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueRequests.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.SetValueRequest;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable SetValueRequests {
+ // The list of request if they fit the binder memory limitation.
+ SetValueRequest[] payloads;
+ // Shared memory file to store requests if they exceed binder memory
+ // limitation. Created by client, readable only at VHAL during the call.
+ // Caller could close it after the call.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResult.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResult.aidl
new file mode 100644
index 0000000..a468f3b
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResult.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.StatusCode;
+
+@VintfStability
+parcelable SetValueResult {
+ // The ID for the request this response is for.
+ long requestId;
+ // The status for the setValue operation.
+ StatusCode status = StatusCode.OK;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResults.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResults.aidl
new file mode 100644
index 0000000..6df9de0
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SetValueResults.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.SetValueResult;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable SetValueResults {
+ // The list of responses if they fit the binder memory limitation.
+ SetValueResult[] payloads;
+ // Shared memory file to store responses if they exceed binder memory
+ // limitation. Created by VHAL, readable only for the client.
+ // The client must close it after reading.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/StatusCode.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/StatusCode.aidl
index 9b29229..23019ca 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/StatusCode.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/StatusCode.aidl
@@ -19,7 +19,7 @@
/**
* Error codes used in vehicle HAL interface.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum StatusCode {
OK = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeFlags.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeFlags.aidl
deleted file mode 100644
index d997990..0000000
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeFlags.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.
- */
-
-package android.hardware.automotive.vehicle;
-
-// @VintfStability
-@Backing(type="int")
-enum SubscribeFlags {
- UNDEFINED = 0x0,
-
- /**
- * Subscribe to event that was originated in vehicle HAL
- * (most likely this event came from the vehicle itself).
- */
- EVENTS_FROM_CAR = 0x1,
-
- /**
- * Use this flag to subscribe on events when IVehicle#set(...) was called by
- * vehicle HAL's client (e.g. Car Service).
- */
- EVENTS_FROM_ANDROID = 0x2,
-
- /**
- * Property event for this property should be passed through shared memory with only this
- * property's data included. This can be helpful for reducing memory copy in upper layer
- * for data with bigger payload. If payload size is small, VHAL can send this through non-shared
- * memory path instead.
- */
- EXCLUSIVE_SHARED_MEMORY = 0x4,
-}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl
index 0769f28..bc7d84a 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SubscribeOptions.aidl
@@ -16,16 +16,18 @@
package android.hardware.automotive.vehicle;
-import android.hardware.automotive.vehicle.SubscribeFlags;
-
/**
* Encapsulates information about subscription to vehicle property events.
*/
-// @VintfStability
+@VintfStability
parcelable SubscribeOptions {
/** Property to subscribe */
int propId;
-
+ /**
+ * Optional areas to subscribe for this property, if empty, would subscribe
+ * to all areas configured for this property.
+ */
+ int[] areaIds;
/**
* Sample rate in Hz.
*
@@ -36,7 +38,4 @@
* This value indicates how many updates per second client wants to receive.
*/
float sampleRate;
-
- /** Flags that indicate to which event sources to listen. */
- SubscribeFlags flags;
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl
index c0b5d68..f6ace54 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserMessageType.aidl
@@ -21,9 +21,10 @@
*
* The meaning of each constant is explained in that property.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum SwitchUserMessageType {
+ UNKNOWN = 0,
LEGACY_ANDROID_SWITCH = 1,
ANDROID_SWITCH = 2,
VEHICLE_RESPONSE = 3,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserRequest.aidl
index 9a324f4..10858a4 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserRequest.aidl
@@ -26,7 +26,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable SwitchUserRequest {
/**
* Arbitrary id used to map the response to the request.
@@ -35,7 +35,7 @@
/**
* Type of message.
*/
- SwitchUserMessageType messageType;
+ SwitchUserMessageType messageType = SwitchUserMessageType.UNKNOWN;
/**
* Information about the Android user being switched to.
*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserResponse.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserResponse.aidl
index 175859d..d5d44e5 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserResponse.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserResponse.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable SwitchUserResponse {
/**
* Id of the request being responded.
@@ -34,11 +34,11 @@
/**
* Type of message.
*/
- SwitchUserMessageType messageType;
+ SwitchUserMessageType messageType = SwitchUserMessageType.UNKNOWN;
/**
* Status of the request.
*/
- SwitchUserStatus status;
+ SwitchUserStatus status = SwitchUserStatus.SUCCESS;
/**
* HAL-specific error message.
*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserStatus.aidl
index 11dc5f2..a84d1ce 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/SwitchUserStatus.aidl
@@ -19,7 +19,7 @@
/**
* Status of the response to a SwitchUserRequest.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum SwitchUserStatus {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl
index 8daa0c1..caa62df 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserFlags.aidl
@@ -19,7 +19,7 @@
/**
* Flags used to define the characteristics of an Android user.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum UserFlags {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl
index 9531bb3..cdd11bf 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociation.aidl
@@ -22,7 +22,7 @@
/**
* Helper struct used when getting a user/identification association type.
*/
-// @VintfStability
+@VintfStability
parcelable UserIdentificationAssociation {
UserIdentificationAssociationType type = UserIdentificationAssociationType.INVALID;
UserIdentificationAssociationValue value = UserIdentificationAssociationValue.UNKNOWN;
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl
index 5be7f99..eceb30f 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationSetValue.aidl
@@ -19,7 +19,7 @@
/**
* Used to set a UserIdentificationAssociationType with an Android user.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum UserIdentificationAssociationSetValue {
INVALID = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl
index 141aca8..4b21b5a 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationType.aidl
@@ -21,7 +21,7 @@
*
* See USER_IDENTIFICATION_ASSOCIATION for more details and example.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum UserIdentificationAssociationType {
INVALID = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl
index c11ad2a..28dad0d 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationAssociationValue.aidl
@@ -19,7 +19,7 @@
/**
* Whether a UserIdentificationAssociationType is associate with an Android user.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum UserIdentificationAssociationValue {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl
index cb4b8cf..58620ef 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationGetRequest.aidl
@@ -25,7 +25,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable UserIdentificationGetRequest {
/**
* Id of the request being responded.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl
index e8eb3a3..06341c7 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationResponse.aidl
@@ -24,7 +24,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable UserIdentificationResponse {
/**
* Id of the request being responded.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl
index 392ae99..fe5017f 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetAssociation.aidl
@@ -22,7 +22,7 @@
/**
* Helper struct used when setting a user/identification association type.
*/
-// @VintfStability
+@VintfStability
parcelable UserIdentificationSetAssociation {
UserIdentificationAssociationType type = UserIdentificationAssociationType.INVALID;
UserIdentificationAssociationSetValue value = UserIdentificationAssociationSetValue.INVALID;
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl
index dafb1d1..13f3677 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserIdentificationSetRequest.aidl
@@ -24,7 +24,7 @@
* NOTE: this struct is not used in the HAL properties directly, it must be converted to
* VehiclePropValue.RawValue through libraries provided by the default Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable UserIdentificationSetRequest {
/**
* Id of the request being responded.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl
index 0a84308..e96fa37 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UserInfo.aidl
@@ -21,7 +21,7 @@
/**
* Information about a specific Android user.
*/
-// @VintfStability
+@VintfStability
parcelable UserInfo {
int userId = 0;
UserFlags flags = UserFlags.NONE;
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UsersInfo.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UsersInfo.aidl
index 28b3f95..77468b1 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UsersInfo.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/UsersInfo.aidl
@@ -25,7 +25,7 @@
* in turn are converted to a VehiclePropValue.RawValue through libraries provided by the default
* Vehicle HAL implementation.
*/
-// @VintfStability
+@VintfStability
parcelable UsersInfo {
/**
* The current foreground user.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl
index 9e593c5..4d8e2f5 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateConfigFlag.aidl
@@ -16,12 +16,14 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleApPowerStateConfigFlag {
/**
- * AP can enter deep sleep state. If not set, AP will always shutdown from
- * VehicleApPowerState#SHUTDOWN_PREPARE power state.
+ * AP can enter deep sleep state. If not set, AP will shutdown from
+ * VehicleApPowerState#SHUTDOWN_PREPARE power state when deep sleep is requested
+ * (via VehicleApPowerStateShutdownParam#CAN_SLEEP or
+ * VehicleApPowerStateShutdownParam#SLEEP_IMMEDIATELY flags)/
*/
ENABLE_DEEP_SLEEP_FLAG = 0x1,
/**
@@ -29,4 +31,11 @@
* specified in VehicleApPowerSet VEHICLE_AP_POWER_SET_SHUTDOWN_READY message.
*/
CONFIG_SUPPORT_TIMER_POWER_ON_FLAG = 0x2,
+ /**
+ * AP can enter hibernation state. If not set, AP will shutdown from
+ * VehicleApPowerState#SHUTDOWN_PREPARE when hibernation is requested
+ * (via VehicleApPowerStateShutdownParam#CAN_HIBERNATE or
+ * VehicleApPowerStateShutdownParam#HIBERNATE_IMMEDIATELY flags)
+ */
+ ENABLE_HIBERNATION_FLAG = 0x3,
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl
index b6cc70d..e94fc76 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReport.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleApPowerStateReport {
/**
@@ -89,4 +89,22 @@
* VehicleApPowerStateReq#SHUTDOWN_PREPARE. Other power state requests are ignored.
*/
SHUTDOWN_CANCELLED = 0x8,
+ /**
+ * AP is ready to hibernate.
+ * The AP will not send any more state reports after this.
+ * After reporting this state, AP will accept VehicleApPowerStateReq#FINISHED.
+ * Other power state requests are ignored.
+ *
+ * int32Values[1]: Time to turn AP back on, in seconds. Power controller should turn on
+ * AP after the specified time has elapsed, so AP can run tasks like
+ * update. If this value is 0, no wake up is requested. The power
+ * controller may not necessarily support timed wake-up.
+ */
+ HIBERNATION_ENTRY = 0x9,
+ /**
+ * AP is exiting from hibernation state.
+ * After reporting this state, AP will accept VehicleApPowerStateReq#ON or
+ * VehicleApPowerStateReq#SHUTDOWN_PREPARE. Other power state requests are ignored.
+ */
+ HIBERNATION_EXIT = 0xA,
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl
index 06bc073..82f98d8 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReq.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleApPowerStateReq {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl
index a3d6c7f..aa556b0 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReqIndex.aidl
@@ -19,7 +19,7 @@
/**
* Index in int32Values for VehicleProperty#AP_POWER_STATE_REQ property.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleApPowerStateReqIndex {
STATE = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl
index f4ab080..a863d14 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleApPowerStateShutdownParam.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleApPowerStateShutdownParam {
/**
@@ -36,4 +36,13 @@
* Postponing is not allowed.
*/
SLEEP_IMMEDIATELY = 4,
+ /**
+ * AP must hibernate (suspend to disk) immediately. Postponing is not allowed.
+ * Depending on the actual implementation, it may shut down immediately
+ */
+ HIBERNATE_IMMEDIATELY = 5,
+ /**
+ * AP can enter hibernation (suspend to disk) instead of shutting down completely.
+ */
+ CAN_HIBERNATE = 6,
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleArea.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleArea.aidl
index 53b85eb..dab0349 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleArea.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleArea.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleArea {
GLOBAL = 0x01000000,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
index 0a688c0..b33dcbc 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
parcelable VehicleAreaConfig {
/**
* Area id is ignored for VehiclePropertyGroup:GLOBAL properties.
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl
index c85b171..b729b8b 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaDoor.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleAreaDoor {
ROW_1_LEFT = 0x00000001,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl
index daecf0b..e1fd03b 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaMirror.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleAreaMirror {
DRIVER_LEFT = 0x00000001,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl
index 9d16c86..89d50ea 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaSeat.aidl
@@ -19,7 +19,7 @@
/**
* Various Seats in the car.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleAreaSeat {
ROW_1_LEFT = 0x0001,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl
index 0e5b995..89f73cb 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWheel.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleAreaWheel {
UNKNOWN = 0x0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl
index bab0a3f..e1e8e85 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaWindow.aidl
@@ -19,7 +19,7 @@
/**
* Various windshields/windows in the car.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleAreaWindow {
FRONT_WINDSHIELD = 0x00000001,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleDisplay.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleDisplay.aidl
index a7531c4..1759a90 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleDisplay.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleDisplay.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleDisplay {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleGear.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleGear.aidl
index 8b08ff8..40e492e 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleGear.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleGear.aidl
@@ -19,7 +19,7 @@
/**
* Various gears which can be selected by user and chosen in system.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleGear {
GEAR_UNKNOWN = 0x0000,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl
index 1967679..fa5d711 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHvacFanDirection.aidl
@@ -19,7 +19,7 @@
/**
* Bit flags for fan direction
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleHvacFanDirection {
UNKNOWN = 0x0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl
index 2dfd070..93e42a0 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleHwKeyInputAction.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleHwKeyInputAction {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl
index cf9db97..4de97f6 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleIgnitionState.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleIgnitionState {
UNDEFINED = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightState.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightState.aidl
index bfe9163..ede20b7 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightState.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightState.aidl
@@ -22,7 +22,7 @@
* Most XXX_LIGHTS_STATE properties will only report ON and OFF states. Only
* the HEADLIGHTS_STATE property will report DAYTIME_RUNNING.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleLightState {
OFF = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl
index 061f85d..247e731 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleLightSwitch.aidl
@@ -23,7 +23,7 @@
* selects. The switch setting may be decoupled from the state reported if the
* user selects AUTOMATIC.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleLightSwitch {
OFF = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleOilLevel.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleOilLevel.aidl
index 8ea6293..bf3c858 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleOilLevel.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleOilLevel.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleOilLevel {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
index 3b4e10a..5e0dbec 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
@@ -20,7 +20,7 @@
import android.hardware.automotive.vehicle.VehiclePropertyAccess;
import android.hardware.automotive.vehicle.VehiclePropertyChangeMode;
-// @VintfStability
+@VintfStability
parcelable VehiclePropConfig {
/** Property identifier */
int prop;
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl
new file mode 100644
index 0000000..98abdef
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfigs.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.VehiclePropConfig;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable VehiclePropConfigs {
+ // The list of vehicle property configs if they fit the binder memory
+ // limitation.
+ VehiclePropConfig[] payloads;
+ // Shared memory file to store configs if they exceed binder memory
+ // limitation. Created by VHAL, readable only at client. Client could keep
+ // the fd opened or keep the FD mapped to access configs.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropError.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropError.aidl
new file mode 100644
index 0000000..1608977
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropError.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.StatusCode;
+
+@VintfStability
+parcelable VehiclePropError {
+ // Property ID.
+ int propId;
+ // Area ID.
+ int areaId;
+ // The error associated with this property.
+ StatusCode errorCode = StatusCode.OK;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropErrors.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropErrors.aidl
new file mode 100644
index 0000000..6a77d35
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropErrors.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.VehiclePropError;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable VehiclePropErrors {
+ // List of property set errors if they fit binder memory limitation.
+ VehiclePropError[] payloads;
+ // Shared memory file to store payloads if they exceed binder memory
+ // limitation.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValue.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValue.aidl
index 4d403f9..37dac59 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValue.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValue.aidl
@@ -16,6 +16,7 @@
package android.hardware.automotive.vehicle;
+import android.hardware.automotive.vehicle.RawPropValues;
import android.hardware.automotive.vehicle.VehiclePropertyStatus;
/**
@@ -23,7 +24,7 @@
* is used across various API calls to set values, get values or to register for
* events.
*/
-// @VintfStability
+@VintfStability
parcelable VehiclePropValue {
/** Time is elapsed nanoseconds since boot */
long timestamp;
@@ -38,26 +39,7 @@
int prop;
/** Status of the property */
- VehiclePropertyStatus status;
+ VehiclePropertyStatus status = VehiclePropertyStatus.AVAILABLE;
- /**
- * This is used for properties of types VehiclePropertyType#INT
- * and VehiclePropertyType#INT_VEC
- */
- int[] int32Values;
-
- /**
- * This is used for properties of types VehiclePropertyType#FLOAT
- * and VehiclePropertyType#FLOAT_VEC
- */
- float[] floatValues;
-
- /** This is used for properties of type VehiclePropertyType#INT64 */
- long[] int64Values;
-
- /** This is used for properties of type VehiclePropertyType#BYTES */
- byte[] byteValues;
-
- /** This is used for properties of type VehiclePropertyType#STRING */
- @utf8InCpp String stringValue;
+ RawPropValues value;
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValueRawValue.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValueRawValue.aidl
deleted file mode 100644
index 325b7f0..0000000
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValueRawValue.aidl
+++ /dev/null
@@ -1,47 +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.automotive.vehicle;
-
-/**
- * Contains value for a single property. Depending on property data type of
- * this property (VehiclePropetyType) one field of this structure must be filled in.
- */
-// @VintfStability
-parcelable VehiclePropValueRawValue {
- /**
- * This is used for properties of types VehiclePropertyType#INT
- * and VehiclePropertyType#INT_VEC
- */
- int[] int32Values;
- /**
- * This is used for properties of types VehiclePropertyType#FLOAT
- * and VehiclePropertyType#FLOAT_VEC
- */
- float[] floatValues;
- /**
- * This is used for properties of type VehiclePropertyType#INT64
- */
- long[] int64Values;
- /**
- * This is used for properties of type VehiclePropertyType#BYTES
- */
- byte[] bytes;
- /**
- * This is used for properties of type VehiclePropertyType#STRING
- */
- @utf8InCpp String stringValue;
-}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValues.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValues.aidl
new file mode 100644
index 0000000..1944f8e
--- /dev/null
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropValues.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.automotive.vehicle;
+
+import android.hardware.automotive.vehicle.VehiclePropValue;
+import android.os.ParcelFileDescriptor;
+
+@VintfStability
+parcelable VehiclePropValues {
+ // The list of vehicle properties if they fit the binder memory limitation.
+ VehiclePropValue[] payloads;
+ // An unique ID associated with this sharedMemoryFd file.
+ // Must be INVALID_MEMORY_ID if shared memory file is not used. If shared
+ // memory file is used, This ID must be sent back to the server using
+ // returnSharedMemory after this object has been used.
+ long sharedMemoryId;
+ // Shared memory file to store props if they exceed binder memory
+ // limitation. Created by VHAL, readable only at client. Client must close
+ // it after use and call returnSharedMemory.
+ @nullable ParcelFileDescriptor sharedMemoryFd;
+}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleProperty.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleProperty.aidl
index a3a4b3d..65a22db 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleProperty.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleProperty.aidl
@@ -36,7 +36,7 @@
* Properties set to values out of range must be ignored and no action taken
* in response to such ill formed requests.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleProperty {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl
index 055f96f..76e38e3 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.aidl
@@ -22,7 +22,7 @@
* commands and also to ensure that set() or events commands are in sync with
* the expected output.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehiclePropertyAccess {
NONE = 0x00,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl
index 2628730..57228db 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.aidl
@@ -19,7 +19,7 @@
/**
* This describes how value of property can change.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehiclePropertyChangeMode {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
index 529a46d..a2cbdec 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehiclePropertyGroup {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl
index 6dea0d1..400e256 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyStatus.aidl
@@ -19,7 +19,7 @@
/**
* Property status is a dynamic value that may change based on the vehicle state.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehiclePropertyStatus {
/** Property is available and behaving normally */
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyType.aidl
index 4591e92..62d26de 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropertyType.aidl
@@ -21,7 +21,7 @@
*
* Used to create property ID in VehicleProperty enum.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehiclePropertyType {
STRING = 0x00100000,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl
index a17c9f0..3a08a51 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.aidl
@@ -19,7 +19,7 @@
/**
* Used by seat occupancy to enumerate the current occupancy state of the seat.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleSeatOccupancyState {
UNKNOWN = 0,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl
index cec86db..f0f46ad 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleTurnSignal.aidl
@@ -16,7 +16,7 @@
package android.hardware.automotive.vehicle;
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleTurnSignal {
NONE = 0x00,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleUnit.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleUnit.aidl
index 3fc69de..9c3f8f9 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleUnit.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleUnit.aidl
@@ -19,7 +19,7 @@
/**
* Units used for int or float type with no attached enum types.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleUnit {
SHOULD_NOT_USE = 0x000,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl
index 46a66e1..29ad170 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleVendorPermission.aidl
@@ -19,7 +19,7 @@
/**
* Used by SUPPORT_CUSTOMIZE_VENDOR_PERMISSION to indicate the permission of vendor properties.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VehicleVendorPermission {
PERMISSION_DEFAULT = 0x00000000,
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl
index 74e944d..def7c28 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsAvailabilityStateIntegerValuesIndex.aidl
@@ -31,7 +31,7 @@
* - Number of publisher IDs (N)
* - N x publisher ID
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsAvailabilityStateIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl
index a3a2e18..a82ce0b 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsBaseMessageIntegerValuesIndex.aidl
@@ -21,7 +21,7 @@
* Messages with no parameters such as VmsMessageType.AVAILABILITY_REQUEST,
* VmsMessageType.SUBSCRIPTIONS_REQUEST and VmsMessageType.DATA are also based on this enum.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsBaseMessageIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageType.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageType.aidl
index bdffde7..6f03e37 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageType.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageType.aidl
@@ -21,7 +21,7 @@
* integer in the vehicle property integers array and determines how the rest of
* the message is decoded.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsMessageType {
/**
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl
index 594ddbc..c3a189c 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerAndPublisherIdIntegerValuesIndex.aidl
@@ -23,7 +23,7 @@
* VmsMessageType.SUBSCRIBE_TO_PUBLISHER, VmsMessageType.UNSUBSCRIBE_TO_PUBLISHER messages and
* VmsMessageType.DATA .
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsMessageWithLayerAndPublisherIdIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl
index e3a6126..b209bf6 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsMessageWithLayerIntegerValuesIndex.aidl
@@ -25,7 +25,7 @@
* The layer type is defined in the VMS protocol, and the subtype and version are
* controlled by the implementer of the publisher.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsMessageWithLayerIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl
index 9dc7a58..91c3297 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsOfferingMessageIntegerValuesIndex.aidl
@@ -30,7 +30,7 @@
* - Number of dependencies (N)
* - N x (Layer type, Layer subtype, Layer version)
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsOfferingMessageIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl
index 32049cc..79bbe50 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsPublisherInformationIntegerValuesIndex.aidl
@@ -23,7 +23,7 @@
* Subscribers can request the publisher information for a publisher ID they received in other
* messages.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsPublisherInformationIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl
index 95f2d6d..313ed89 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsStartSessionMessageIntegerValuesIndex.aidl
@@ -35,7 +35,7 @@
* Any VMS messages received between initiation and completion of the handshake
* must be discarded.
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsStartSessionMessageIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl
index 87d59e5..cd03535 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VmsSubscriptionsStateIntegerValuesIndex.aidl
@@ -36,7 +36,7 @@
* - Number of publisher IDs (N)
* - N x publisher ID
*/
-// @VintfStability
+@VintfStability
@Backing(type="int")
enum VmsSubscriptionsStateIntegerValuesIndex {
/*
diff --git a/automotive/vehicle/aidl/impl/Android.bp b/automotive/vehicle/aidl/impl/Android.bp
new file mode 100644
index 0000000..a97d544
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/Android.bp
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_defaults {
+ name: "VehicleHalDefaults",
+ static_libs: [
+ "android.hardware.automotive.vehicle-V1-ndk_platform",
+ ],
+ shared_libs: [
+ "libbase",
+ "liblog",
+ "libutils",
+ ],
+ cflags: [
+ "-Wall",
+ "-Wextra",
+ "-Werror",
+ "-Wthread-safety",
+ ],
+}
diff --git a/automotive/vehicle/aidl/impl/default_config/Android.bp b/automotive/vehicle/aidl/impl/default_config/Android.bp
new file mode 100644
index 0000000..0feaf23
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/default_config/Android.bp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library_headers {
+ name: "VehicleHalDefaultConfig",
+ vendor: true,
+ local_include_dirs: ["include"],
+ export_include_dirs: ["include"],
+ defaults: ["VehicleHalDefaults"],
+ static_libs: ["VehicleHalUtils"],
+ header_libs: ["VehicleHalTestUtilHeaders"],
+ export_static_lib_headers: ["VehicleHalUtils"],
+ export_header_lib_headers: ["VehicleHalTestUtilHeaders"],
+}
diff --git a/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h b/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h
new file mode 100644
index 0000000..ebcb77a
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h
@@ -0,0 +1,1196 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_default_config_include_DefaultConfig_H_
+#define android_hardware_automotive_vehicle_aidl_impl_default_config_include_DefaultConfig_H_
+
+#include <PropertyUtils.h>
+#include <TestPropertyUtils.h>
+#include <VehicleHalTypes.h>
+
+#include <map>
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+// Types used in configs, not to be exposed as public API.
+namespace defaultconfig_impl {
+
+using ::aidl::android::hardware::automotive::vehicle::EvConnectorType;
+using ::aidl::android::hardware::automotive::vehicle::EvsServiceState;
+using ::aidl::android::hardware::automotive::vehicle::EvsServiceType;
+using ::aidl::android::hardware::automotive::vehicle::FuelType;
+using ::aidl::android::hardware::automotive::vehicle::RawPropValues;
+using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReport;
+using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReq;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaWindow;
+using ::aidl::android::hardware::automotive::vehicle::VehicleGear;
+using ::aidl::android::hardware::automotive::vehicle::VehicleHvacFanDirection;
+using ::aidl::android::hardware::automotive::vehicle::VehicleIgnitionState;
+using ::aidl::android::hardware::automotive::vehicle::VehicleOilLevel;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehicleProperty;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyChangeMode;
+using ::aidl::android::hardware::automotive::vehicle::VehicleSeatOccupancyState;
+using ::aidl::android::hardware::automotive::vehicle::VehicleTurnSignal;
+using ::aidl::android::hardware::automotive::vehicle::VehicleUnit;
+using ::aidl::android::hardware::automotive::vehicle::VehicleVendorPermission;
+
+struct ConfigDeclaration {
+ VehiclePropConfig config;
+
+ // This value will be used as an initial value for the property. If this field is specified for
+ // property that supports multiple areas then it will be used for all areas unless particular
+ // area is overridden in initialAreaValue field.
+ RawPropValues initialValue;
+ // Use initialAreaValues if it is necessary to specify different values per each area.
+ std::map<int32_t, RawPropValues> initialAreaValues;
+};
+
+const std::vector<ConfigDeclaration> kVehicleProperties = {
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.floatValues = {15000.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_FUEL_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {toInt(FuelType::FUEL_TYPE_UNLEADED)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_EV_BATTERY_CAPACITY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.floatValues = {150000.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_EV_CONNECTOR_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {toInt(EvConnectorType::IEC_TYPE_1_AC)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_FUEL_DOOR_LOCATION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {FUEL_DOOR_REAR_LEFT}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_EV_PORT_LOCATION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {CHARGE_PORT_FRONT_LEFT}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {CHARGE_PORT_FRONT_LEFT, CHARGE_PORT_REAR_LEFT}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_MAKE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.stringValue = "Toy Vehicle"}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_MODEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.stringValue = "Speedy Model"}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_MODEL_YEAR),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {2020}}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_EXTERIOR_DIMENSIONS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialValue = {.int32Values = {1776, 4950, 2008, 2140, 2984, 1665, 1667, 11800}}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PERF_VEHICLE_SPEED),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::METER_PER_SEC),
+ toInt(VehicleUnit::MILES_PER_HOUR),
+ toInt(VehicleUnit::KILOMETERS_PER_HOUR)},
+ },
+ .initialValue = {.int32Values = {toInt(VehicleUnit::KILOMETERS_PER_HOUR)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::SEAT_OCCUPANCY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = (SEAT_1_LEFT)},
+ VehicleAreaConfig{.areaId = (SEAT_1_RIGHT)}},
+ },
+ .initialAreaValues = {{SEAT_1_LEFT,
+ {.int32Values = {toInt(VehicleSeatOccupancyState::VACANT)}}},
+ {SEAT_1_RIGHT,
+ {.int32Values = {toInt(VehicleSeatOccupancyState::VACANT)}}}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::INFO_DRIVER_SEAT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ // this was a zoned property on an old vhal, but it is meant to be global
+ .areaConfigs = {VehicleAreaConfig{.areaId = (0)}},
+ },
+ .initialValue = {.int32Values = {SEAT_1_LEFT}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PERF_ODOMETER),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PERF_STEERING_ANGLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}}},
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PERF_REAR_STEERING_ANGLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}}},
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::ENGINE_RPM),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}},
+ },
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::FUEL_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 100.0f,
+ },
+ .initialValue = {.floatValues = {15000.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::FUEL_DOOR_OPEN),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::EV_BATTERY_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 100.0f,
+ },
+ .initialValue = {.floatValues = {150000.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::EV_CHARGE_PORT_OPEN),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::EV_CHARGE_PORT_CONNECTED),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::EV_BATTERY_INSTANTANEOUS_CHARGE_RATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.floatValues = {0.0f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::RANGE_REMAINING),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 2.0f,
+ },
+ .initialValue = {.floatValues = {50000.0f}}}, // units in meters
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = WHEEL_FRONT_LEFT,
+ .minFloatValue = 193.0f,
+ .maxFloatValue = 300.0f,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_FRONT_RIGHT,
+ .minFloatValue = 193.0f,
+ .maxFloatValue = 300.0f,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_REAR_LEFT,
+ .minFloatValue = 193.0f,
+ .maxFloatValue = 300.0f,
+ },
+ VehicleAreaConfig{
+ .areaId = WHEEL_REAR_RIGHT,
+ .minFloatValue = 193.0f,
+ .maxFloatValue = 300.0f,
+ }},
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 2.0f,
+ },
+ .initialValue = {.floatValues = {200.0f}}}, // units in kPa
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ },
+ .initialAreaValues = {{WHEEL_FRONT_LEFT, {.floatValues = {137.0f}}},
+ {WHEEL_FRONT_RIGHT, {.floatValues = {137.0f}}},
+ {WHEEL_REAR_RIGHT, {.floatValues = {137.0f}}},
+ {WHEEL_REAR_LEFT, {.floatValues = {137.0f}}}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::KILOPASCAL), toInt(VehicleUnit::PSI),
+ toInt(VehicleUnit::BAR)},
+ },
+ .initialValue = {.int32Values = {toInt(VehicleUnit::PSI)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::CURRENT_GEAR),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleGear::GEAR_PARK),
+ toInt(VehicleGear::GEAR_NEUTRAL),
+ toInt(VehicleGear::GEAR_REVERSE),
+ toInt(VehicleGear::GEAR_1), toInt(VehicleGear::GEAR_2),
+ toInt(VehicleGear::GEAR_3), toInt(VehicleGear::GEAR_4),
+ toInt(VehicleGear::GEAR_5)},
+ },
+ .initialValue = {.int32Values = {toInt(VehicleGear::GEAR_PARK)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PARKING_BRAKE_ON),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {1}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::PARKING_BRAKE_AUTO_APPLY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {1}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::FUEL_LEVEL_LOW),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HW_KEY_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0, 0, 0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HW_ROTARY_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0, 0, 0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HW_CUSTOM_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0, 0, 0, 3, 0, 0, 0, 0, 0},
+ },
+ .initialValue =
+ {
+ .int32Values = {0, 0, 0},
+ }},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_POWER_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}},
+ // TODO(bryaneyler): Ideally, this is generated dynamically from
+ // kHvacPowerProperties.
+ .configArray = {toInt(VehicleProperty::HVAC_FAN_SPEED),
+ toInt(VehicleProperty::HVAC_FAN_DIRECTION)}},
+ .initialValue = {.int32Values = {1}}},
+
+ {
+ .config = {.prop = toInt(VehicleProperty::HVAC_DEFROSTER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs =
+ {VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD)},
+ VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD)}}},
+ .initialValue = {.int32Values = {0}} // Will be used for all areas.
+ },
+ {
+ .config = {.prop = toInt(VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs =
+ {VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD)},
+ VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD)}}},
+ .initialValue = {.int32Values = {0}} // Will be used for all areas.
+ },
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_MAX_DEFROST_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_RECIRC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {1}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AUTO_RECIRC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {1}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_MAX_AC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AUTO_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {1}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_DUAL_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_SPEED),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = HVAC_ALL, .minInt32Value = 1, .maxInt32Value = 7}}},
+ .initialValue = {.int32Values = {3}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_DIRECTION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {toInt(VehicleHvacFanDirection::FACE)}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {FAN_DIRECTION_FACE, FAN_DIRECTION_FLOOR,
+ FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR,
+ FAN_DIRECTION_DEFROST,
+ FAN_DIRECTION_FACE | FAN_DIRECTION_DEFROST,
+ FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST,
+ FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST |
+ FAN_DIRECTION_FACE}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_SEAT_VENTILATION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = SEAT_1_LEFT,
+ .minInt32Value = 0,
+ .maxInt32Value = 3,
+ },
+ VehicleAreaConfig{
+ .areaId = SEAT_1_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 3,
+ }}},
+ .initialValue =
+ {.int32Values = {0}}}, // 0 is off and +ve values indicate ventilation level.
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_STEERING_WHEEL_HEAT),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = (0), .minInt32Value = -2, .maxInt32Value = 2}}},
+ .initialValue = {.int32Values = {0}}}, // +ve values for heating and -ve for cooling
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_SEAT_TEMPERATURE),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = SEAT_1_LEFT,
+ .minInt32Value = -2,
+ .maxInt32Value = 2,
+ },
+ VehicleAreaConfig{
+ .areaId = SEAT_1_RIGHT,
+ .minInt32Value = -2,
+ .maxInt32Value = 2,
+ }}},
+ .initialValue = {.int32Values = {0}}}, // +ve values for heating and -ve for cooling
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_TEMPERATURE_SET),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {160, 280, 5, 605, 825, 10},
+ .areaConfigs = {VehicleAreaConfig{
+ .areaId = HVAC_LEFT,
+ .minFloatValue = 16,
+ .maxFloatValue = 32,
+ },
+ VehicleAreaConfig{
+ .areaId = HVAC_RIGHT,
+ .minFloatValue = 16,
+ .maxFloatValue = 32,
+ }}},
+ .initialAreaValues = {{HVAC_LEFT, {.floatValues = {16}}},
+ {HVAC_RIGHT, {.floatValues = {20}}}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HVAC_TEMPERATURE_VALUE_SUGGESTION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.floatValues = {66.2f, (float)VehicleUnit::FAHRENHEIT, 19.0f, 66.5f}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::ENV_OUTSIDE_TEMPERATURE),
+ .access = VehiclePropertyAccess::READ,
+ // TODO(bryaneyler): Support ON_CHANGE as well.
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 2.0f,
+ },
+ .initialValue = {.floatValues = {25.0f}}},
+
+ {.config = {.prop = toInt(VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::FAHRENHEIT), toInt(VehicleUnit::CELSIUS)}},
+ .initialValue = {.int32Values = {toInt(VehicleUnit::FAHRENHEIT)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::DISTANCE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = (0)}},
+ .configArray = {toInt(VehicleUnit::KILOMETER), toInt(VehicleUnit::MILE)},
+ },
+ .initialValue = {.int32Values = {toInt(VehicleUnit::MILE)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::NIGHT_MODE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::GEAR_SELECTION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleGear::GEAR_PARK),
+ toInt(VehicleGear::GEAR_NEUTRAL),
+ toInt(VehicleGear::GEAR_REVERSE),
+ toInt(VehicleGear::GEAR_DRIVE), toInt(VehicleGear::GEAR_1),
+ toInt(VehicleGear::GEAR_2), toInt(VehicleGear::GEAR_3),
+ toInt(VehicleGear::GEAR_4), toInt(VehicleGear::GEAR_5)},
+ },
+ .initialValue = {.int32Values = {toInt(VehicleGear::GEAR_PARK)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::TURN_SIGNAL_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {toInt(VehicleTurnSignal::NONE)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::IGNITION_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {toInt(VehicleIgnitionState::ON)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::ENGINE_OIL_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {toInt(VehicleOilLevel::NORMAL)}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::ENGINE_OIL_TEMP),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .minSampleRate = 0.1, // 0.1 Hz, every 10 seconds
+ .maxSampleRate = 10, // 10 Hz, every 100 ms
+ },
+ .initialValue = {.floatValues = {101.0f}}},
+
+ {
+ .config = {.prop = kMixedTypePropertyForTest,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {1, 1, 0, 2, 0, 0, 1, 0, 0}},
+ .initialValue =
+ {
+ .int32Values = {1 /* indicate TRUE boolean value */, 2, 3},
+ .floatValues = {4.5f},
+ .stringValue = "MIXED property",
+ },
+ },
+
+ {.config = {.prop = toInt(VehicleProperty::DOOR_LOCK),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = DOOR_1_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
+ VehicleAreaConfig{.areaId = DOOR_2_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
+ .initialAreaValues = {{DOOR_1_LEFT, {.int32Values = {1}}},
+ {DOOR_1_RIGHT, {.int32Values = {1}}},
+ {DOOR_2_LEFT, {.int32Values = {1}}},
+ {DOOR_2_RIGHT, {.int32Values = {1}}}}},
+
+ {.config = {.prop = toInt(VehicleProperty::DOOR_POS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs =
+ {VehicleAreaConfig{
+ .areaId = DOOR_1_LEFT, .minInt32Value = 0, .maxInt32Value = 1},
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 1},
+ VehicleAreaConfig{
+ .areaId = DOOR_2_LEFT, .minInt32Value = 0, .maxInt32Value = 1},
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 1},
+ VehicleAreaConfig{
+ .areaId = DOOR_REAR, .minInt32Value = 0, .maxInt32Value = 1}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::WINDOW_LOCK),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = WINDOW_1_RIGHT | WINDOW_2_LEFT |
+ WINDOW_2_RIGHT}}},
+ .initialAreaValues = {{WINDOW_1_RIGHT | WINDOW_2_LEFT | WINDOW_2_RIGHT,
+ {.int32Values = {0}}}}},
+
+ {.config = {.prop = toInt(VehicleProperty::WINDOW_POS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = WINDOW_1_LEFT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_1_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_2_LEFT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_2_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_ROOF_TOP_1,
+ .minInt32Value = -10,
+ .maxInt32Value = 10}}},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = WHEEL_TICK,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .configArray = {ALL_WHEELS, 50000, 50000, 50000, 50000},
+ .minSampleRate = 1.0f,
+ .maxSampleRate = 10.0f,
+ },
+ .initialValue = {.int64Values = {0, 100000, 200000, 300000, 400000}}},
+
+ {.config = {.prop = ABS_ACTIVE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = TRACTION_CONTROL_ACTIVE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::AP_POWER_STATE_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {3}},
+ .initialValue = {.int32Values = {toInt(VehicleApPowerStateReq::ON), 0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::AP_POWER_STATE_REPORT),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {toInt(VehicleApPowerStateReport::WAIT_FOR_VHAL), 0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::DISPLAY_BRIGHTNESS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.minInt32Value = 0, .maxInt32Value = 100}}},
+ .initialValue = {.int32Values = {100}}},
+
+ {
+ .config = {.prop = OBD2_LIVE_FRAME,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0, 0}},
+ },
+
+ {
+ .config = {.prop = OBD2_FREEZE_FRAME,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0, 0}},
+ },
+
+ {
+ .config = {.prop = OBD2_FREEZE_FRAME_INFO,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ },
+
+ {
+ .config = {.prop = OBD2_FREEZE_FRAME_CLEAR,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {1}},
+ },
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HEADLIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_STATE_ON}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HIGH_BEAM_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_STATE_ON}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::FOG_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_STATE_ON}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HAZARD_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_STATE_ON}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HEADLIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::FOG_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::HAZARD_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::EVS_SERVICE_REQUEST),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {toInt(EvsServiceType::REARVIEW),
+ toInt(EvsServiceState::OFF)}}},
+
+ {.config = {.prop = VEHICLE_MAP_SERVICE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE}},
+
+ // Example Vendor Extension properties for testing
+ {.config = {.prop = VENDOR_EXTENSION_BOOLEAN_PROPERTY,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = DOOR_1_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
+ VehicleAreaConfig{.areaId = DOOR_2_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
+ .initialAreaValues = {{DOOR_1_LEFT, {.int32Values = {1}}},
+ {DOOR_1_RIGHT, {.int32Values = {1}}},
+ {DOOR_2_LEFT, {.int32Values = {0}}},
+ {DOOR_2_RIGHT, {.int32Values = {0}}}}},
+
+ {.config = {.prop = VENDOR_EXTENSION_FLOAT_PROPERTY,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_LEFT,
+ .minFloatValue = -10,
+ .maxFloatValue = 10},
+ VehicleAreaConfig{.areaId = HVAC_RIGHT,
+ .minFloatValue = -10,
+ .maxFloatValue = 10}}},
+ .initialAreaValues = {{HVAC_LEFT, {.floatValues = {1}}},
+ {HVAC_RIGHT, {.floatValues = {2}}}}},
+
+ {.config = {.prop = VENDOR_EXTENSION_INT_PROPERTY,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs =
+ {VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD),
+ .minInt32Value = -100,
+ .maxInt32Value = 100},
+ VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD),
+ .minInt32Value = -100,
+ .maxInt32Value = 100},
+ VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::ROOF_TOP_1),
+ .minInt32Value = -100,
+ .maxInt32Value = 100}}},
+ .initialAreaValues = {{toInt(VehicleAreaWindow::FRONT_WINDSHIELD), {.int32Values = {1}}},
+ {toInt(VehicleAreaWindow::REAR_WINDSHIELD), {.int32Values = {0}}},
+ {toInt(VehicleAreaWindow::ROOF_TOP_1), {.int32Values = {-1}}}}},
+
+ {.config = {.prop = VENDOR_EXTENSION_STRING_PROPERTY,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.stringValue = "Vendor String Property"}},
+
+ {.config = {.prop = toInt(VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config = {.prop = toInt(VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_STATUS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {0}}},
+
+ {.config =
+ {
+ .prop = toInt(VehicleProperty::SUPPORT_CUSTOMIZE_VENDOR_PERMISSION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {kMixedTypePropertyForTest,
+ toInt(VehicleVendorPermission::
+ PERMISSION_GET_VENDOR_CATEGORY_INFO),
+ toInt(VehicleVendorPermission::
+ PERMISSION_SET_VENDOR_CATEGORY_INFO),
+ VENDOR_EXTENSION_INT_PROPERTY,
+ toInt(VehicleVendorPermission::
+ PERMISSION_GET_VENDOR_CATEGORY_SEAT),
+ toInt(VehicleVendorPermission::PERMISSION_NOT_ACCESSIBLE),
+ VENDOR_EXTENSION_FLOAT_PROPERTY,
+ toInt(VehicleVendorPermission::PERMISSION_DEFAULT),
+ toInt(VehicleVendorPermission::PERMISSION_DEFAULT)},
+ },
+ .initialValue = {.int32Values = {1}}},
+
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::INITIAL_USER_INFO),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::SWITCH_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CREATE_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::REMOVE_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::USER_IDENTIFICATION_ASSOCIATION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::POWER_POLICY_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::POWER_POLICY_GROUP_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CURRENT_POWER_POLICY),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::EPOCH_TIME),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::WATCHDOG_ALIVE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::WATCHDOG_TERMINATED_PROCESS),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::VHAL_HEARTBEAT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CLUSTER_SWITCH_UI),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0 /* ClusterHome */, -1 /* ClusterNone */}},
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CLUSTER_DISPLAY_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0 /* Off */, -1, -1, -1, -1 /* Bounds */, -1, -1,
+ -1, -1 /* Insets */}},
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CLUSTER_REPORT_STATE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0, 0, 0, 11, 0, 0, 0, 0, 16},
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CLUSTER_REQUEST_DISPLAY),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = toInt(VehicleProperty::CLUSTER_NAVIGATION_STATE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = PLACEHOLDER_PROPERTY_INT,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0}},
+ },
+ {
+ .config =
+ {
+ .prop = PLACEHOLDER_PROPERTY_FLOAT,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.floatValues = {0.0f}},
+ },
+ {
+ .config =
+ {
+ .prop = PLACEHOLDER_PROPERTY_BOOLEAN,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0 /* false */}},
+ },
+ {
+ .config =
+ {
+ .prop = PLACEHOLDER_PROPERTY_STRING,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.stringValue = {"Test"}},
+ },
+#ifdef ENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING
+ // Vendor propetry for E2E ClusterHomeService testing.
+ {
+ .config =
+ {
+ .prop = VENDOR_CLUSTER_SWITCH_UI,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = VENDOR_CLUSTER_DISPLAY_STATE,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+ {
+ .config =
+ {
+ .prop = VENDOR_CLUSTER_REPORT_STATE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {0, 0, 0, 11, 0, 0, 0, 0, 16},
+ },
+ .initialValue = {.int32Values = {0 /* Off */, -1, -1, -1, -1 /* Bounds */, -1, -1,
+ -1, -1 /* Insets */, 0 /* ClusterHome */,
+ -1 /* ClusterNone */}},
+ },
+ {
+ .config =
+ {
+ .prop = VENDOR_CLUSTER_REQUEST_DISPLAY,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ .initialValue = {.int32Values = {0 /* ClusterHome */}},
+ },
+ {
+ .config =
+ {
+ .prop = VENDOR_CLUSTER_NAVIGATION_STATE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ },
+ },
+#endif // ENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING
+};
+
+} // namespace defaultconfig_impl
+
+// public namespace
+namespace defaultconfig {
+
+typedef defaultconfig_impl::ConfigDeclaration ConfigDeclaration;
+
+inline constexpr const std::vector<ConfigDeclaration>& getDefaultConfigs() {
+ return defaultconfig_impl::kVehicleProperties;
+}
+
+} // namespace defaultconfig
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_default_config_include_DefaultConfig_H_
diff --git a/automotive/vehicle/aidl/impl/default_config/test/Android.bp b/automotive/vehicle/aidl/impl/default_config/test/Android.bp
new file mode 100644
index 0000000..771472c
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/default_config/test/Android.bp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_test {
+ name: "VehicleHalDefaultConfigTest",
+ vendor: true,
+ defaults: ["VehicleHalDefaults"],
+ srcs: ["*.cpp"],
+ static_libs: [
+ "VehicleHalUtils",
+ "libgtest",
+ ],
+ header_libs: [
+ "VehicleHalDefaultConfig",
+ ],
+ test_suites: ["device-tests"],
+}
diff --git a/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
new file mode 100644
index 0000000..baaae75
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <DefaultConfig.h>
+#include <VehicleUtils.h>
+#include <gtest/gtest.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace defaultconfig {
+
+namespace test {
+
+TEST(DefaultConfigTest, loadDefaultConfigs) {
+ for (ConfigDeclaration config : getDefaultConfigs()) {
+ ASSERT_NE(0, config.config.prop);
+ }
+}
+
+} // namespace test
+
+} // namespace defaultconfig
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
new file mode 100644
index 0000000..2b0b11f
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+cc_library {
+ name: "VehicleHalProtoMessageConverter",
+ srcs: [
+ "src/*.cpp",
+ ],
+ vendor: true,
+ local_include_dirs: ["include"],
+ export_include_dirs: ["include"],
+ shared_libs: ["libprotobuf-cpp-full"],
+ static_libs: [
+ "VehicleHalProtos",
+ "VehicleHalUtils",
+ ],
+ defaults: ["VehicleHalDefaults"],
+ export_static_lib_headers: ["VehicleHalUtils"],
+}
+
+cc_test {
+ name: "VehicleHalProtoMessageConverterTest",
+ srcs: [
+ "test/*.cpp",
+ ],
+ vendor: true,
+ defaults: ["VehicleHalDefaults"],
+ shared_libs: ["libprotobuf-cpp-full"],
+ static_libs: [
+ "VehicleHalProtoMessageConverter",
+ "VehicleHalProtos",
+ "VehicleHalUtils",
+ "libgtest",
+ ],
+ header_libs: ["VehicleHalDefaultConfig"],
+ test_suites: ["device-tests"],
+}
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h
new file mode 100644
index 0000000..1c26fe8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
+#define android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
+
+#include <VehicleHalTypes.h>
+#include <android/hardware/automotive/vehicle/VehicleAreaConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropValue.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+// Convert AIDL VehiclePropConfig to Protobuf VehiclePropConfig.
+void aidlToProto(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig& inAidlConfig,
+ ::android::hardware::automotive::vehicle::proto::VehiclePropConfig* outProtoConfig);
+// Convert Protobuf VehiclePropConfig to AIDL VehiclePropConfig.
+void protoToAidl(
+ const ::android::hardware::automotive::vehicle::proto::VehiclePropConfig& inProtoConfig,
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig* outAidlConfig);
+// Convert AIDL VehiclePropValue to Protobuf VehiclePropValue.
+void aidlToProto(const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& inAidlVal,
+ ::android::hardware::automotive::vehicle::proto::VehiclePropValue* outProtoVal);
+// Convert Protobuf VehiclePropValue to AIDL VehiclePropValue.
+void protoToAidl(
+ const ::android::hardware::automotive::vehicle::proto::VehiclePropValue& inProtoVal,
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropValue* outAidlVal);
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp
new file mode 100644
index 0000000..6cbc7e5
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ProtoMsgConverter"
+
+#include "ProtoMessageConverter.h"
+
+#include <VehicleUtils.h>
+
+#include <memory>
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle;
+namespace proto = ::android::hardware::automotive::vehicle::proto;
+
+// Copy the vector PROTO_VECNAME of protobuf class PROTO_VALUE to
+// VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME, every element of PROTO_VECNAME is casted by CAST.
+#define CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE(PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, \
+ VHAL_TYPE_VECNAME, CAST) \
+ do { \
+ (VHAL_TYPE_VALUE)->VHAL_TYPE_VECNAME.resize(PROTO_VALUE.PROTO_VECNAME##_size()); \
+ size_t idx = 0; \
+ for (auto& value : PROTO_VALUE.PROTO_VECNAME()) { \
+ VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME[idx++] = CAST(value); \
+ } \
+ } while (0)
+
+// Copying the vector PROTO_VECNAME of protobuf class PROTO_VALUE to
+// VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME.
+#define COPY_PROTOBUF_VEC_TO_VHAL_TYPE(PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, \
+ VHAL_TYPE_VECNAME) \
+ CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE( \
+ PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, VHAL_TYPE_VECNAME, /*NO CAST*/)
+
+void aidlToProto(const aidl_vehicle::VehiclePropConfig& in, proto::VehiclePropConfig* out) {
+ out->set_prop(in.prop);
+ out->set_access(static_cast<proto::VehiclePropertyAccess>(toInt(in.access)));
+ out->set_change_mode(static_cast<proto::VehiclePropertyChangeMode>(toInt(in.changeMode)));
+ out->set_config_string(in.configString.c_str(), in.configString.size());
+ out->set_min_sample_rate(in.minSampleRate);
+ out->set_max_sample_rate(in.maxSampleRate);
+
+ for (auto& configElement : in.configArray) {
+ out->add_config_array(configElement);
+ }
+
+ out->clear_area_configs();
+ for (auto& areaConfig : in.areaConfigs) {
+ auto* protoACfg = out->add_area_configs();
+ protoACfg->set_area_id(areaConfig.areaId);
+ protoACfg->set_min_int64_value(areaConfig.minInt64Value);
+ protoACfg->set_max_int64_value(areaConfig.maxInt64Value);
+ protoACfg->set_min_float_value(areaConfig.minFloatValue);
+ protoACfg->set_max_float_value(areaConfig.maxFloatValue);
+ protoACfg->set_min_int32_value(areaConfig.minInt32Value);
+ protoACfg->set_max_int32_value(areaConfig.maxInt32Value);
+ }
+}
+
+void protoToAidl(const proto::VehiclePropConfig& in, aidl_vehicle::VehiclePropConfig* out) {
+ out->prop = in.prop();
+ out->access = static_cast<aidl_vehicle::VehiclePropertyAccess>(in.access());
+ out->changeMode = static_cast<aidl_vehicle::VehiclePropertyChangeMode>(in.change_mode());
+ out->configString = in.config_string();
+ out->minSampleRate = in.min_sample_rate();
+ out->maxSampleRate = in.max_sample_rate();
+
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, config_array, out, configArray);
+
+ auto cast_to_acfg = [](const proto::VehicleAreaConfig& protoAcfg) {
+ return aidl_vehicle::VehicleAreaConfig{
+ .areaId = protoAcfg.area_id(),
+ .minInt32Value = protoAcfg.min_int32_value(),
+ .maxInt32Value = protoAcfg.max_int32_value(),
+ .minInt64Value = protoAcfg.min_int64_value(),
+ .maxInt64Value = protoAcfg.max_int64_value(),
+ .minFloatValue = protoAcfg.min_float_value(),
+ .maxFloatValue = protoAcfg.max_float_value(),
+ };
+ };
+ CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, area_configs, out, areaConfigs, cast_to_acfg);
+}
+
+void aidlToProto(const aidl_vehicle::VehiclePropValue& in, proto::VehiclePropValue* out) {
+ out->set_prop(in.prop);
+ out->set_timestamp(in.timestamp);
+ out->set_status(static_cast<proto::VehiclePropertyStatus>(in.status));
+ out->set_area_id(in.areaId);
+ out->set_string_value(in.value.stringValue);
+ out->set_byte_values(in.value.byteValues.data(), in.value.byteValues.size());
+
+ for (auto& int32Value : in.value.int32Values) {
+ out->add_int32_values(int32Value);
+ }
+
+ for (auto& int64Value : in.value.int64Values) {
+ out->add_int64_values(int64Value);
+ }
+
+ for (auto& floatValue : in.value.floatValues) {
+ out->add_float_values(floatValue);
+ }
+}
+
+void protoToAidl(const proto::VehiclePropValue& in, aidl_vehicle::VehiclePropValue* out) {
+ out->prop = in.prop();
+ out->timestamp = in.timestamp();
+ out->status = static_cast<aidl_vehicle::VehiclePropertyStatus>(in.status());
+ out->areaId = in.area_id();
+ out->value.stringValue = in.string_value();
+ for (const char& byte : in.byte_values()) {
+ out->value.byteValues.push_back(byte);
+ }
+
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, int32_values, out, value.int32Values);
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, int64_values, out, value.int64Values);
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, float_values, out, value.floatValues);
+}
+
+#undef COPY_PROTOBUF_VEC_TO_VHAL_TYPE
+#undef CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp
new file mode 100644
index 0000000..d5f2373
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <vector>
+
+#include <DefaultConfig.h>
+#include <ProtoMessageConverter.h>
+#include <VehicleHalTypes.h>
+#include <android-base/format.h>
+#include <android/hardware/automotive/vehicle/VehiclePropConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropValue.pb.h>
+#include <gtest/gtest.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+namespace {
+
+namespace proto = ::android::hardware::automotive::vehicle::proto;
+namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle;
+
+std::vector<aidl_vehicle::VehiclePropConfig> prepareTestConfigs() {
+ std::vector<aidl_vehicle::VehiclePropConfig> configs;
+ for (auto& property : defaultconfig::getDefaultConfigs()) {
+ configs.push_back(property.config);
+ }
+ return configs;
+}
+
+std::vector<aidl_vehicle::VehiclePropValue> prepareTestValues() {
+ std::vector<aidl_vehicle::VehiclePropValue> values;
+ long timestamp = 1;
+ for (auto& property : defaultconfig::getDefaultConfigs()) {
+ values.push_back({
+ .timestamp = timestamp,
+ .areaId = 123,
+ .prop = property.config.prop,
+ .value = property.initialValue,
+ .status = aidl_vehicle::VehiclePropertyStatus::ERROR,
+ });
+ }
+ return values;
+}
+
+class PropConfigConversionTest : public testing::TestWithParam<aidl_vehicle::VehiclePropConfig> {};
+
+class PropValueConversionTest : public testing::TestWithParam<aidl_vehicle::VehiclePropValue> {};
+
+} // namespace
+
+TEST_P(PropConfigConversionTest, testConversion) {
+ proto::VehiclePropConfig protoCfg;
+ aidl_vehicle::VehiclePropConfig aidlCfg;
+
+ aidlToProto(GetParam(), &protoCfg);
+ protoToAidl(protoCfg, &aidlCfg);
+
+ EXPECT_EQ(aidlCfg, GetParam());
+}
+
+TEST_P(PropValueConversionTest, testConversion) {
+ proto::VehiclePropValue protoVal;
+ aidl_vehicle::VehiclePropValue aidlVal;
+
+ aidlToProto(GetParam(), &protoVal);
+ protoToAidl(protoVal, &aidlVal);
+
+ EXPECT_EQ(aidlVal, GetParam());
+}
+
+INSTANTIATE_TEST_SUITE_P(DefaultConfigs, PropConfigConversionTest,
+ ::testing::ValuesIn(prepareTestConfigs()),
+ [](const ::testing::TestParamInfo<aidl_vehicle::VehiclePropConfig>& info) {
+ return ::fmt::format("property_{:d}", info.param.prop);
+ });
+
+INSTANTIATE_TEST_SUITE_P(TestValues, PropValueConversionTest,
+ ::testing::ValuesIn(prepareTestValues()),
+ [](const ::testing::TestParamInfo<aidl_vehicle::VehiclePropValue>& info) {
+ return ::fmt::format("property_{:d}", info.param.prop);
+ });
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/hardware/Android.bp b/automotive/vehicle/aidl/impl/hardware/Android.bp
new file mode 100644
index 0000000..edb0f29
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/hardware/Android.bp
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library_headers {
+ name: "IVehicleHardware",
+ vendor: true,
+ export_include_dirs: [
+ "include",
+ ],
+ header_libs: [
+ "VehicleHalUtilHeaders",
+ ],
+ export_header_lib_headers: [
+ "VehicleHalUtilHeaders",
+ ],
+}
diff --git a/automotive/vehicle/aidl/impl/hardware/include/IVehicleHardware.h b/automotive/vehicle/aidl/impl/hardware/include/IVehicleHardware.h
new file mode 100644
index 0000000..981088a
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/hardware/include/IVehicleHardware.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_hardware_include_IVehicleHardware_H_
+#define android_hardware_automotive_vehicle_aidl_impl_hardware_include_IVehicleHardware_H_
+
+#include <VehicleHalTypes.h>
+
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+// A structure used to return dumped information.
+struct DumpResult {
+ // If callerShouldDumpState is true, caller would print the information in buffer and
+ // continue to dump its state, otherwise would just dump the buffer and skip its own
+ // dumping logic.
+ bool callerShouldDumpState;
+ // The dumped information for the caller to print.
+ std::string buffer;
+};
+
+// A request type for 'setValues' or 'getValues' method.
+struct VehiclePropValueRequest {
+ // A unique request ID set by the sender.
+ int requestId;
+ // The property to get/set.
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropValue value;
+};
+
+// A structure to represent a set value error event reported from vehicle.
+struct SetValueErrorEvent {
+ ::aidl::android::hardware::automotive::vehicle::StatusCode errorCode;
+ int32_t propId;
+ int32_t areaId;
+};
+
+// An abstract interface to access vehicle hardware.
+// For virtualized VHAL, GrpcVehicleHardware would communicate with a VehicleHardware
+// implementation in another VM through GRPC. For non-virtualzied VHAL, VHAL directly communicates
+// with a VehicleHardware through this interface.
+class IVehicleHardware {
+ public:
+ virtual ~IVehicleHardware() = default;
+
+ // Get all the property configs.
+ virtual std::vector<::aidl::android::hardware::automotive::vehicle::VehiclePropConfig>
+ getAllPropertyConfigs() const = 0;
+
+ // Set property values asynchronously. Server could return before the property set requests
+ // are sent to vehicle bus or before property set confirmation is received. The callback is
+ // safe to be called after the function returns and is safe to be called in a different thread.
+ virtual ::aidl::android::hardware::automotive::vehicle::StatusCode setValues(
+ std::function<void(const std::vector<
+ ::aidl::android::hardware::automotive::vehicle::SetValueResult>&)>&&
+ callback,
+ const std::vector<VehiclePropValueRequest>& requests) = 0;
+
+ // Get property values asynchronously. Server could return before the property values are ready.
+ // The callback is safe to be called after the function returns and is safe to be called in a
+ // different thread.
+ virtual ::aidl::android::hardware::automotive::vehicle::StatusCode getValues(
+ std::function<void(const std::vector<
+ ::aidl::android::hardware::automotive::vehicle::GetValueResult>&)>&&
+ callback,
+ const std::vector<VehiclePropValueRequest>& requests) const = 0;
+
+ // Dump debug information in the server.
+ virtual DumpResult dump(const std::vector<std::string>& options) = 0;
+
+ // Check whether the system is healthy, return {@code StatusCode::OK} for healthy.
+ virtual ::aidl::android::hardware::automotive::vehicle::StatusCode checkHealth() = 0;
+
+ // Register a callback that would be called when there is a property change event from vehicle.
+ virtual void registerOnPropertyChangeEvent(
+ std::function<void(const std::vector<::aidl::android::hardware::automotive::vehicle::
+ VehiclePropValue>&)>&& callback) = 0;
+
+ // Register a callback that would be called when there is a property set error event from
+ // vehicle.
+ virtual void registerOnPropertySetErrorEvent(
+ std::function<void(const std::vector<SetValueErrorEvent>&)>&& callback) = 0;
+};
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_hardware_include_IVehicleHardware_H_
diff --git a/automotive/vehicle/aidl/impl/proto/Android.bp b/automotive/vehicle/aidl/impl/proto/Android.bp
new file mode 100644
index 0000000..80966df
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/Android.bp
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+filegroup {
+ name: "VehicleHalProtoFiles",
+ srcs: ["**/*.proto"],
+ visibility: ["//hardware/interfaces/automotive/vehicle:__subpackages__"],
+}
+
+genrule {
+ name: "VehicleProtoStub_h",
+ tools: [
+ "aprotoc",
+ "protoc-gen-grpc-cpp-plugin",
+ ],
+ cmd: "$(location aprotoc) -Ihardware/interfaces/automotive/vehicle/aidl/impl/proto -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
+ srcs: [
+ ":VehicleHalProtoFiles",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/DumpResult.pb.h",
+ "android/hardware/automotive/vehicle/StatusCode.pb.h",
+ "android/hardware/automotive/vehicle/VehicleAreaConfig.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropConfig.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropValue.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropValueRequest.pb.h",
+ ],
+}
+
+genrule {
+ name: "VehicleProtoStub_cc",
+ tools: [
+ "aprotoc",
+ "protoc-gen-grpc-cpp-plugin",
+ ],
+ cmd: "$(location aprotoc) -Ihardware/interfaces/automotive/vehicle/aidl/impl/proto -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
+ srcs: [
+ ":VehicleHalProtoFiles",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/DumpResult.pb.cc",
+ "android/hardware/automotive/vehicle/StatusCode.pb.cc",
+ "android/hardware/automotive/vehicle/VehicleAreaConfig.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropConfig.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropValue.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropValueRequest.pb.cc",
+ ],
+}
+
+cc_library_static {
+ name: "VehicleHalProtos",
+ vendor: true,
+ host_supported: true,
+ include_dirs: [
+ "external/protobuf/src",
+ ],
+ generated_headers: [
+ "VehicleProtoStub_h",
+ ],
+ export_generated_headers: [
+ "VehicleProtoStub_h",
+ ],
+ generated_sources: [
+ "VehicleProtoStub_cc",
+ ],
+ shared_libs: [
+ "libgrpc++_unsecure",
+ ],
+ cflags: [
+ "-Wno-unused-parameter",
+ ],
+}
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto
new file mode 100644
index 0000000..25bb7d4
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+message DumpResult {
+ /* If callerShouldDumpState is true, caller would print the information in buffer and
+ * continue to dump its state, otherwise would just dump the buffer and skip its own
+ * dumping logic. */
+ bool caller_should_dump_state = 1;
+ /* The dumped information for the caller to print. */
+ string buffer = 2;
+}
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto
new file mode 100644
index 0000000..97cb0f8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with StatusCode.aidl. */
+enum StatusCode {
+ OK = 0;
+
+ /* Try again. */
+ TRY_AGAIN = 1;
+
+ /* Invalid argument provided. */
+ INVALID_ARG = 2;
+
+ /* This code must be returned when device that associated with the vehicle
+ * property is not available. For example, when client tries to set HVAC
+ * temperature when the whole HVAC unit is turned OFF. */
+ NOT_AVAILABLE = 3;
+
+ /* Access denied */
+ ACCESS_DENIED = 4;
+
+ /* Something unexpected has happened in Vehicle HAL */
+ INTERNAL_ERROR = 5;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
new file mode 100644
index 0000000..b5b7e80
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehicleAreaConfig.aidl. */
+message VehicleAreaConfig {
+ /* Area id is ignored for VehiclePropertyGroup:GLOBAL properties. */
+ int32 area_id = 1;
+
+ /* If the property has @data_enum, leave the range to zero.
+ *
+ * Range will be ignored in the following cases:
+ * - The VehiclePropertyType is not INT32, INT64 or FLOAT.
+ * - Both of min value and max value are zero. */
+ int32 min_int32_value = 2;
+ int32 max_int32_value = 3;
+
+ int64 min_int64_value = 4;
+ int64 max_int64_value = 5;
+
+ float min_float_value = 6;
+ float max_float_value = 7;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto
new file mode 100644
index 0000000..e230d15
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehicleAreaConfig.proto";
+import "android/hardware/automotive/vehicle/VehiclePropertyAccess.proto";
+import "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto";
+
+/* Must be in sync with VehiclePropConfig.aidl. */
+message VehiclePropConfig {
+ /* Property identifier */
+ int32 prop = 1;
+
+ /* Defines if the property is read or write or both. */
+ VehiclePropertyAccess access = 2;
+
+ /* Defines the change mode of the property. */
+ VehiclePropertyChangeMode change_mode = 3;
+
+ /* Contains per-area configuration. */
+ repeated VehicleAreaConfig area_configs = 4;
+
+ /* Contains additional configuration parameters */
+ repeated int32 config_array = 5;
+
+ /* Some properties may require additional information passed over this
+ * string. Most properties do not need to set this. */
+ bytes config_string = 6;
+
+ /* Min sample rate in Hz.
+ * Must be defined for VehiclePropertyChangeMode::CONTINUOUS */
+ float min_sample_rate = 7;
+
+ /* Must be defined for VehiclePropertyChangeMode::CONTINUOUS
+ * Max sample rate in Hz. */
+ float max_sample_rate = 8;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto
new file mode 100644
index 0000000..80c73cb
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehiclePropertyStatus.proto";
+
+/* Must be in sync with VehiclePropValue.aidl. */
+message VehiclePropValue {
+ /* Time is elapsed nanoseconds since boot */
+ int64 timestamp = 1;
+
+ /* Area type(s) for non-global property it must be one of the value from
+ * VehicleArea* enums or 0 for global properties. */
+ int32 area_id = 2;
+
+ /* Property identifier */
+ int32 prop = 3;
+
+ /* Status of the property */
+ VehiclePropertyStatus status = 4;
+
+ /* This is used for properties of types VehiclePropertyType#INT
+ * and VehiclePropertyType#INT_VEC */
+ repeated int32 int32_values = 5;
+
+ /* This is used for properties of types VehiclePropertyType#FLOAT
+ * and VehiclePropertyType#FLOAT_VEC */
+ repeated float float_values = 6;
+
+ /* This is used for properties of type VehiclePropertyType#INT64 */
+ repeated int64 int64_values = 7;
+
+ /* This is used for properties of type VehiclePropertyType#BYTES */
+ bytes byte_values = 8;
+
+ /* This is used for properties of type VehiclePropertyType#STRING */
+ string string_value = 9;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto
new file mode 100644
index 0000000..b16daa8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehiclePropValue.proto";
+
+message VehiclePropValueRequest {
+ int32 request_id = 1;
+ VehiclePropValue value = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto
new file mode 100644
index 0000000..55840f0
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyAccess.aidl. */
+enum VehiclePropertyAccess {
+ NONE = 0;
+ READ = 1;
+ WRITE = 2;
+ READ_WRITE = 3;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto
new file mode 100644
index 0000000..c681e3b
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyChangeMode.aidl. */
+enum VehiclePropertyChangeMode {
+ /* Property of this type must never be changed. Subscription is not supported
+ * for these properties. */
+ STATIC = 0;
+
+ /* Properties of this type must report when there is a change.
+ * IVehicle#get call must return the current value.
+ * Set operation for this property is assumed to be asynchronous. When the
+ * property is read (using IVehicle#get) after IVehicle#set, it may still
+ * return old value until underlying H/W backing this property has actually
+ * changed the state. Once state is changed, the property must dispatch
+ * changed value as event. */
+ ON_CHANGE = 1;
+
+ /* Properties of this type change continuously and require a fixed rate of
+ * sampling to retrieve the data. Implementers may choose to send extra
+ * notifications on significant value changes. */
+ CONTINUOUS = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto
new file mode 100644
index 0000000..a44c8f0
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyStatus.aidl. */
+enum VehiclePropertyStatus {
+ /* Property is available and behaving normally */
+ AVAILABLE = 0;
+ /* A property in this state is not available for reading and writing. This
+ * is a transient state that depends on the availability of the underlying
+ * implementation (e.g. hardware or driver). It MUST NOT be used to
+ * represent features that this vehicle is always incapable of. A get() of
+ * a property in this state MAY return an undefined value, but MUST
+ * correctly describe its status as UNAVAILABLE A set() of a property in
+ * this state MAY return NOT_AVAILABLE. The HAL implementation MUST ignore
+ * the value of the status field when writing a property value coming from
+ * Android. */
+ UNAVAILABLE = 1;
+ /* There is an error with this property. */
+ ERROR = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/utils/common/Android.bp b/automotive/vehicle/aidl/impl/utils/common/Android.bp
new file mode 100644
index 0000000..ace505d
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/Android.bp
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library {
+ name: "VehicleHalUtils",
+ srcs: ["src/*.cpp"],
+ vendor: true,
+ local_include_dirs: ["include"],
+ export_include_dirs: ["include"],
+ defaults: ["VehicleHalDefaults"],
+}
+
+cc_library_headers {
+ name: "VehicleHalUtilHeaders",
+ export_include_dirs: ["include"],
+ vendor: true,
+}
diff --git a/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h
new file mode 100644
index 0000000..441c54b
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/include/PropertyUtils.h
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_utils_common_include_PropertyUtils_H_
+#define android_hardware_automotive_vehicle_aidl_impl_utils_common_include_PropertyUtils_H_
+
+#include <VehicleHalTypes.h>
+#include <VehicleUtils.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+namespace propertyutils_impl {
+
+// These names are not part of the API since we only expose ints.
+using ::aidl::android::hardware::automotive::vehicle::PortLocationType;
+using ::aidl::android::hardware::automotive::vehicle::VehicleArea;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaDoor;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaSeat;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaWheel;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaWindow;
+using ::aidl::android::hardware::automotive::vehicle::VehicleHvacFanDirection;
+using ::aidl::android::hardware::automotive::vehicle::VehicleLightState;
+using ::aidl::android::hardware::automotive::vehicle::VehicleLightSwitch;
+using ::aidl::android::hardware::automotive::vehicle::VehicleProperty;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType;
+
+} // namespace propertyutils_impl
+
+// Some handy constants to avoid conversions from enum to int.
+constexpr int ABS_ACTIVE = toInt(propertyutils_impl::VehicleProperty::ABS_ACTIVE);
+constexpr int AP_POWER_STATE_REQ = toInt(propertyutils_impl::VehicleProperty::AP_POWER_STATE_REQ);
+constexpr int AP_POWER_STATE_REPORT =
+ toInt(propertyutils_impl::VehicleProperty::AP_POWER_STATE_REPORT);
+constexpr int DOOR_1_LEFT = toInt(propertyutils_impl::VehicleAreaDoor::ROW_1_LEFT);
+constexpr int DOOR_1_RIGHT = toInt(propertyutils_impl::VehicleAreaDoor::ROW_1_RIGHT);
+constexpr int DOOR_2_LEFT = toInt(propertyutils_impl::VehicleAreaDoor::ROW_2_LEFT);
+constexpr int DOOR_2_RIGHT = toInt(propertyutils_impl::VehicleAreaDoor::ROW_2_RIGHT);
+constexpr int DOOR_REAR = toInt(propertyutils_impl::VehicleAreaDoor::REAR);
+constexpr int WINDOW_1_LEFT = toInt(propertyutils_impl::VehicleAreaWindow::ROW_1_LEFT);
+constexpr int WINDOW_1_RIGHT = toInt(propertyutils_impl::VehicleAreaWindow::ROW_1_RIGHT);
+constexpr int WINDOW_2_LEFT = toInt(propertyutils_impl::VehicleAreaWindow::ROW_2_LEFT);
+constexpr int WINDOW_2_RIGHT = toInt(propertyutils_impl::VehicleAreaWindow::ROW_2_RIGHT);
+constexpr int WINDOW_ROOF_TOP_1 = toInt(propertyutils_impl::VehicleAreaWindow::ROOF_TOP_1);
+constexpr int FAN_DIRECTION_FACE = toInt(propertyutils_impl::VehicleHvacFanDirection::FACE);
+constexpr int FAN_DIRECTION_FLOOR = toInt(propertyutils_impl::VehicleHvacFanDirection::FLOOR);
+constexpr int FAN_DIRECTION_DEFROST = toInt(propertyutils_impl::VehicleHvacFanDirection::DEFROST);
+constexpr int OBD2_LIVE_FRAME = toInt(propertyutils_impl::VehicleProperty::OBD2_LIVE_FRAME);
+constexpr int OBD2_FREEZE_FRAME = toInt(propertyutils_impl::VehicleProperty::OBD2_FREEZE_FRAME);
+constexpr int OBD2_FREEZE_FRAME_INFO =
+ toInt(propertyutils_impl::VehicleProperty::OBD2_FREEZE_FRAME_INFO);
+constexpr int OBD2_FREEZE_FRAME_CLEAR =
+ toInt(propertyutils_impl::VehicleProperty::OBD2_FREEZE_FRAME_CLEAR);
+constexpr int TRACTION_CONTROL_ACTIVE =
+ toInt(propertyutils_impl::VehicleProperty::TRACTION_CONTROL_ACTIVE);
+constexpr int VEHICLE_MAP_SERVICE = toInt(propertyutils_impl::VehicleProperty::VEHICLE_MAP_SERVICE);
+constexpr int WHEEL_TICK = toInt(propertyutils_impl::VehicleProperty::WHEEL_TICK);
+constexpr int SEAT_1_LEFT = toInt(propertyutils_impl::VehicleAreaSeat::ROW_1_LEFT);
+constexpr int SEAT_1_RIGHT = toInt(propertyutils_impl::VehicleAreaSeat::ROW_1_RIGHT);
+constexpr int SEAT_2_LEFT = toInt(propertyutils_impl::VehicleAreaSeat::ROW_2_LEFT);
+constexpr int SEAT_2_RIGHT = toInt(propertyutils_impl::VehicleAreaSeat::ROW_2_RIGHT);
+constexpr int SEAT_2_CENTER = toInt(propertyutils_impl::VehicleAreaSeat::ROW_2_CENTER);
+constexpr int VENDOR_EXTENSION_BOOLEAN_PROPERTY =
+ 0x101 | toInt(propertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(propertyutils_impl::VehiclePropertyType::BOOLEAN) |
+ toInt(propertyutils_impl::VehicleArea::DOOR);
+constexpr int VENDOR_EXTENSION_FLOAT_PROPERTY =
+ 0x102 | toInt(propertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(propertyutils_impl::VehiclePropertyType::FLOAT) |
+ toInt(propertyutils_impl::VehicleArea::SEAT);
+constexpr int VENDOR_EXTENSION_INT_PROPERTY =
+ 0x103 | toInt(propertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(propertyutils_impl::VehiclePropertyType::INT32) |
+ toInt(propertyutils_impl::VehicleArea::WINDOW);
+constexpr int VENDOR_EXTENSION_STRING_PROPERTY =
+ 0x104 | toInt(propertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(propertyutils_impl::VehiclePropertyType::STRING) |
+ toInt(propertyutils_impl::VehicleArea::GLOBAL);
+constexpr int FUEL_DOOR_REAR_LEFT = toInt(propertyutils_impl::PortLocationType::REAR_LEFT);
+constexpr int CHARGE_PORT_FRONT_LEFT = toInt(propertyutils_impl::PortLocationType::FRONT_LEFT);
+constexpr int CHARGE_PORT_REAR_LEFT = toInt(propertyutils_impl::PortLocationType::REAR_LEFT);
+constexpr int LIGHT_STATE_ON = toInt(propertyutils_impl::VehicleLightState::ON);
+constexpr int LIGHT_SWITCH_AUTO = toInt(propertyutils_impl::VehicleLightSwitch::AUTOMATIC);
+constexpr int WHEEL_FRONT_LEFT = toInt(propertyutils_impl::VehicleAreaWheel::LEFT_FRONT);
+constexpr int WHEEL_FRONT_RIGHT = toInt(propertyutils_impl::VehicleAreaWheel::RIGHT_FRONT);
+constexpr int WHEEL_REAR_LEFT = toInt(propertyutils_impl::VehicleAreaWheel::LEFT_REAR);
+constexpr int WHEEL_REAR_RIGHT = toInt(propertyutils_impl::VehicleAreaWheel::RIGHT_REAR);
+constexpr int ALL_WHEELS =
+ WHEEL_FRONT_LEFT | WHEEL_FRONT_RIGHT | WHEEL_REAR_LEFT | WHEEL_REAR_RIGHT;
+constexpr int HVAC_LEFT = SEAT_1_LEFT | SEAT_2_LEFT | SEAT_2_CENTER;
+constexpr int HVAC_RIGHT = SEAT_1_RIGHT | SEAT_2_RIGHT;
+constexpr int HVAC_ALL = HVAC_LEFT | HVAC_RIGHT;
+
+const int32_t kHvacPowerProperties[] = {
+ toInt(propertyutils_impl::VehicleProperty::HVAC_FAN_SPEED),
+ toInt(propertyutils_impl::VehicleProperty::HVAC_FAN_DIRECTION),
+};
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_utils_common_include_PropertyUtils_H_
diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h
new file mode 100644
index 0000000..99f6431
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleHalTypes.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleHalTypes_H_
+#define android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleHalTypes_H_
+
+#include <aidl/android/hardware/automotive/vehicle/EvConnectorType.h>
+#include <aidl/android/hardware/automotive/vehicle/EvsServiceState.h>
+#include <aidl/android/hardware/automotive/vehicle/EvsServiceType.h>
+#include <aidl/android/hardware/automotive/vehicle/FuelType.h>
+#include <aidl/android/hardware/automotive/vehicle/GetValueResult.h>
+#include <aidl/android/hardware/automotive/vehicle/PortLocationType.h>
+#include <aidl/android/hardware/automotive/vehicle/SetValueResult.h>
+#include <aidl/android/hardware/automotive/vehicle/StatusCode.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReport.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleApPowerStateReq.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleArea.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleAreaDoor.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleAreaSeat.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleAreaWheel.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleAreaWindow.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleGear.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleHvacFanDirection.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleIgnitionState.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleLightState.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleLightSwitch.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleOilLevel.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropConfig.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropConfigs.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropError.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropValue.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleProperty.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyGroup.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyStatus.h>
+#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyType.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleSeatOccupancyState.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleTurnSignal.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleUnit.h>
+#include <aidl/android/hardware/automotive/vehicle/VehicleVendorPermission.h>
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleHalTypes_H_
diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehiclePropertyStore.h b/automotive/vehicle/aidl/impl/utils/common/include/VehiclePropertyStore.h
new file mode 100644
index 0000000..b19ab84
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/include/VehiclePropertyStore.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehiclePropertyStore_H_
+#define android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehiclePropertyStore_H_
+
+#include <cstdint>
+#include <map>
+#include <memory>
+#include <mutex>
+#include <unordered_map>
+
+#include <VehicleHalTypes.h>
+#include <android-base/result.h>
+#include <android-base/thread_annotations.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+// Encapsulates work related to storing and accessing configuration, storing and modifying
+// vehicle property values.
+//
+// VehiclePropertyValues stored in a sorted map thus it makes easier to get range of values, e.g.
+// to get value for all areas for particular property.
+//
+// This class is thread-safe, however it uses blocking synchronization across all methods.
+class VehiclePropertyStore {
+ public:
+ // Function that used to calculate unique token for given VehiclePropValue.
+ using TokenFunction = ::std::function<int64_t(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& value)>;
+
+ // Register the given property according to the config. A property has to be registered first
+ // before write/read. If tokenFunc is not nullptr, it would be used to generate a unique
+ // property token to act as the key the property store. Otherwise, {propertyID, areaID} would be
+ // used as the key.
+ void registerProperty(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig& config,
+ TokenFunction tokenFunc = nullptr);
+
+ // Stores provided value. Returns true if value was written returns false if config wasn't
+ // registered.
+ ::android::base::Result<void> writeValue(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& propValue);
+
+ // Remove a given property value from the property store. The 'propValue' would be used to
+ // generate the key for the value to remove.
+ void removeValue(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& propValue);
+
+ // Remove all the values for the property.
+ void removeValuesForProperty(int32_t propId);
+
+ // Read all the stored values.
+ std::vector<::aidl::android::hardware::automotive::vehicle::VehiclePropValue> readAllValues()
+ const;
+
+ // Read all the values for the property.
+ ::android::base::Result<
+ std::vector<::aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
+ readValuesForProperty(int32_t propId) const;
+
+ // Read the value for the requested property.
+ ::android::base::Result<
+ std::unique_ptr<::aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
+ readValue(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& request) const;
+
+ // Read the value for the requested property.
+ ::android::base::Result<
+ std::unique_ptr<::aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
+ readValue(int32_t prop, int32_t area = 0, int64_t token = 0) const;
+
+ // Get all property configs.
+ std::vector<::aidl::android::hardware::automotive::vehicle::VehiclePropConfig> getAllConfigs()
+ const;
+
+ // Get the property config for the requested property.
+ ::android::base::Result<
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig*>
+ getConfig(int32_t propId) const;
+
+ private:
+ struct RecordId {
+ int32_t area;
+ int64_t token;
+
+ bool operator==(const RecordId& other) const;
+ bool operator<(const RecordId& other) const;
+
+ std::string toString() const;
+ };
+
+ struct Record {
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig propConfig;
+ TokenFunction tokenFunction;
+ std::map<RecordId, ::aidl::android::hardware::automotive::vehicle::VehiclePropValue> values;
+ };
+
+ mutable std::mutex mLock;
+ std::unordered_map<int32_t, Record> mRecordsByPropId GUARDED_BY(mLock);
+
+ const Record* getRecordLocked(int32_t propId) const;
+
+ Record* getRecordLocked(int32_t propId);
+
+ RecordId getRecordIdLocked(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& propValue,
+ const Record& record) const;
+
+ ::android::base::Result<
+ std::unique_ptr<::aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
+ readValueLocked(const RecordId& recId, const Record& record) const;
+};
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehiclePropertyStore_H_
diff --git a/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h
new file mode 100644
index 0000000..c4bf1d3
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/include/VehicleUtils.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleUtils_H_
+#define android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleUtils_H_
+
+#include <VehicleHalTypes.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+// Represents all supported areas for a property.
+constexpr int32_t kAllSupportedAreas = 0;
+
+// Returns underlying (integer) value for given enum.
+template <typename ENUM, typename U = typename std::underlying_type<ENUM>::type>
+inline constexpr U toInt(ENUM const value) {
+ return static_cast<U>(value);
+}
+
+inline constexpr ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType getPropType(
+ int32_t prop) {
+ return static_cast<::aidl::android::hardware::automotive::vehicle::VehiclePropertyType>(
+ prop &
+ toInt(::aidl::android::hardware::automotive::vehicle::VehiclePropertyType::MASK));
+}
+
+inline constexpr ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup getPropGroup(
+ int32_t prop) {
+ return static_cast<::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup>(
+ prop &
+ toInt(::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup::MASK));
+}
+
+inline constexpr ::aidl::android::hardware::automotive::vehicle::VehicleArea getPropArea(
+ int32_t prop) {
+ return static_cast<::aidl::android::hardware::automotive::vehicle::VehicleArea>(
+ prop & toInt(::aidl::android::hardware::automotive::vehicle::VehicleArea::MASK));
+}
+
+inline constexpr bool isGlobalProp(int32_t prop) {
+ return getPropArea(prop) == ::aidl::android::hardware::automotive::vehicle::VehicleArea::GLOBAL;
+}
+
+inline constexpr bool isSystemProp(int32_t prop) {
+ return ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup::SYSTEM ==
+ getPropGroup(prop);
+}
+
+inline const ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig* getAreaConfig(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& propValue,
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig& config) {
+ if (config.areaConfigs.size() == 0) {
+ return nullptr;
+ }
+
+ if (isGlobalProp(propValue.prop)) {
+ return &(config.areaConfigs[0]);
+ }
+
+ for (const auto& c : config.areaConfigs) {
+ if (c.areaId == propValue.areaId) {
+ return &c;
+ }
+ }
+ return nullptr;
+}
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_utils_common_include_VehicleUtils_H_
diff --git a/automotive/vehicle/aidl/impl/utils/common/src/VehiclePropertyStore.cpp b/automotive/vehicle/aidl/impl/utils/common/src/VehiclePropertyStore.cpp
new file mode 100644
index 0000000..b660f36
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/src/VehiclePropertyStore.cpp
@@ -0,0 +1,231 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "VehiclePropertyStore"
+#include <utils/Log.h>
+
+#include "VehiclePropertyStore.h"
+
+#include <VehicleUtils.h>
+#include <android-base/format.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue;
+using ::android::base::Result;
+
+bool VehiclePropertyStore::RecordId::operator==(const VehiclePropertyStore::RecordId& other) const {
+ return area == other.area && token == other.token;
+}
+
+bool VehiclePropertyStore::RecordId::operator<(const VehiclePropertyStore::RecordId& other) const {
+ return area < other.area || (area == other.area && token < other.token);
+}
+
+std::string VehiclePropertyStore::RecordId::toString() const {
+ return ::fmt::format("RecordID{{.areaId={:d}, .token={:d}}}", area, token);
+}
+
+const VehiclePropertyStore::Record* VehiclePropertyStore::getRecordLocked(int32_t propId) const
+ REQUIRES(mLock) {
+ auto RecordIt = mRecordsByPropId.find(propId);
+ return RecordIt == mRecordsByPropId.end() ? nullptr : &RecordIt->second;
+}
+
+VehiclePropertyStore::Record* VehiclePropertyStore::getRecordLocked(int32_t propId)
+ REQUIRES(mLock) {
+ auto RecordIt = mRecordsByPropId.find(propId);
+ return RecordIt == mRecordsByPropId.end() ? nullptr : &RecordIt->second;
+}
+
+VehiclePropertyStore::RecordId VehiclePropertyStore::getRecordIdLocked(
+ const VehiclePropValue& propValue, const VehiclePropertyStore::Record& record) const
+ REQUIRES(mLock) {
+ VehiclePropertyStore::RecordId recId{
+ .area = isGlobalProp(propValue.prop) ? 0 : propValue.areaId, .token = 0};
+
+ if (record.tokenFunction != nullptr) {
+ recId.token = record.tokenFunction(propValue);
+ }
+ return recId;
+}
+
+Result<std::unique_ptr<VehiclePropValue>> VehiclePropertyStore::readValueLocked(
+ const RecordId& recId, const Record& record) const REQUIRES(mLock) {
+ auto it = record.values.find(recId);
+ if (it == record.values.end()) {
+ return Errorf("Record ID: {} is not found", recId.toString());
+ }
+ return std::make_unique<VehiclePropValue>(it->second);
+}
+
+void VehiclePropertyStore::registerProperty(const VehiclePropConfig& config,
+ VehiclePropertyStore::TokenFunction tokenFunc) {
+ std::lock_guard<std::mutex> g(mLock);
+
+ mRecordsByPropId[config.prop] = Record{
+ .propConfig = config,
+ .tokenFunction = tokenFunc,
+ };
+}
+
+Result<void> VehiclePropertyStore::writeValue(const VehiclePropValue& propValue) {
+ std::lock_guard<std::mutex> g(mLock);
+
+ VehiclePropertyStore::Record* record = getRecordLocked(propValue.prop);
+ if (record == nullptr) {
+ return Errorf("property: {:d} not registered", propValue.prop);
+ }
+
+ if (!isGlobalProp(propValue.prop) && getAreaConfig(propValue, record->propConfig) == nullptr) {
+ return Errorf("no config for property: {:d} area: {:d}", propValue.prop, propValue.areaId);
+ }
+
+ VehiclePropertyStore::RecordId recId = getRecordIdLocked(propValue, *record);
+ auto it = record->values.find(recId);
+ if (it == record->values.end()) {
+ record->values[recId] = propValue;
+ return {};
+ }
+ VehiclePropValue* valueToUpdate = &(it->second);
+
+ // propValue is outdated and drops it.
+ if (valueToUpdate->timestamp > propValue.timestamp) {
+ return Errorf("outdated timestamp: {:d}", propValue.timestamp);
+ }
+ // Update the propertyValue.
+ // The timestamp in propertyStore should only be updated by the server side. It indicates
+ // the time when the event is generated by the server.
+ valueToUpdate->timestamp = propValue.timestamp;
+ valueToUpdate->value = propValue.value;
+ valueToUpdate->status = propValue.status;
+ return {};
+}
+
+void VehiclePropertyStore::removeValue(const VehiclePropValue& propValue) {
+ std::lock_guard<std::mutex> g(mLock);
+
+ VehiclePropertyStore::Record* record = getRecordLocked(propValue.prop);
+ if (record == nullptr) {
+ return;
+ }
+
+ VehiclePropertyStore::RecordId recId = getRecordIdLocked(propValue, *record);
+ if (auto it = record->values.find(recId); it != record->values.end()) {
+ record->values.erase(it);
+ }
+}
+
+void VehiclePropertyStore::removeValuesForProperty(int32_t propId) {
+ std::lock_guard<std::mutex> g(mLock);
+
+ VehiclePropertyStore::Record* record = getRecordLocked(propId);
+ if (record == nullptr) {
+ return;
+ }
+
+ record->values.clear();
+}
+
+std::vector<VehiclePropValue> VehiclePropertyStore::readAllValues() const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ std::vector<VehiclePropValue> allValues;
+
+ for (auto const& [_, record] : mRecordsByPropId) {
+ for (auto const& [_, value] : record.values) {
+ allValues.push_back(value);
+ }
+ }
+
+ return allValues;
+}
+
+Result<std::vector<VehiclePropValue>> VehiclePropertyStore::readValuesForProperty(
+ int32_t propId) const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ std::vector<VehiclePropValue> values;
+
+ const VehiclePropertyStore::Record* record = getRecordLocked(propId);
+ if (record == nullptr) {
+ return Errorf("property: {:d} not registered", propId);
+ }
+
+ for (auto const& [_, value] : record->values) {
+ values.push_back(value);
+ }
+ return values;
+}
+
+Result<std::unique_ptr<VehiclePropValue>> VehiclePropertyStore::readValue(
+ const VehiclePropValue& propValue) const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ const VehiclePropertyStore::Record* record = getRecordLocked(propValue.prop);
+ if (record == nullptr) {
+ return Errorf("property: {:d} not registered", propValue.prop);
+ }
+
+ VehiclePropertyStore::RecordId recId = getRecordIdLocked(propValue, *record);
+ return readValueLocked(recId, *record);
+}
+
+Result<std::unique_ptr<VehiclePropValue>> VehiclePropertyStore::readValue(int32_t propId,
+ int32_t areaId,
+ int64_t token) const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ const VehiclePropertyStore::Record* record = getRecordLocked(propId);
+ if (record == nullptr) {
+ return Errorf("property: {:d} not registered", propId);
+ }
+
+ VehiclePropertyStore::RecordId recId{.area = isGlobalProp(propId) ? 0 : areaId, .token = token};
+ return readValueLocked(recId, *record);
+}
+
+std::vector<VehiclePropConfig> VehiclePropertyStore::getAllConfigs() const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ std::vector<VehiclePropConfig> configs;
+ configs.reserve(mRecordsByPropId.size());
+ for (auto& [_, config] : mRecordsByPropId) {
+ configs.push_back(config.propConfig);
+ }
+ return configs;
+}
+
+Result<const VehiclePropConfig*> VehiclePropertyStore::getConfig(int32_t propId) const {
+ std::lock_guard<std::mutex> g(mLock);
+
+ const VehiclePropertyStore::Record* record = getRecordLocked(propId);
+ if (record == nullptr) {
+ return Errorf("property: {:d} not registered", propId);
+ }
+
+ return &record->propConfig;
+}
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/utils/common/test/Android.bp b/automotive/vehicle/aidl/impl/utils/common/test/Android.bp
new file mode 100644
index 0000000..dd43712
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/test/Android.bp
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_test {
+ name: "VehicleHalVehicleUtilsTest",
+ srcs: ["*.cpp"],
+ vendor: true,
+ static_libs: [
+ "VehicleHalUtils",
+ "libgtest",
+ "libgmock",
+ ],
+ defaults: ["VehicleHalDefaults"],
+ test_suites: ["device-tests"],
+}
diff --git a/automotive/vehicle/aidl/impl/utils/common/test/VehiclePropertyStoreTest.cpp b/automotive/vehicle/aidl/impl/utils/common/test/VehiclePropertyStoreTest.cpp
new file mode 100644
index 0000000..8c70fea
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/test/VehiclePropertyStoreTest.cpp
@@ -0,0 +1,314 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <PropertyUtils.h>
+#include <VehiclePropertyStore.h>
+#include <VehicleUtils.h>
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+namespace {
+
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehicleProperty;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyChangeMode;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue;
+using ::android::base::Result;
+using ::testing::ElementsAre;
+using ::testing::Eq;
+using ::testing::WhenSortedBy;
+
+constexpr int INVALID_PROP_ID = 0;
+
+struct PropValueCmp {
+ bool operator()(const VehiclePropValue& a, const VehiclePropValue& b) const {
+ return (a.prop < b.prop) || ((a.prop == b.prop) && (a.value < b.value)) ||
+ ((a.prop == b.prop) && (a.value == b.value) && (a.areaId < b.areaId));
+ }
+} propValueCmp;
+
+int64_t timestampToken(const VehiclePropValue& value) {
+ return value.timestamp;
+}
+
+} // namespace
+
+class VehiclePropertyStoreTest : public ::testing::Test {
+ protected:
+ void SetUp() override {
+ mConfigFuelCapacity = {
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ };
+ VehiclePropConfig configTirePressure = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .areaConfigs = {VehicleAreaConfig{.areaId = WHEEL_FRONT_LEFT},
+ VehicleAreaConfig{.areaId = WHEEL_FRONT_RIGHT},
+ VehicleAreaConfig{.areaId = WHEEL_REAR_LEFT},
+ VehicleAreaConfig{.areaId = WHEEL_REAR_RIGHT}},
+ };
+ mStore.registerProperty(mConfigFuelCapacity);
+ mStore.registerProperty(configTirePressure);
+ }
+
+ VehiclePropertyStore mStore;
+ VehiclePropConfig mConfigFuelCapacity;
+};
+
+TEST_F(VehiclePropertyStoreTest, testGetAllConfigs) {
+ std::vector<VehiclePropConfig> configs = mStore.getAllConfigs();
+
+ ASSERT_EQ(configs.size(), static_cast<size_t>(2));
+}
+
+TEST_F(VehiclePropertyStoreTest, testGetConfig) {
+ Result<const VehiclePropConfig*> result =
+ mStore.getConfig(toInt(VehicleProperty::INFO_FUEL_CAPACITY));
+
+ ASSERT_RESULT_OK(result);
+ ASSERT_EQ(*(result.value()), mConfigFuelCapacity);
+}
+
+TEST_F(VehiclePropertyStoreTest, testGetConfigWithInvalidPropId) {
+ Result<const VehiclePropConfig*> result = mStore.getConfig(INVALID_PROP_ID);
+
+ ASSERT_FALSE(result.ok()) << "expect error when getting a config for an invalid property ID";
+}
+
+std::vector<VehiclePropValue> getTestPropValues() {
+ VehiclePropValue fuelCapacity = {
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
+ .value = {.floatValues = {1.0}},
+ };
+
+ VehiclePropValue leftTirePressure = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .value = {.floatValues = {170.0}},
+ .areaId = WHEEL_FRONT_LEFT,
+ };
+
+ VehiclePropValue rightTirePressure = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .value = {.floatValues = {180.0}},
+ .areaId = WHEEL_FRONT_RIGHT,
+ };
+
+ return {fuelCapacity, leftTirePressure, rightTirePressure};
+}
+
+TEST_F(VehiclePropertyStoreTest, testWriteValueOk) {
+ auto values = getTestPropValues();
+
+ ASSERT_RESULT_OK(mStore.writeValue(values[0]));
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadAllValues) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ auto gotValues = mStore.readAllValues();
+
+ ASSERT_THAT(gotValues, WhenSortedBy(propValueCmp, Eq(values)));
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValuesForPropertyOneValue) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ auto result = mStore.readValuesForProperty(toInt(VehicleProperty::INFO_FUEL_CAPACITY));
+
+ ASSERT_RESULT_OK(result);
+ ASSERT_THAT(result.value(), ElementsAre(values[0]));
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValuesForPropertyMultipleValues) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ auto result = mStore.readValuesForProperty(toInt(VehicleProperty::TIRE_PRESSURE));
+
+ ASSERT_RESULT_OK(result);
+ ASSERT_THAT(result.value(), WhenSortedBy(propValueCmp, ElementsAre(values[1], values[2])));
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValuesForPropertyError) {
+ auto result = mStore.readValuesForProperty(INVALID_PROP_ID);
+
+ ASSERT_FALSE(result.ok()) << "expect error when reading values for an invalid property";
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValueOk) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ VehiclePropValue requestValue = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .areaId = WHEEL_FRONT_LEFT,
+ };
+
+ auto result = mStore.readValue(requestValue);
+
+ ASSERT_RESULT_OK(result);
+ ASSERT_EQ(*(result.value()), values[1]);
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValueByPropIdOk) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ auto result = mStore.readValue(toInt(VehicleProperty::TIRE_PRESSURE), WHEEL_FRONT_RIGHT);
+
+ ASSERT_EQ(*(result.value()), values[2]);
+}
+
+TEST_F(VehiclePropertyStoreTest, testReadValueError) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ auto result = mStore.readValue(toInt(VehicleProperty::TIRE_PRESSURE), WHEEL_REAR_LEFT);
+
+ ASSERT_FALSE(result.ok()) << "expect error when reading a value that has not been written";
+}
+
+TEST_F(VehiclePropertyStoreTest, testWriteValueError) {
+ ASSERT_FALSE(mStore.writeValue({
+ .prop = INVALID_PROP_ID,
+ .value = {.floatValues = {1.0}},
+ })
+ .ok())
+ << "expect error when writing value for an invalid property ID";
+}
+
+TEST_F(VehiclePropertyStoreTest, testWriteValueNoAreaConfig) {
+ ASSERT_FALSE(mStore.writeValue({
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .value = {.floatValues = {180.0}},
+ // There is no config for ALL_WHEELS.
+ .areaId = ALL_WHEELS,
+ })
+ .ok())
+ << "expect error when writing value for an area without config";
+}
+
+TEST_F(VehiclePropertyStoreTest, testWriteOutdatedValue) {
+ ASSERT_RESULT_OK(mStore.writeValue({
+ .timestamp = 1,
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .value = {.floatValues = {180.0}},
+ .areaId = WHEEL_FRONT_LEFT,
+ }));
+
+ // Write an older value.
+ ASSERT_FALSE(mStore.writeValue({
+ .timestamp = 0,
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .value = {.floatValues = {180.0}},
+ .areaId = WHEEL_FRONT_LEFT,
+ })
+ .ok())
+ << "expect error when writing an outdated value";
+}
+
+TEST_F(VehiclePropertyStoreTest, testToken) {
+ int propId = toInt(VehicleProperty::INFO_FUEL_CAPACITY);
+ VehiclePropConfig config = {
+ .prop = propId,
+ };
+
+ // Replace existing config.
+ mStore.registerProperty(config, timestampToken);
+
+ VehiclePropValue fuelCapacityValueToken1 = {
+ .timestamp = 1,
+ .prop = propId,
+ .value = {.floatValues = {1.0}},
+ };
+
+ VehiclePropValue fuelCapacityValueToken2 = {
+ .timestamp = 2,
+ .prop = propId,
+ .value = {.floatValues = {2.0}},
+ };
+
+ ASSERT_RESULT_OK(mStore.writeValue(fuelCapacityValueToken1));
+ ASSERT_RESULT_OK(mStore.writeValue(fuelCapacityValueToken2));
+
+ auto result = mStore.readValuesForProperty(propId);
+
+ ASSERT_RESULT_OK(result);
+ ASSERT_EQ(result.value().size(), static_cast<size_t>(2));
+
+ auto tokenResult = mStore.readValue(propId, /*areaId=*/0, /*token=*/2);
+
+ ASSERT_RESULT_OK(tokenResult);
+ ASSERT_EQ(*(tokenResult.value()), fuelCapacityValueToken2);
+}
+
+TEST_F(VehiclePropertyStoreTest, testRemoveValue) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ mStore.removeValue(values[0]);
+
+ ASSERT_FALSE(mStore.readValue(values[0]).ok()) << "expect error when reading a removed value";
+
+ auto leftTirePressureResult = mStore.readValue(values[1]);
+
+ ASSERT_RESULT_OK(leftTirePressureResult);
+ ASSERT_EQ(*(leftTirePressureResult.value()), values[1]);
+}
+
+TEST_F(VehiclePropertyStoreTest, testRemoveValuesForProperty) {
+ auto values = getTestPropValues();
+ for (const auto& value : values) {
+ ASSERT_RESULT_OK(mStore.writeValue(value));
+ }
+
+ mStore.removeValuesForProperty(toInt(VehicleProperty::INFO_FUEL_CAPACITY));
+ mStore.removeValuesForProperty(toInt(VehicleProperty::TIRE_PRESSURE));
+
+ auto gotValues = mStore.readAllValues();
+ ASSERT_TRUE(gotValues.empty());
+}
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/utils/common/test/VehicleUtilsTest.cpp b/automotive/vehicle/aidl/impl/utils/common/test/VehicleUtilsTest.cpp
new file mode 100644
index 0000000..c09b06d
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/common/test/VehicleUtilsTest.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <PropertyUtils.h>
+#include <VehicleUtils.h>
+#include <gtest/gtest.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+using ::aidl::android::hardware::automotive::vehicle::VehicleArea;
+using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig;
+using ::aidl::android::hardware::automotive::vehicle::VehicleProperty;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropValue;
+
+TEST(VehicleUtilsTest, testToInt) {
+ int areaGlobal = toInt(VehicleArea::GLOBAL);
+
+ ASSERT_EQ(areaGlobal, 0x01000000);
+}
+
+TEST(VehicleUtilsTest, testGetPropType) {
+ VehiclePropertyType type = getPropType(toInt(VehicleProperty::INFO_VIN));
+
+ ASSERT_EQ(type, VehiclePropertyType::STRING);
+}
+
+TEST(VehicleUtilsTest, testGetPropGroup) {
+ VehiclePropertyGroup group = getPropGroup(toInt(VehicleProperty::INFO_VIN));
+
+ ASSERT_EQ(group, VehiclePropertyGroup::SYSTEM);
+}
+
+TEST(VehicleUtilsTest, testGetPropArea) {
+ VehicleArea area = getPropArea(toInt(VehicleProperty::INFO_VIN));
+
+ ASSERT_EQ(area, VehicleArea::GLOBAL);
+}
+
+TEST(VehicleUtilsTest, testIsGlobalPropTrue) {
+ ASSERT_TRUE(isGlobalProp(toInt(VehicleProperty::INFO_VIN)));
+}
+
+TEST(VehicleUtilsTest, testIsGlobalPropFalse) {
+ ASSERT_FALSE(isGlobalProp(toInt(VehicleProperty::TIRE_PRESSURE)));
+}
+
+TEST(VehicleUtilsTest, testIsSystemPropTrue) {
+ ASSERT_TRUE(isSystemProp(toInt(VehicleProperty::INFO_VIN)));
+}
+
+TEST(VehicleUtilsTest, testIsSystemPropFalse) {
+ // VehiclePropertyGroup:VENDOR,VehicleArea:GLOBAL,VehiclePropertyType:STRING
+ int vendorProp = 0x0100 + 0x20000000 + 0x01000000 + 0x00100000;
+
+ ASSERT_FALSE(isSystemProp(vendorProp));
+}
+
+TEST(VehicleUtilsTest, testGetAreaConfigGlobal) {
+ VehiclePropValue testPropValue{.prop = toInt(VehicleProperty::INFO_VIN)};
+ VehicleAreaConfig testAreaConfig{.areaId = 0, .minInt32Value = 1};
+ VehiclePropConfig testConfig{.areaConfigs = {testAreaConfig}};
+
+ const VehicleAreaConfig* gotConfig = getAreaConfig(testPropValue, testConfig);
+
+ ASSERT_EQ(*gotConfig, testAreaConfig);
+}
+
+TEST(VehicleUtilsTest, testGetAreaConfigGlobalNoAreaConfig) {
+ VehiclePropValue testPropValue{.prop = toInt(VehicleProperty::INFO_VIN)};
+ VehiclePropConfig testConfig{};
+
+ const VehicleAreaConfig* gotConfig = getAreaConfig(testPropValue, testConfig);
+
+ ASSERT_EQ(gotConfig, nullptr);
+}
+
+TEST(VehicleUtilsTest, testGetAreaConfigNonGlobal) {
+ VehiclePropValue testPropValue = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ };
+ VehicleAreaConfig leftConfig{.areaId = WHEEL_FRONT_LEFT, .minInt32Value = 1};
+ VehicleAreaConfig rightConfig{.areaId = WHEEL_FRONT_RIGHT, .minInt32Value = 2};
+ VehiclePropConfig testConfig{.areaConfigs = {leftConfig, rightConfig}};
+
+ testPropValue.areaId = WHEEL_FRONT_LEFT;
+ const VehicleAreaConfig* gotConfig = getAreaConfig(testPropValue, testConfig);
+
+ ASSERT_EQ(*gotConfig, leftConfig);
+}
+
+TEST(VehicleUtilsTest, testGetAreaConfigNonGlobalNull) {
+ VehiclePropValue testPropValue = {
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ };
+ VehicleAreaConfig leftConfig{.areaId = WHEEL_FRONT_LEFT, .minInt32Value = 1};
+ VehicleAreaConfig rightConfig{.areaId = WHEEL_FRONT_RIGHT, .minInt32Value = 2};
+ VehiclePropConfig testConfig{.areaConfigs = {leftConfig, rightConfig}};
+
+ // No config for this area.
+ testPropValue.areaId = 0;
+ const VehicleAreaConfig* gotConfig = getAreaConfig(testPropValue, testConfig);
+
+ ASSERT_EQ(gotConfig, nullptr);
+}
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/utils/test/Android.bp b/automotive/vehicle/aidl/impl/utils/test/Android.bp
new file mode 100644
index 0000000..5859151
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/test/Android.bp
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library_headers {
+ name: "VehicleHalTestUtilHeaders",
+ export_include_dirs: ["include"],
+ vendor: true,
+}
diff --git a/automotive/vehicle/aidl/impl/utils/test/include/TestPropertyUtils.h b/automotive/vehicle/aidl/impl/utils/test/include/TestPropertyUtils.h
new file mode 100644
index 0000000..77cf100
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/utils/test/include/TestPropertyUtils.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_utils_test_include_TestPropertyUtils_H_
+#define android_hardware_automotive_vehicle_utils_test_include_TestPropertyUtils_H_
+
+#include <VehicleHalTypes.h>
+#include <VehicleUtils.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+namespace testpropertyutils_impl {
+
+// These names are not part of the API since we only expose ints.
+using ::aidl::android::hardware::automotive::vehicle::VehicleArea;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyGroup;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropertyType;
+
+} // namespace testpropertyutils_impl
+
+#ifdef ENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING
+// Converts the system property to the vendor property.
+// WARNING: This is only for the end-to-end testing, Should NOT include in the user build.
+inline constexpr int32_t toVendor(
+ const ::aidl::android::hardware::automotive::vehicle::VehicleProperty& prop) {
+ return (toInt(prop) & ~toInt(testpropertyutils_impl::VehiclePropertyGroup::MASK)) |
+ toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR);
+}
+
+// These properties are used for the end-to-end testing of ClusterHomeService.
+constexpr int32_t VENDOR_CLUSTER_SWITCH_UI = toVendor(
+ ::aidl::android::hardware::automotive::vehicle::VehicleProperty::CLUSTER_SWITCH_UI);
+constexpr int32_t VENDOR_CLUSTER_DISPLAY_STATE =
+ toVendor(::aidl::hardware::automotive::vehicle::VehicleProperty::CLUSTER_DISPLAY_STATE);
+constexpr int32_t VENDOR_CLUSTER_REPORT_STATE =
+ toVendor(::aidl::hardware::automotive::vehicle::VehicleProperty::CLUSTER_REPORT_STATE);
+constexpr int32_t VENDOR_CLUSTER_REQUEST_DISPLAY =
+ toVendor(::aidl::hardware::automotive::vehicle::VehicleProperty::CLUSTER_REQUEST_DISPLAY);
+constexpr int32_t VENDOR_CLUSTER_NAVIGATION_STATE =
+ toVendor(::aidl::hardware::automotive::vehicle::VehicleProperty::CLUSTER_NAVIGATION_STATE);
+#endif // ENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING
+
+// These properties are placeholder properties for developers to test new features without
+// implementing a real property.
+constexpr int32_t PLACEHOLDER_PROPERTY_INT =
+ 0x2a11 | toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(testpropertyutils_impl::VehicleArea::GLOBAL) |
+ toInt(testpropertyutils_impl::VehiclePropertyType::INT32);
+constexpr int32_t PLACEHOLDER_PROPERTY_FLOAT =
+ 0x2a11 | toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(testpropertyutils_impl::VehicleArea::GLOBAL) |
+ toInt(testpropertyutils_impl::VehiclePropertyType::FLOAT);
+constexpr int32_t PLACEHOLDER_PROPERTY_BOOLEAN =
+ 0x2a11 | toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(testpropertyutils_impl::VehicleArea::GLOBAL) |
+ toInt(testpropertyutils_impl::VehiclePropertyType::BOOLEAN);
+constexpr int32_t PLACEHOLDER_PROPERTY_STRING =
+ 0x2a11 | toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(testpropertyutils_impl::VehicleArea::GLOBAL) |
+ toInt(testpropertyutils_impl::VehiclePropertyType::STRING);
+
+// This property is used for test purpose. End to end tests use this property to test set and get
+// method for MIXED type properties.
+constexpr int32_t kMixedTypePropertyForTest =
+ 0x1111 | toInt(testpropertyutils_impl::VehiclePropertyGroup::VENDOR) |
+ toInt(testpropertyutils_impl::VehicleArea::GLOBAL) |
+ toInt(testpropertyutils_impl::VehiclePropertyType::MIXED);
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_utils_test_include_TestPropertyUtils_H_
diff --git a/automotive/vehicle/aidl/impl/vhal/Android.bp b/automotive/vehicle/aidl/impl/vhal/Android.bp
new file mode 100644
index 0000000..0704107
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/Android.bp
@@ -0,0 +1,39 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_binary {
+ name: "android.hardware.automotive.vehicle-aidl-default-service",
+ defaults: ["VehicleHalDefaults"],
+ local_include_dirs: ["include"],
+ vintf_fragments: ["vhal-default-service.xml"],
+ init_rc: ["vhal-default-service.rc"],
+ vendor: true,
+ relative_install_path: "hw",
+ srcs: ["src/*.cpp"],
+ static_libs: [
+ "VehicleHalUtils",
+ ],
+ shared_libs: [
+ "libbinder_ndk",
+ ],
+}
diff --git a/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h b/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h
new file mode 100644
index 0000000..49c501e
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/include/DefaultVehicleHal.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_vhal_include_DefaultVehicleHal_H_
+#define android_hardware_automotive_vehicle_aidl_impl_vhal_include_DefaultVehicleHal_H_
+
+#include <aidl/android/hardware/automotive/vehicle/BnVehicle.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+class DefaultVehicleHal final : public ::aidl::android::hardware::automotive::vehicle::BnVehicle {
+ ::ndk::ScopedAStatus getAllPropConfigs(
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropConfigs* returnConfigs)
+ override;
+ ::ndk::ScopedAStatus getValues(
+ const std::shared_ptr<::aidl::android::hardware::automotive::vehicle::IVehicleCallback>&
+ callback,
+ const ::aidl::android::hardware::automotive::vehicle::GetValueRequests& requests)
+ override;
+ ::ndk::ScopedAStatus setValues(
+ const std::shared_ptr<::aidl::android::hardware::automotive::vehicle::IVehicleCallback>&
+ callback,
+ const ::aidl::android::hardware::automotive::vehicle::SetValueRequests& requests)
+ override;
+ ::ndk::ScopedAStatus getPropConfigs(
+ const std::vector<int32_t>& props,
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropConfigs* returnConfigs)
+ override;
+ ::ndk::ScopedAStatus subscribe(
+ const std::shared_ptr<::aidl::android::hardware::automotive::vehicle::IVehicleCallback>&
+ callback,
+ const std::vector<::aidl::android::hardware::automotive::vehicle::SubscribeOptions>&
+ options,
+ int32_t maxSharedMemoryFileCount) override;
+ ::ndk::ScopedAStatus unsubscribe(
+ const std::shared_ptr<::aidl::android::hardware::automotive::vehicle::IVehicleCallback>&
+ callback,
+ const std::vector<int32_t>& propIds) override;
+ ::ndk::ScopedAStatus returnSharedMemory(
+ const std::shared_ptr<::aidl::android::hardware::automotive::vehicle::IVehicleCallback>&
+ callback,
+ int64_t sharedMemoryId) override;
+};
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_vhal_include_DefaultVehicleHal_H_
diff --git a/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp b/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp
new file mode 100644
index 0000000..5a31643
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/src/DefaultVehicleHal.cpp
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "DefaultVehicleHal"
+
+#include <DefaultVehicleHal.h>
+
+#include <VehicleHalTypes.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+
+using ::aidl::android::hardware::automotive::vehicle::GetValueRequests;
+using ::aidl::android::hardware::automotive::vehicle::IVehicleCallback;
+using ::aidl::android::hardware::automotive::vehicle::SetValueRequests;
+using ::aidl::android::hardware::automotive::vehicle::SubscribeOptions;
+using ::aidl::android::hardware::automotive::vehicle::VehiclePropConfigs;
+using ::ndk::ScopedAStatus;
+
+ScopedAStatus DefaultVehicleHal::getAllPropConfigs(VehiclePropConfigs*) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::getValues(const std::shared_ptr<IVehicleCallback>&,
+ const GetValueRequests&) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::setValues(const std::shared_ptr<IVehicleCallback>&,
+ const SetValueRequests&) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::getPropConfigs(const std::vector<int32_t>&, VehiclePropConfigs*) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::subscribe(const std::shared_ptr<IVehicleCallback>&,
+ const std::vector<SubscribeOptions>&, int32_t) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::unsubscribe(const std::shared_ptr<IVehicleCallback>&,
+ const std::vector<int32_t>&) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+ScopedAStatus DefaultVehicleHal::returnSharedMemory(const std::shared_ptr<IVehicleCallback>&,
+ int64_t) {
+ // TODO(b/200737967): implement this.
+ return ScopedAStatus::ok();
+}
+
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/vhal/src/VehicleService.cpp b/automotive/vehicle/aidl/impl/vhal/src/VehicleService.cpp
new file mode 100644
index 0000000..7c623ea
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/src/VehicleService.cpp
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "VehicleService"
+
+#include <DefaultVehicleHal.h>
+
+#include <android/binder_manager.h>
+#include <android/binder_process.h>
+#include <utils/Log.h>
+
+using ::android::hardware::automotive::vehicle::DefaultVehicleHal;
+
+int main(int /* argc */, char* /* argv */[]) {
+ std::shared_ptr<DefaultVehicleHal> vhal = ndk::SharedRefBase::make<DefaultVehicleHal>();
+
+ ALOGI("Registering as service...");
+ binder_exception_t err = AServiceManager_addService(vhal->asBinder().get(),
+ "android.hardware.automotive.vehicle");
+ if (err != EX_NONE) {
+ ALOGE("failed to register android.hardware.automotive.vehicle service, exception: %d", err);
+ return 1;
+ }
+
+ if (!ABinderProcess_setThreadPoolMaxThreadCount(4)) {
+ ALOGE("%s", "failed to set thread pool max thread count");
+ return 1;
+ }
+ ABinderProcess_startThreadPool();
+
+ ALOGI("Vehicle Service Ready");
+
+ ABinderProcess_joinThreadPool();
+
+ ALOGI("Vehicle Service Exiting");
+
+ return 0;
+}
diff --git a/automotive/vehicle/aidl/impl/vhal/vhal-default-service.rc b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.rc
new file mode 100644
index 0000000..4c8865a
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.rc
@@ -0,0 +1,4 @@
+service vendor.vehicle-hal-default /vendor/bin/hw/android.hardware.automotive.vehicle-aidl-default-service
+ class early_hal
+ user vehicle_network
+ group system inet
diff --git a/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml
new file mode 100644
index 0000000..8d237b8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/vhal/vhal-default-service.xml
@@ -0,0 +1,11 @@
+<manifest version="1.0" type="device">
+ <hal format="aidl">
+ <name>android.hardware.automotive.vehicle</name>
+ <transport>hwbinder</transport>
+ <version>1</version>
+ <interface>
+ <name>IVehicle</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</manifest>
diff --git a/biometrics/fingerprint/2.1/vts/functional/OWNERS b/biometrics/fingerprint/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..0014ce9
--- /dev/null
+++ b/biometrics/fingerprint/2.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 114777
+ilyamaty@google.com
diff --git a/biometrics/fingerprint/2.2/vts/functional/OWNERS b/biometrics/fingerprint/2.2/vts/functional/OWNERS
new file mode 100644
index 0000000..0014ce9
--- /dev/null
+++ b/biometrics/fingerprint/2.2/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 114777
+ilyamaty@google.com
diff --git a/bluetooth/1.0/default/Android.bp b/bluetooth/1.0/default/Android.bp
index ee368fd..84a49cf 100644
--- a/bluetooth/1.0/default/Android.bp
+++ b/bluetooth/1.0/default/Android.bp
@@ -22,9 +22,8 @@
default_applicable_licenses: ["hardware_interfaces_license"],
}
-cc_library {
- name: "android.hardware.bluetooth@1.0-impl",
- defaults: ["hidl_defaults"],
+cc_defaults {
+ name: "android.hardware.bluetooth@1.0-defaults",
vendor: true,
relative_install_path: "hw",
srcs: [
@@ -47,6 +46,25 @@
],
}
+cc_library {
+ name: "android.hardware.bluetooth@1.0-impl",
+ defaults: [
+ "hidl_defaults",
+ "android.hardware.bluetooth@1.0-defaults",
+ ],
+}
+
+cc_library {
+ name: "android.hardware.bluetooth@1.0-impl-test",
+ defaults: [
+ "hidl_defaults",
+ "android.hardware.bluetooth@1.0-defaults",
+ ],
+ cflags: [
+ "-DBT_FUZZER",
+ ],
+}
+
cc_library_static {
name: "android.hardware.bluetooth-async",
vendor: true,
diff --git a/bluetooth/1.0/default/test/fuzzer/Android.bp b/bluetooth/1.0/default/test/fuzzer/Android.bp
new file mode 100644
index 0000000..81f328e
--- /dev/null
+++ b/bluetooth/1.0/default/test/fuzzer/Android.bp
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_library {
+ name: "libbt-vendor-fuzz",
+ vendor: true,
+ srcs: [
+ "bt_vendor.cpp",
+ ],
+ static_libs: [
+ "android.hardware.bluetooth@1.0-impl-test",
+ "android.hardware.bluetooth-hci",
+ ],
+}
+
+cc_fuzz {
+ name: "bluetoothV1.0_fuzzer",
+ vendor: true,
+ srcs: [
+ "bluetoothV1.0_fuzzer.cpp",
+ ],
+ static_libs: [
+ "android.hardware.bluetooth@1.0-impl-test",
+ "android.hardware.bluetooth-async",
+ "android.hardware.bluetooth-hci",
+ "libcutils",
+ "libutils",
+ ],
+ shared_libs: [
+ "android.hardware.bluetooth@1.0",
+ "libhardware",
+ "libhidlbase",
+ "libbt-vendor-fuzz",
+ "liblog",
+ ],
+ fuzz_config: {
+ cc: [
+ "android-media-fuzzing-reports@google.com",
+ ],
+ componentid: 533764,
+ },
+}
diff --git a/bluetooth/1.0/default/test/fuzzer/README.md b/bluetooth/1.0/default/test/fuzzer/README.md
new file mode 100644
index 0000000..edd4fb6
--- /dev/null
+++ b/bluetooth/1.0/default/test/fuzzer/README.md
@@ -0,0 +1,48 @@
+# Fuzzer for android.hardware.bluetooth@1.0-impl-test
+
+## Plugin Design Considerations
+The fuzzer plugin for android.hardware.bluetooth@1.0-impl-test is designed based on the understanding of the source code and tries to achieve the following:
+
+##### Maximize code coverage
+1. The configuration parameters are not hardcoded, but instead selected based on
+incoming data. This ensures more code paths are reached by the fuzzer.
+
+2. A new library *'libbt-vendor-fuzz.so'* is created that implements functions of `bt_vendor_interface_t` and calls them in order to maximize the code coverage
+
+android.hardware.bluetooth@1.0-impl-test supports the following parameters:
+
+1. Bluetooth Address (parameter name: `btAddress`)
+
+| Parameter| Valid Values| Configured Value|
+|------------- |-------------| ----- |
+| `btAddress` | Values inside array ranges from `0x0` to `0xFF`| Value obtained from FuzzedDataProvider|
+
+This also ensures that the plugin is always deterministic for any given input.
+
+##### Maximize utilization of input data
+The plugin feeds the entire input data to the module.
+This ensures that the plugin tolerates any kind of input (empty, huge,
+malformed, etc) and doesnt `exit()` on any input and thereby increasing the
+chance of identifying vulnerabilities.
+
+## Build
+
+This describes steps to build bluetoothV1.0_fuzzer binary.
+
+### Android
+
+#### Steps to build
+Build the fuzzer
+```
+ $ mm -j$(nproc) bluetoothV1.0_fuzzer
+```
+#### Steps to run
+To run on device
+```
+ $ adb sync data
+ $ adb shell LD_LIBRARY_PATH=/data/fuzz/${TARGET_ARCH}/lib/ /data/fuzz/${TARGET_ARCH}/bluetoothV1.0_fuzzer/bluetoothV1.0_fuzzer
+```
+
+## References:
+ * http://llvm.org/docs/LibFuzzer.html
+ * https://github.com/google/oss-fuzz
diff --git a/bluetooth/1.0/default/test/fuzzer/bluetoothV1.0_fuzzer.cpp b/bluetooth/1.0/default/test/fuzzer/bluetoothV1.0_fuzzer.cpp
new file mode 100644
index 0000000..90cdc66
--- /dev/null
+++ b/bluetooth/1.0/default/test/fuzzer/bluetoothV1.0_fuzzer.cpp
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <android/hardware/bluetooth/1.0/IBluetoothHci.h>
+#include <android/hardware/bluetooth/1.0/IBluetoothHciCallbacks.h>
+#include <bluetooth_address.h>
+#include <bluetooth_hci.h>
+#include <cutils/properties.h>
+#include <fuzzer/FuzzedDataProvider.h>
+#include <log/log.h>
+
+#include "bt_vendor.h"
+
+using namespace std;
+using ::android::sp;
+using ::android::hardware::hidl_vec;
+using ::android::hardware::Return;
+using ::android::hardware::bluetooth::V1_0::IBluetoothHci;
+using ::android::hardware::bluetooth::V1_0::IBluetoothHciCallbacks;
+using ::android::hardware::bluetooth::V1_0::Status;
+using ::android::hardware::bluetooth::V1_0::implementation::BluetoothAddress;
+using ::android::hardware::bluetooth::V1_0::implementation::BluetoothHci;
+using ::android::hardware::bluetooth::V1_0::implementation::
+ FACTORY_BDADDR_PROPERTY;
+using ::android::hardware::bluetooth::V1_0::implementation::
+ PERSIST_BDADDR_PROPERTY;
+using ::android::hardware::bluetooth::V1_0::implementation::
+ PROPERTY_BT_BDADDR_PATH;
+
+constexpr size_t kMaxPacketSize = 100;
+constexpr size_t kMinFdcount = 2;
+
+template <typename T>
+const hidl_vec<T> toHidlVec(const std::vector<T>& vec) {
+ hidl_vec<T> hVec;
+ hVec.setToExternal(const_cast<T*>(vec.data()), vec.size());
+ return hVec;
+}
+
+class BluetoothHciCallbacks : public IBluetoothHciCallbacks {
+ public:
+ virtual ~BluetoothHciCallbacks() = default;
+
+ Return<void> initializationComplete(Status status) override {
+ if (status == Status::SUCCESS) {
+ isInitialized = true;
+ } else {
+ isInitialized = false;
+ }
+ return Return<void>();
+ };
+
+ Return<void> hciEventReceived(
+ const ::android::hardware::hidl_vec<uint8_t>& /*event*/) override {
+ return Return<void>();
+ };
+
+ Return<void> aclDataReceived(
+ const ::android::hardware::hidl_vec<uint8_t>& /*data*/) override {
+ return Return<void>();
+ };
+
+ Return<void> scoDataReceived(
+ const ::android::hardware::hidl_vec<uint8_t>& /*data*/) override {
+ return Return<void>();
+ };
+ bool isInitialized;
+};
+
+class BluetoothFuzzer {
+ public:
+ ~BluetoothFuzzer() {
+ if (mFdp) {
+ delete mFdp;
+ }
+ mBtHci->close();
+ mBtHci.clear();
+ }
+ bool init(const uint8_t* data, size_t size);
+ void process();
+
+ private:
+ sp<BluetoothHci> mBtHci = nullptr;
+ FuzzedDataProvider* mFdp = nullptr;
+};
+
+bool BluetoothFuzzer::init(const uint8_t* data, size_t size) {
+ mBtHci = sp<BluetoothHci>::make();
+ if (!mBtHci) {
+ return false;
+ }
+ mFdp = new FuzzedDataProvider(data, size);
+ return true;
+}
+
+void BluetoothFuzzer::process() {
+ sp<BluetoothHciCallbacks> bluetoothCallback =
+ sp<BluetoothHciCallbacks>::make();
+
+ uint8_t btAddress[BluetoothAddress::kBytes];
+ mFdp->ConsumeData(btAddress, sizeof(uint8_t) * BluetoothAddress::kBytes);
+
+ char btAddrString[BluetoothAddress::kStringLength + 1];
+ BluetoothAddress::bytes_to_string(btAddress, btAddrString);
+
+ /* property_set() is called so that BluetoothAddress::get_local_address()
+ * could return true and the LOG_ALWAYS_FATAL() that aborts the run, if
+ * BluetoothAddress::get_local_address() returns false, could be avoided.
+ *
+ * BluetoothAddress::get_local_address() first searches if
+ * PROPERTY_BT_BDADDR_PATH is set, if it fails to get PROPERTY_BT_BDADDR_PATH,
+ * it searches for FACTORY_BDADDR_PROPERTY. If it fails to get
+ * FACTORY_BDADDR_PROPERTY, it then searches for PERSIST_BDADDR_PROPERTY. If
+ * PERSIST_BDADDR_PROPERTY is also not set, it results in an abort.
+ */
+ property_set(PERSIST_BDADDR_PROPERTY, btAddrString);
+
+ if (mFdp->ConsumeBool()) {
+ property_set(FACTORY_BDADDR_PROPERTY, btAddrString);
+ }
+
+ if (mFdp->ConsumeBool()) {
+ char property[PROPERTY_VALUE_MAX] = {0};
+ property_get("ro.vendor.bt.bdaddr_path", property, NULL);
+ // get the value of ro.vendor.bt.bdaddr_path and set it to
+ // PROPERTY_BT_BDADDR_PATH
+ property_set(PROPERTY_BT_BDADDR_PATH, property);
+ }
+
+ bool shouldSetH4Protocol = mFdp->ConsumeBool();
+ BtVendor* btVendor = BtVendor::getInstance();
+
+ size_t fdcount = 1;
+ int32_t fdList[CH_MAX] = {0};
+ if (!shouldSetH4Protocol) {
+ fdcount = mFdp->ConsumeIntegralInRange<size_t>(kMinFdcount, CH_MAX - 1);
+ }
+
+ for (size_t i = 0; i < fdcount; ++i) {
+ fdList[i] = open("/dev/null", O_RDWR | O_CREAT);
+ }
+
+ btVendor->populateFdList(fdList, fdcount);
+ mBtHci->initialize(bluetoothCallback);
+
+ if (!bluetoothCallback->isInitialized) {
+ return;
+ }
+
+ std::vector<uint8_t> hciPacket, aclPacket;
+
+ size_t hciPacketSize =
+ mFdp->ConsumeIntegralInRange<size_t>(0, kMaxPacketSize);
+ hciPacket = mFdp->ConsumeBytes<uint8_t>(hciPacketSize);
+ mBtHci->sendHciCommand(toHidlVec(hciPacket));
+
+ size_t aclPacketSize =
+ mFdp->ConsumeIntegralInRange<size_t>(0, kMaxPacketSize);
+ aclPacket = mFdp->ConsumeBytes<uint8_t>(aclPacketSize);
+ mBtHci->sendAclData(toHidlVec(aclPacket));
+
+ if (shouldSetH4Protocol) {
+ std::vector<uint8_t> scoPacket;
+ size_t scoPacketSize =
+ mFdp->ConsumeIntegralInRange<size_t>(0, kMaxPacketSize);
+ scoPacket = mFdp->ConsumeBytes<uint8_t>(scoPacketSize);
+ mBtHci->sendScoData(toHidlVec(scoPacket));
+ }
+
+ btVendor->callRemainingCbacks();
+
+ for (size_t i = 0; i < fdcount; ++i) {
+ if (fdList[i]) {
+ close(fdList[i]);
+ }
+ }
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ BluetoothFuzzer bluetoothFuzzer;
+ if (bluetoothFuzzer.init(data, size)) {
+ bluetoothFuzzer.process();
+ }
+ return 0;
+}
diff --git a/bluetooth/1.0/default/test/fuzzer/bt_vendor.cpp b/bluetooth/1.0/default/test/fuzzer/bt_vendor.cpp
new file mode 100644
index 0000000..897fb67
--- /dev/null
+++ b/bluetooth/1.0/default/test/fuzzer/bt_vendor.cpp
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include "bt_vendor.h"
+
+#define UNUSED_PARAM __attribute__((unused))
+#define HCI_CMD_PREAMBLE_SIZE 3
+#define HCI_RESET 0x0C03
+#define HCI_EVT_CMD_CMPL_OPCODE 3
+#define HCI_EVT_CMD_CMPL_STATUS_RET_BYTE 5
+#define MSG_STACK_TO_HC_HCI_CMD 0x2000
+#define BT_HC_HDR_SIZE (sizeof(HC_BT_HDR))
+#define STREAM_TO_UINT16(u16, p) \
+ { \
+ u16 = ((uint16_t)(*(p)) + (((uint16_t)(*((p) + 1))) << 8)); \
+ (p) += 2; \
+ }
+#define UINT16_TO_STREAM(p, u16) \
+ { \
+ *(p)++ = (uint8_t)(u16); \
+ *(p)++ = (uint8_t)((u16) >> 8); \
+ }
+bt_vendor_callbacks_t* bt_vendor_cbacks = nullptr;
+
+void hw_epilog_cback(void* p_mem) {
+ HC_BT_HDR* p_evt_buf = (HC_BT_HDR*)p_mem;
+ uint8_t *p, status;
+ uint16_t opcode;
+
+ status = *((uint8_t*)(p_evt_buf + 1) + HCI_EVT_CMD_CMPL_STATUS_RET_BYTE);
+ p = (uint8_t*)(p_evt_buf + 1) + HCI_EVT_CMD_CMPL_OPCODE;
+ STREAM_TO_UINT16(opcode, p);
+
+ if (!bt_vendor_cbacks) {
+ return;
+ }
+ /* Must free the RX event buffer */
+ bt_vendor_cbacks->dealloc(p_evt_buf);
+
+ /* Once epilog process is done, must call callback to notify caller */
+ bt_vendor_cbacks->epilog_cb(BT_VND_OP_RESULT_SUCCESS);
+ return;
+}
+
+static int testInit(const bt_vendor_callbacks_t* cb,
+ unsigned char* bdaddr UNUSED_PARAM) {
+ if (cb == nullptr) {
+ return -1;
+ }
+ /*store reference to user callbacks */
+ bt_vendor_cbacks = (bt_vendor_callbacks_t*)cb;
+ return 0;
+}
+
+static int testOperations(bt_vendor_opcode_t opcode, void* param UNUSED_PARAM) {
+ BtVendor* btVendor = BtVendor::getInstance();
+ if (bt_vendor_cbacks) {
+ btVendor->setVendorCback(bt_vendor_cbacks, opcode);
+ }
+ switch (opcode) {
+ case BT_VND_OP_POWER_CTRL: {
+ // No callback for this opcode
+ break;
+ }
+ case BT_VND_OP_USERIAL_OPEN: {
+ int32_t(*fd_array)[] = (int32_t(*)[])param;
+ int32_t fdArray[CH_MAX];
+ *fdArray = *(btVendor->queryFdList());
+ size_t fdcount = btVendor->queryFdCount();
+ for (size_t i = 0; i < fdcount; ++i) {
+ (*fd_array)[i] = fdArray[i];
+ }
+ return fdcount;
+ break;
+ }
+ case BT_VND_OP_FW_CFG: {
+ if (bt_vendor_cbacks) {
+ bt_vendor_cbacks->fwcfg_cb(BT_VND_OP_RESULT_SUCCESS);
+ }
+ break;
+ }
+ case BT_VND_OP_GET_LPM_IDLE_TIMEOUT: {
+ // No callback for this opcode
+ uint32_t* timeout_ms = (uint32_t*)param;
+ *timeout_ms = 0;
+ break;
+ }
+ case BT_VND_OP_LPM_SET_MODE: {
+ if (bt_vendor_cbacks) {
+ bt_vendor_cbacks->lpm_cb(BT_VND_OP_RESULT_SUCCESS);
+ }
+ break;
+ }
+ case BT_VND_OP_USERIAL_CLOSE: {
+ // No callback for this opcode
+ break;
+ }
+ case BT_VND_OP_LPM_WAKE_SET_STATE: {
+ // No callback for this opcode
+ break;
+ }
+ default:
+ break;
+ }
+ return 0;
+}
+
+static void testCleanup(void) { bt_vendor_cbacks = nullptr; }
+
+const bt_vendor_interface_t BLUETOOTH_VENDOR_LIB_INTERFACE = {
+ sizeof(bt_vendor_interface_t), testInit, testOperations, testCleanup};
+
+void BtVendor::populateFdList(int32_t list[], size_t count) {
+ fdCount = count;
+ for (size_t i = 0; i < count; ++i) {
+ fdList[i] = list[i];
+ }
+}
+
+void BtVendor::callRemainingCbacks() {
+ if (mCbacks) {
+ mCbacks->audio_state_cb(BT_VND_OP_RESULT_SUCCESS);
+ mCbacks->scocfg_cb(BT_VND_OP_RESULT_SUCCESS);
+ mCbacks->a2dp_offload_cb(BT_VND_OP_RESULT_SUCCESS, mOpcode, 0);
+ mCbacks->epilog_cb(BT_VND_OP_RESULT_SUCCESS);
+
+ HC_BT_HDR* p_buf = NULL;
+ uint8_t* p;
+
+ /* Sending a HCI_RESET */
+ /* Must allocate command buffer via HC's alloc API */
+ p_buf = (HC_BT_HDR*)mCbacks->alloc(BT_HC_HDR_SIZE + HCI_CMD_PREAMBLE_SIZE);
+ if (p_buf) {
+ p_buf->event = MSG_STACK_TO_HC_HCI_CMD;
+ p_buf->offset = 0;
+ p_buf->layer_specific = 0;
+ p_buf->len = HCI_CMD_PREAMBLE_SIZE;
+
+ p = (uint8_t*)(p_buf + 1);
+ UINT16_TO_STREAM(p, HCI_RESET);
+ *p = 0; /* parameter length */
+
+ /* Send command via HC's xmit_cb API */
+ mCbacks->xmit_cb(HCI_RESET, p_buf, hw_epilog_cback);
+ } else {
+ mCbacks->epilog_cb(BT_VND_OP_RESULT_FAIL);
+ }
+ }
+}
diff --git a/bluetooth/1.0/default/test/fuzzer/bt_vendor.h b/bluetooth/1.0/default/test/fuzzer/bt_vendor.h
new file mode 100644
index 0000000..ca227ea
--- /dev/null
+++ b/bluetooth/1.0/default/test/fuzzer/bt_vendor.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#ifndef __BT_VENDOR_H__
+#define __BT_VENDOR_H__
+
+#include "bt_vendor_lib.h"
+
+class BtVendor {
+ public:
+ static BtVendor* getInstance() {
+ if (!mInstance) {
+ mInstance = new BtVendor;
+ }
+ return mInstance;
+ }
+
+ void setVendorCback(bt_vendor_callbacks_t* cb, bt_vendor_opcode_t opcode) {
+ mCbacks = cb;
+ mOpcode = opcode;
+ }
+
+ int32_t* queryFdList() { return fdList; }
+ size_t queryFdCount() { return fdCount; }
+ void callRemainingCbacks();
+ void populateFdList(int32_t list[], size_t count);
+
+ private:
+ BtVendor() = default;
+
+ ~BtVendor() {
+ if (mInstance) {
+ delete mInstance;
+ mInstance = nullptr;
+ }
+ mCbacks = nullptr;
+ }
+
+ static BtVendor* mInstance;
+ bt_vendor_callbacks_t* mCbacks = nullptr;
+ bt_vendor_opcode_t mOpcode;
+ int32_t fdCount;
+ int32_t fdList[CH_MAX] = {0};
+};
+
+BtVendor* BtVendor::mInstance = nullptr;
+#endif // __BT_VENDOR_H__
diff --git a/bluetooth/1.0/default/vendor_interface.cc b/bluetooth/1.0/default/vendor_interface.cc
index d809313..1d15dd6 100644
--- a/bluetooth/1.0/default/vendor_interface.cc
+++ b/bluetooth/1.0/default/vendor_interface.cc
@@ -27,7 +27,11 @@
#include "h4_protocol.h"
#include "mct_protocol.h"
+#ifdef BT_FUZZER
+static const char* VENDOR_LIBRARY_NAME = "libbt-vendor-fuzz.so";
+#else
static const char* VENDOR_LIBRARY_NAME = "libbt-vendor.so";
+#endif
static const char* VENDOR_LIBRARY_SYMBOL_NAME =
"BLUETOOTH_VENDOR_LIB_INTERFACE";
diff --git a/boot/1.0/vts/functional/OWNERS b/boot/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..36e79be
--- /dev/null
+++ b/boot/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+dvander@google.com
diff --git a/boot/1.1/vts/functional/OWNERS b/boot/1.1/vts/functional/OWNERS
new file mode 100644
index 0000000..36e79be
--- /dev/null
+++ b/boot/1.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+dvander@google.com
diff --git a/broadcastradio/1.0/vts/functional/OWNERS b/broadcastradio/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..778c4a2
--- /dev/null
+++ b/broadcastradio/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 533946
+oscarazu@google.com
diff --git a/broadcastradio/1.1/vts/OWNERS b/broadcastradio/1.1/vts/OWNERS
index 7736681..2c21c25 100644
--- a/broadcastradio/1.1/vts/OWNERS
+++ b/broadcastradio/1.1/vts/OWNERS
@@ -1,8 +1,3 @@
-# Automotive team
-egranata@google.com
+# Bug component: 533946
+oscarazu@google.com
keunyoung@google.com
-twasilczyk@google.com
-
-# VTS team
-yuexima@google.com
-yim@google.com
diff --git a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
index 49e00f4..7727547 100644
--- a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
+++ b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp
@@ -3837,6 +3837,8 @@
getAvailableOutputStreams(staticMeta, outputStreams,
&outputThreshold));
for (auto& outputIter : outputStreams) {
+ V3_2::DataspaceFlags outputDataSpace =
+ getDataspace(static_cast<PixelFormat>(outputIter.format));
V3_2::Stream zslStream = {streamId++,
StreamType::OUTPUT,
static_cast<uint32_t>(input.width),
@@ -3859,7 +3861,7 @@
static_cast<uint32_t>(outputIter.height),
static_cast<PixelFormat>(outputIter.format),
GRALLOC1_CONSUMER_USAGE_HWCOMPOSER,
- 0,
+ outputDataSpace,
StreamRotation::ROTATION_0};
::android::hardware::hidl_vec<V3_2::Stream> streams = {inputStream, zslStream,
diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml
index 9eaa847..a1f1de9 100644
--- a/compatibility_matrices/compatibility_matrix.current.xml
+++ b/compatibility_matrices/compatibility_matrix.current.xml
@@ -271,6 +271,14 @@
<instance>default</instance>
</interface>
</hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.graphics.composer3</name>
+ <version>1</version>
+ <interface>
+ <name>IComposer</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
<hal format="hidl" optional="false">
<name>android.hardware.graphics.mapper</name>
<!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test -->
@@ -447,10 +455,60 @@
</interface>
</hal>
<hal format="aidl" optional="true">
- <name>android.hardware.radio</name>
+ <name>android.hardware.radio.data</name>
<version>1</version>
<interface>
- <name>IRadio</name>
+ <name>IRadioData</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ <instance>slot3</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.messaging</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioMessaging</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ <instance>slot3</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.modem</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioModem</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ <instance>slot3</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.network</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioNetwork</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ <instance>slot3</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.sim</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioSim</name>
+ <instance>slot1</instance>
+ <instance>slot2</instance>
+ <instance>slot3</instance>
+ </interface>
+ </hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.voice</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioVoice</name>
<instance>slot1</instance>
<instance>slot2</instance>
<instance>slot3</instance>
@@ -485,6 +543,14 @@
<instance>default</instance>
</interface>
</hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.radio.config</name>
+ <version>1</version>
+ <interface>
+ <name>IRadioConfig</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
<hal format="hidl" optional="true">
<name>android.hardware.radio.config</name>
<version>1.3</version>
@@ -688,6 +754,14 @@
<instance>default</instance>
</interface>
</hal>
+ <hal format="aidl" optional="true">
+ <name>android.hardware.wifi.hostapd</name>
+ <version>1</version>
+ <interface>
+ <name>IHostapd</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
<hal format="hidl" optional="true">
<name>android.hardware.wifi.supplicant</name>
<version>1.2-4</version>
diff --git a/compatibility_matrices/exclude/fcm_exclude.cpp b/compatibility_matrices/exclude/fcm_exclude.cpp
index e67c892..d8c9170 100644
--- a/compatibility_matrices/exclude/fcm_exclude.cpp
+++ b/compatibility_matrices/exclude/fcm_exclude.cpp
@@ -56,6 +56,7 @@
"android.hardware.common.fmq",
"android.hardware.graphics.common",
"android.hardware.keymaster",
+ "android.hardware.radio",
// Fastboot HAL is only used by recovery. Recovery is owned by OEM. Framework
// does not depend on this HAL, hence it is not declared in any manifests or matrices.
diff --git a/configstore/1.0/vts/functional/OWNERS b/configstore/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..edfa1b0
--- /dev/null
+++ b/configstore/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 24939
+lpy@google.com
diff --git a/contexthub/aidl/Android.bp b/contexthub/aidl/Android.bp
index 2086508..e9143b5 100644
--- a/contexthub/aidl/Android.bp
+++ b/contexthub/aidl/Android.bp
@@ -12,6 +12,15 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
aidl_interface {
name: "android.hardware.contexthub",
vendor_available: true,
diff --git a/contexthub/aidl/vts/Android.bp b/contexthub/aidl/vts/Android.bp
new file mode 100644
index 0000000..673eac0
--- /dev/null
+++ b/contexthub/aidl/vts/Android.bp
@@ -0,0 +1,42 @@
+// Copyright 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_test {
+ name: "VtsAidlHalContextHubTargetTest",
+ defaults: [
+ "VtsHalTargetTestDefaults",
+ "use_libaidlvintf_gtest_helper_static",
+ ],
+ srcs: ["VtsAidlHalContextHubTargetTest.cpp"],
+ shared_libs: [
+ "libbinder",
+ ],
+ static_libs: [
+ "android.hardware.contexthub-V1-cpp",
+ "VtsHalContexthubUtils",
+ ],
+ test_suites: [
+ "general-tests",
+ "vts",
+ ],
+}
diff --git a/contexthub/aidl/vts/OWNERS b/contexthub/aidl/vts/OWNERS
new file mode 100644
index 0000000..150818d
--- /dev/null
+++ b/contexthub/aidl/vts/OWNERS
@@ -0,0 +1 @@
+file:/contexthub/common/vts/OWNERS
diff --git a/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp b/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp
new file mode 100644
index 0000000..3601f13
--- /dev/null
+++ b/contexthub/aidl/vts/VtsAidlHalContextHubTargetTest.cpp
@@ -0,0 +1,332 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <aidl/Gtest.h>
+#include <aidl/Vintf.h>
+
+#include "VtsHalContexthubUtilsCommon.h"
+
+#include <android/hardware/contexthub/BnContextHub.h>
+#include <android/hardware/contexthub/BnContextHubCallback.h>
+#include <android/hardware/contexthub/IContextHub.h>
+#include <android/hardware/contexthub/IContextHubCallback.h>
+#include <binder/IServiceManager.h>
+#include <binder/ProcessState.h>
+#include <log/log.h>
+
+#include <cinttypes>
+#include <future>
+
+using ::android::ProcessState;
+using ::android::sp;
+using ::android::String16;
+using ::android::binder::Status;
+using ::android::hardware::contexthub::AsyncEventType;
+using ::android::hardware::contexthub::ContextHubInfo;
+using ::android::hardware::contexthub::ContextHubMessage;
+using ::android::hardware::contexthub::IContextHub;
+using ::android::hardware::contexthub::IContextHubCallbackDefault;
+using ::android::hardware::contexthub::NanoappBinary;
+using ::android::hardware::contexthub::NanoappInfo;
+using ::android::hardware::contexthub::Setting;
+using ::android::hardware::contexthub::vts_utils::kNonExistentAppId;
+using ::android::hardware::contexthub::vts_utils::waitForCallback;
+
+class ContextHubAidl : public testing::TestWithParam<std::tuple<std::string, int32_t>> {
+ public:
+ virtual void SetUp() override {
+ contextHub = android::waitForDeclaredService<IContextHub>(
+ String16(std::get<0>(GetParam()).c_str()));
+ ASSERT_NE(contextHub, nullptr);
+ }
+
+ uint32_t getHubId() { return std::get<1>(GetParam()); }
+
+ void testSettingChanged(Setting setting);
+
+ sp<IContextHub> contextHub;
+};
+
+TEST_P(ContextHubAidl, TestGetHubs) {
+ std::vector<ContextHubInfo> hubs;
+ ASSERT_TRUE(contextHub->getContextHubs(&hubs).isOk());
+
+ ALOGD("System reports %zu hubs", hubs.size());
+
+ for (const ContextHubInfo& hub : hubs) {
+ ALOGD("Checking hub ID %" PRIu32, hub.id);
+
+ EXPECT_GT(hub.name.size(), 0);
+ EXPECT_GT(hub.vendor.size(), 0);
+ EXPECT_GT(hub.toolchain.size(), 0);
+ EXPECT_GT(hub.peakMips, 0);
+ EXPECT_GT(hub.chrePlatformId, 0);
+ EXPECT_GT(hub.chreApiMajorVersion, 0);
+ EXPECT_GT(hub.chreApiMinorVersion, 0);
+ EXPECT_GT(hub.chrePatchVersion, 0);
+
+ // Minimum 128 byte MTU as required by CHRE API v1.0
+ EXPECT_GE(hub.maxSupportedMessageLengthBytes, UINT32_C(128));
+ }
+}
+
+TEST_P(ContextHubAidl, TestRegisterCallback) {
+ bool success;
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), new IContextHubCallbackDefault(), &success)
+ .isOk());
+ ASSERT_TRUE(success);
+}
+
+TEST_P(ContextHubAidl, TestRegisterNullCallback) {
+ bool success;
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), nullptr, &success).isOk());
+}
+
+// Helper callback that puts the async appInfo callback data into a promise
+class QueryAppsCallback : public android::hardware::contexthub::BnContextHubCallback {
+ public:
+ Status handleNanoappInfo(const std::vector<NanoappInfo>& appInfo) override {
+ ALOGD("Got app info callback with %zu apps", appInfo.size());
+ promise.set_value(appInfo);
+ return Status::ok();
+ }
+
+ Status handleContextHubMessage(const ContextHubMessage& /* msg */,
+ const std::vector<String16>& /* msgContentPerms */) override {
+ return Status::ok();
+ }
+
+ Status handleContextHubAsyncEvent(AsyncEventType /* evt */) override { return Status::ok(); }
+
+ Status handleTransactionResult(int32_t /* transactionId */, bool /* success */) override {
+ return Status::ok();
+ }
+
+ std::promise<std::vector<NanoappInfo>> promise;
+};
+
+// Calls queryApps() and checks the returned metadata
+TEST_P(ContextHubAidl, TestQueryApps) {
+ sp<QueryAppsCallback> cb = sp<QueryAppsCallback>::make();
+ bool success;
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), cb, &success).isOk());
+ ASSERT_TRUE(success);
+
+ ASSERT_TRUE(contextHub->queryNanoapps(getHubId(), &success).isOk());
+ ASSERT_TRUE(success);
+
+ std::vector<NanoappInfo> appInfoList;
+ ASSERT_TRUE(waitForCallback(cb->promise.get_future(), &appInfoList));
+ for (const NanoappInfo& appInfo : appInfoList) {
+ EXPECT_NE(appInfo.nanoappId, UINT64_C(0));
+ EXPECT_NE(appInfo.nanoappId, kNonExistentAppId);
+ }
+}
+
+// Helper callback that puts the TransactionResult for the expectedTransactionId into a
+// promise
+class TransactionResultCallback : public android::hardware::contexthub::BnContextHubCallback {
+ public:
+ Status handleNanoappInfo(const std::vector<NanoappInfo>& /* appInfo */) override {
+ return Status::ok();
+ }
+
+ Status handleContextHubMessage(const ContextHubMessage& /* msg */,
+ const std::vector<String16>& /* msgContentPerms */) override {
+ return Status::ok();
+ }
+
+ Status handleContextHubAsyncEvent(AsyncEventType /* evt */) override { return Status::ok(); }
+
+ Status handleTransactionResult(int32_t transactionId, bool success) override {
+ ALOGD("Got transaction result callback for transactionId %" PRIu32 " (expecting %" PRIu32
+ ") with success %d",
+ transactionId, expectedTransactionId, success);
+ if (transactionId == expectedTransactionId) {
+ promise.set_value(success);
+ }
+ return Status::ok();
+ }
+
+ uint32_t expectedTransactionId = 0;
+ std::promise<bool> promise;
+};
+
+// Parameterized fixture that sets the callback to TransactionResultCallback
+class ContextHubTransactionTest : public ContextHubAidl {
+ public:
+ virtual void SetUp() override {
+ ContextHubAidl::SetUp();
+ bool success;
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), cb, &success).isOk());
+ ASSERT_TRUE(success);
+ }
+
+ sp<TransactionResultCallback> cb = sp<TransactionResultCallback>::make();
+};
+
+TEST_P(ContextHubTransactionTest, TestSendMessageToNonExistentNanoapp) {
+ ContextHubMessage message;
+ message.nanoappId = kNonExistentAppId;
+ message.messageType = 1;
+ message.messageBody.resize(4);
+ std::fill(message.messageBody.begin(), message.messageBody.end(), 0);
+
+ ALOGD("Sending message to non-existent nanoapp");
+ bool success;
+ ASSERT_TRUE(contextHub->sendMessageToHub(getHubId(), message, &success).isOk());
+ ASSERT_TRUE(success);
+}
+
+TEST_P(ContextHubTransactionTest, TestLoadEmptyNanoapp) {
+ cb->expectedTransactionId = 0123;
+ NanoappBinary emptyApp;
+
+ emptyApp.nanoappId = kNonExistentAppId;
+ emptyApp.nanoappVersion = 1;
+ emptyApp.flags = 0;
+ emptyApp.targetChreApiMajorVersion = 1;
+ emptyApp.targetChreApiMinorVersion = 0;
+
+ ALOGD("Loading empty nanoapp");
+ bool success;
+ ASSERT_TRUE(contextHub->loadNanoapp(getHubId(), emptyApp, cb->expectedTransactionId, &success)
+ .isOk());
+ if (success) {
+ bool transactionSuccess;
+ ASSERT_TRUE(waitForCallback(cb->promise.get_future(), &transactionSuccess));
+ ASSERT_FALSE(transactionSuccess);
+ }
+}
+
+TEST_P(ContextHubTransactionTest, TestUnloadNonexistentNanoapp) {
+ cb->expectedTransactionId = 1234;
+
+ ALOGD("Unloading nonexistent nanoapp");
+ bool success;
+ ASSERT_TRUE(contextHub
+ ->unloadNanoapp(getHubId(), kNonExistentAppId, cb->expectedTransactionId,
+ &success)
+ .isOk());
+ if (success) {
+ bool transactionSuccess;
+ ASSERT_TRUE(waitForCallback(cb->promise.get_future(), &transactionSuccess));
+ ASSERT_FALSE(transactionSuccess);
+ }
+}
+
+TEST_P(ContextHubTransactionTest, TestEnableNonexistentNanoapp) {
+ cb->expectedTransactionId = 2345;
+
+ ALOGD("Enabling nonexistent nanoapp");
+ bool success;
+ ASSERT_TRUE(contextHub
+ ->enableNanoapp(getHubId(), kNonExistentAppId, cb->expectedTransactionId,
+ &success)
+ .isOk());
+ if (success) {
+ bool transactionSuccess;
+ ASSERT_TRUE(waitForCallback(cb->promise.get_future(), &transactionSuccess));
+ ASSERT_FALSE(transactionSuccess);
+ }
+}
+
+TEST_P(ContextHubTransactionTest, TestDisableNonexistentNanoapp) {
+ cb->expectedTransactionId = 3456;
+
+ ALOGD("Disabling nonexistent nanoapp");
+ bool success;
+ ASSERT_TRUE(contextHub
+ ->disableNanoapp(getHubId(), kNonExistentAppId, cb->expectedTransactionId,
+ &success)
+ .isOk());
+ if (success) {
+ bool transactionSuccess;
+ ASSERT_TRUE(waitForCallback(cb->promise.get_future(), &transactionSuccess));
+ ASSERT_FALSE(transactionSuccess);
+ }
+}
+
+void ContextHubAidl::testSettingChanged(Setting setting) {
+ // In VTS, we only test that sending the values doesn't cause things to blow up - GTS tests
+ // verify the expected E2E behavior in CHRE
+ bool success;
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), new IContextHubCallbackDefault(), &success)
+ .isOk());
+ ASSERT_TRUE(success);
+
+ ASSERT_TRUE(contextHub->onSettingChanged(setting, true /* enabled */).isOk());
+ ASSERT_TRUE(contextHub->onSettingChanged(setting, false /* enabled */).isOk());
+
+ ASSERT_TRUE(contextHub->registerCallback(getHubId(), nullptr, &success).isOk());
+ ASSERT_TRUE(success);
+}
+
+TEST_P(ContextHubAidl, TestOnLocationSettingChanged) {
+ testSettingChanged(Setting::LOCATION);
+}
+
+TEST_P(ContextHubAidl, TestOnWifiMainSettingChanged) {
+ testSettingChanged(Setting::WIFI_MAIN);
+}
+
+TEST_P(ContextHubAidl, TestOnWifiScanningSettingChanged) {
+ testSettingChanged(Setting::WIFI_SCANNING);
+}
+
+TEST_P(ContextHubAidl, TestOnAirplaneModeSettingChanged) {
+ testSettingChanged(Setting::AIRPLANE_MODE);
+}
+
+TEST_P(ContextHubAidl, TestOnMicrophoneSettingChanged) {
+ testSettingChanged(Setting::MICROPHONE);
+}
+
+std::vector<std::tuple<std::string, int32_t>> generateContextHubMapping() {
+ std::vector<std::tuple<std::string, int32_t>> tuples;
+ auto contextHubAidlNames = android::getAidlHalInstanceNames(IContextHub::descriptor);
+ std::vector<ContextHubInfo> contextHubInfos;
+
+ for (int i = 0; i < contextHubAidlNames.size(); i++) {
+ auto contextHubName = contextHubAidlNames[i].c_str();
+ auto contextHub = android::waitForDeclaredService<IContextHub>(String16(contextHubName));
+ if (contextHub->getContextHubs(&contextHubInfos).isOk()) {
+ for (auto& info : contextHubInfos) {
+ tuples.push_back(std::make_tuple(contextHubName, info.id));
+ }
+ }
+ }
+
+ return tuples;
+}
+
+std::string PrintGeneratedTest(const testing::TestParamInfo<ContextHubAidl::ParamType>& info) {
+ return std::string("CONTEXT_HUB_ID_") + std::to_string(std::get<1>(info.param));
+}
+
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ContextHubAidl);
+INSTANTIATE_TEST_SUITE_P(ContextHub, ContextHubAidl, testing::ValuesIn(generateContextHubMapping()),
+ PrintGeneratedTest);
+
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(ContextHubTransactionTest);
+INSTANTIATE_TEST_SUITE_P(ContextHub, ContextHubTransactionTest,
+ testing::ValuesIn(generateContextHubMapping()), PrintGeneratedTest);
+
+int main(int argc, char** argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ ProcessState::self()->setThreadPoolMaxThreadCount(1);
+ ProcessState::self()->startThreadPool();
+ return RUN_ALL_TESTS();
+}
diff --git a/current.txt b/current.txt
index 907a3b3..21ee123 100644
--- a/current.txt
+++ b/current.txt
@@ -903,5 +903,7 @@
# ABI preserving changes to HALs during Android T
62ace52d9c3ff1f60f94118557a2aaf0b953513e59dcd34d5f94ae28d4c7e780 android.hardware.fastboot@1.0::IFastboot
+ca62a2a95d173ed323309e5e00f653ad3cceec82a6e5e4976a249cb5aafe2515 android.hardware.neuralnetworks@1.2::types
+fa76bced6b1b71c40fc706c508a9011284c57f57831cd0cf5f45653ed4ea463e android.hardware.neuralnetworks@1.3::types
# There should be no more HIDL HALs - please use AIDL instead.
diff --git a/drm/1.0/vts/functional/OWNERS b/drm/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..0b13790
--- /dev/null
+++ b/drm/1.0/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 49079
+jtinker@google.com
+robertshih@google.com
+edwinwong@google.com
\ No newline at end of file
diff --git a/drm/1.1/vts/functional/OWNERS b/drm/1.1/vts/functional/OWNERS
new file mode 100644
index 0000000..0b13790
--- /dev/null
+++ b/drm/1.1/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 49079
+jtinker@google.com
+robertshih@google.com
+edwinwong@google.com
\ No newline at end of file
diff --git a/drm/1.2/vts/functional/OWNERS b/drm/1.2/vts/functional/OWNERS
new file mode 100644
index 0000000..0b13790
--- /dev/null
+++ b/drm/1.2/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 49079
+jtinker@google.com
+robertshih@google.com
+edwinwong@google.com
\ No newline at end of file
diff --git a/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp b/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp
index 618624e..f3fa0b4 100644
--- a/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp
+++ b/gatekeeper/1.0/vts/functional/VtsHalGatekeeperV1_0TargetTest.cpp
@@ -310,8 +310,6 @@
if (first != nullptr && second != nullptr) {
EXPECT_NE(first->user_id, second->user_id);
}
- // the old enrollment should be invalid now
- verifyPassword(password, enrollRsp.data, 0, verifyRsp, false);
ALOGI("Testing Untrusted Reenroll done");
}
diff --git a/gnss/2.1/vts/functional/OWNERS b/gnss/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..b831eb4
--- /dev/null
+++ b/gnss/2.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 393449
+yuhany@google.com
diff --git a/gnss/aidl/default/GnssMeasurementInterface.cpp b/gnss/aidl/default/GnssMeasurementInterface.cpp
index 0e489c5..9e4f7c7 100644
--- a/gnss/aidl/default/GnssMeasurementInterface.cpp
+++ b/gnss/aidl/default/GnssMeasurementInterface.cpp
@@ -19,6 +19,8 @@
#include "GnssMeasurementInterface.h"
#include <aidl/android/hardware/gnss/BnGnss.h>
#include <log/log.h>
+#include "DeviceFileReader.h"
+#include "GnssRawMeasurementParser.h"
#include "GnssReplayUtils.h"
#include "Utils.h"
@@ -26,6 +28,8 @@
using Utils = ::android::hardware::gnss::common::Utils;
using ReplayUtils = ::android::hardware::gnss::common::ReplayUtils;
+using GnssRawMeasurementParser = ::android::hardware::gnss::common::GnssRawMeasurementParser;
+using DeviceFileReader = ::android::hardware::gnss::common::DeviceFileReader;
std::shared_ptr<IGnssMeasurementCallback> GnssMeasurementInterface::sCallback = nullptr;
@@ -68,15 +72,15 @@
std::string rawMeasurementStr = "";
if (ReplayUtils::hasGnssDeviceFile() &&
ReplayUtils::isGnssRawMeasurement(
- rawMeasurementStr = ReplayUtils::getDataFromDeviceFile(
- std::string(
- ::android::hardware::gnss::common::CMD_GET_RAWMEASUREMENT),
- mMinIntervalMillis))) {
- // TODO: implement rawMeasurementStr parser and report measurement.
+ rawMeasurementStr =
+ DeviceFileReader::Instance().getGnssRawMeasurementData())) {
ALOGD("rawMeasurementStr(size: %zu) from device file: %s", rawMeasurementStr.size(),
rawMeasurementStr.c_str());
- auto measurement = Utils::getMockMeasurement(enableCorrVecOutputs);
- this->reportMeasurement(measurement);
+ auto measurement =
+ GnssRawMeasurementParser::getMeasurementFromStrs(rawMeasurementStr);
+ if (measurement != nullptr) {
+ this->reportMeasurement(*measurement);
+ }
} else {
auto measurement = Utils::getMockMeasurement(enableCorrVecOutputs);
this->reportMeasurement(measurement);
diff --git a/gnss/common/utils/default/Android.bp b/gnss/common/utils/default/Android.bp
index ac94cc1..5294409 100644
--- a/gnss/common/utils/default/Android.bp
+++ b/gnss/common/utils/default/Android.bp
@@ -38,10 +38,13 @@
"v2_1/GnssDebug.cpp",
"v2_1/GnssMeasurement.cpp",
"v2_1/GnssMeasurementCorrections.cpp",
- "MockLocation.cpp",
- "Utils.cpp",
- "NmeaFixInfo.cpp",
+ "DeviceFileReader.cpp",
+ "GnssRawMeasurementParser.cpp",
"GnssReplayUtils.cpp",
+ "MockLocation.cpp",
+ "NmeaFixInfo.cpp",
+ "ParseUtils.cpp",
+ "Utils.cpp",
],
export_include_dirs: ["include"],
shared_libs: [
diff --git a/gnss/common/utils/default/DeviceFileReader.cpp b/gnss/common/utils/default/DeviceFileReader.cpp
new file mode 100644
index 0000000..7d4fb04
--- /dev/null
+++ b/gnss/common/utils/default/DeviceFileReader.cpp
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "DeviceFileReader.h"
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+
+void DeviceFileReader::getDataFromDeviceFile(const std::string& command, int mMinIntervalMs) {
+ char inputBuffer[INPUT_BUFFER_SIZE];
+ int mGnssFd = open(ReplayUtils::getGnssPath().c_str(),
+ O_RDWR | O_NONBLOCK);
+
+ if (mGnssFd == -1) {
+ return;
+ }
+
+ int bytes_write = write(mGnssFd, command.c_str(), command.size());
+ if (bytes_write <= 0) {
+ close(mGnssFd);
+ return;
+ }
+
+ struct epoll_event ev, events[1];
+ ev.data.fd = mGnssFd;
+ ev.events = EPOLLIN;
+ int epoll_fd = epoll_create1(0);
+ epoll_ctl(epoll_fd, EPOLL_CTL_ADD, mGnssFd, &ev);
+ int bytes_read = -1;
+ std::string inputStr = "";
+ int epoll_ret = epoll_wait(epoll_fd, events, 1, mMinIntervalMs);
+
+ if (epoll_ret == -1) {
+ close(mGnssFd);
+ return;
+ }
+ while (true) {
+ memset(inputBuffer, 0, INPUT_BUFFER_SIZE);
+ bytes_read = read(mGnssFd, &inputBuffer, INPUT_BUFFER_SIZE);
+ if (bytes_read <= 0) {
+ break;
+ }
+ s_buffer_ += std::string(inputBuffer, bytes_read);
+ }
+ close(mGnssFd);
+
+ // Trim end of file mark(\n\n\n\n).
+ auto pos = s_buffer_.find("\n\n\n\n");
+ if (pos != std::string::npos) {
+ inputStr = s_buffer_.substr(0, pos);
+ s_buffer_ = s_buffer_.substr(pos + 4);
+ } else {
+ return;
+ }
+
+ // Cache the injected data.
+ if (ReplayUtils::isGnssRawMeasurement(inputStr)) {
+ data_[CMD_GET_RAWMEASUREMENT] = inputStr;
+ } else if (ReplayUtils::isNMEA(inputStr)) {
+ data_[CMD_GET_LOCATION] = inputStr;
+ }
+}
+
+std::string DeviceFileReader::getLocationData() {
+ std::unique_lock<std::mutex> lock(mMutex);
+ getDataFromDeviceFile(CMD_GET_LOCATION, 20);
+ return data_[CMD_GET_LOCATION];
+}
+
+std::string DeviceFileReader::getGnssRawMeasurementData() {
+ std::unique_lock<std::mutex> lock(mMutex);
+ getDataFromDeviceFile(CMD_GET_RAWMEASUREMENT, 20);
+ return data_[CMD_GET_RAWMEASUREMENT];
+}
+
+DeviceFileReader::DeviceFileReader() {}
+
+DeviceFileReader::~DeviceFileReader() {}
+
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
diff --git a/gnss/common/utils/default/GnssRawMeasurementParser.cpp b/gnss/common/utils/default/GnssRawMeasurementParser.cpp
new file mode 100644
index 0000000..c066229
--- /dev/null
+++ b/gnss/common/utils/default/GnssRawMeasurementParser.cpp
@@ -0,0 +1,305 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "GnssRawMeasurementParser.h"
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+
+using aidl::android::hardware::gnss::ElapsedRealtime;
+using aidl::android::hardware::gnss::GnssClock;
+using aidl::android::hardware::gnss::GnssConstellationType;
+using aidl::android::hardware::gnss::GnssData;
+using aidl::android::hardware::gnss::GnssMeasurement;
+using aidl::android::hardware::gnss::GnssMultipathIndicator;
+using aidl::android::hardware::gnss::GnssSignalType;
+
+using ParseUtils = ::android::hardware::gnss::common::ParseUtils;
+
+std::unordered_map<std::string, int> GnssRawMeasurementParser::getColumnIdNameMappingFromHeader(
+ const std::string& header) {
+ std::vector<std::string> columnNames;
+ std::unordered_map<std::string, int> columnNameIdMapping;
+ std::string s = header;
+ // Trim left spaces
+ s.erase(s.begin(),
+ std::find_if(s.begin(), s.end(), [](unsigned char ch) { return !std::isspace(ch); }));
+ // Trim right spaces
+ s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char ch) { return !std::isspace(ch); })
+ .base(),
+ s.end());
+ // Remove comment symbol, start from `Raw`.
+ s = s.substr(s.find("Raw"));
+
+ ParseUtils::splitStr(s, COMMA_SEPARATOR, columnNames);
+ int columnId = 0;
+ for (auto& name : columnNames) {
+ columnNameIdMapping[name] = columnId++;
+ }
+
+ return columnNameIdMapping;
+}
+
+int GnssRawMeasurementParser::getClockFlags(
+ const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping) {
+ int clockFlags = 0;
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("LeapSecond")].empty()) {
+ clockFlags |= GnssClock::HAS_LEAP_SECOND;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("FullBiasNanos")].empty()) {
+ clockFlags |= GnssClock::HAS_FULL_BIAS;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("BiasNanos")].empty()) {
+ clockFlags |= GnssClock::HAS_BIAS;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("BiasUncertaintyNanos")].empty()) {
+ clockFlags |= GnssClock::HAS_BIAS_UNCERTAINTY;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("DriftNanosPerSecond")].empty()) {
+ clockFlags |= GnssClock::HAS_DRIFT;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("DriftUncertaintyNanosPerSecond")]
+ .empty()) {
+ clockFlags |= GnssClock::HAS_DRIFT_UNCERTAINTY;
+ }
+ return clockFlags;
+}
+
+int GnssRawMeasurementParser::getElapsedRealtimeFlags(
+ const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping) {
+ int elapsedRealtimeFlags = ElapsedRealtime::HAS_TIMESTAMP_NS;
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("TimeUncertaintyNanos")].empty()) {
+ elapsedRealtimeFlags |= ElapsedRealtime::HAS_TIME_UNCERTAINTY_NS;
+ }
+ return elapsedRealtimeFlags;
+}
+
+int GnssRawMeasurementParser::getRawMeasurementFlags(
+ const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping) {
+ int rawMeasurementFlags = 0;
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("SnrInDb")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_SNR;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("CarrierFrequencyHz")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_CARRIER_FREQUENCY;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("CarrierCycles")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_CARRIER_CYCLES;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("CarrierPhase")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_CARRIER_PHASE;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("CarrierPhaseUncertainty")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_CARRIER_PHASE_UNCERTAINTY;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("AgcDb")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_AUTOMATIC_GAIN_CONTROL;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("FullInterSignalBiasNanos")].empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_FULL_ISB;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("FullInterSignalBiasUncertaintyNanos")]
+ .empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_FULL_ISB_UNCERTAINTY;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at("SatelliteInterSignalBiasNanos")]
+ .empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_SATELLITE_ISB;
+ }
+ if (!rawMeasurementRecordValues[columnNameIdMapping.at(
+ "SatelliteInterSignalBiasUncertaintyNanos")]
+ .empty()) {
+ rawMeasurementFlags |= GnssMeasurement::HAS_SATELLITE_ISB_UNCERTAINTY;
+ }
+ // HAS_SATELLITE_PVT and HAS_CORRELATION_VECTOR fields currently not in rawmeasurement
+ // output, need add them later.
+ return rawMeasurementFlags;
+}
+
+GnssConstellationType GnssRawMeasurementParser::getGnssConstellationType(int constellationType) {
+ GnssConstellationType gnssConstellationType =
+ aidl::android::hardware::gnss::GnssConstellationType::UNKNOWN;
+
+ switch (constellationType) {
+ case 1:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::GPS;
+ break;
+ case 2:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::SBAS;
+ break;
+ case 3:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::GLONASS;
+ break;
+ case 4:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::QZSS;
+ break;
+ case 5:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::BEIDOU;
+ break;
+ case 6:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::GALILEO;
+ break;
+ default:
+ gnssConstellationType = aidl::android::hardware::gnss::GnssConstellationType::UNKNOWN;
+ }
+
+ return gnssConstellationType;
+}
+
+std::unique_ptr<GnssData> GnssRawMeasurementParser::getMeasurementFromStrs(
+ std::string& rawMeasurementStr) {
+ /*
+ * Raw,utcTimeMillis,TimeNanos,LeapSecond,TimeUncertaintyNanos,FullBiasNanos,BiasNanos,
+ * BiasUncertaintyNanos,DriftNanosPerSecond,DriftUncertaintyNanosPerSecond,
+ * HardwareClockDiscontinuityCount,Svid,TimeOffsetNanos,State,ReceivedSvTimeNanos,
+ * ReceivedSvTimeUncertaintyNanos,Cn0DbHz,PseudorangeRateMetersPerSecond,
+ * PseudorangeRateUncertaintyMetersPerSecond,AccumulatedDeltaRangeState,
+ * AccumulatedDeltaRangeMeters,AccumulatedDeltaRangeUncertaintyMeters,CarrierFrequencyHz,
+ * CarrierCycles,CarrierPhase,CarrierPhaseUncertainty,MultipathIndicator,SnrInDb,
+ * ConstellationType,AgcDb,BasebandCn0DbHz,FullInterSignalBiasNanos,
+ * FullInterSignalBiasUncertaintyNanos,SatelliteInterSignalBiasNanos,
+ * SatelliteInterSignalBiasUncertaintyNanos,CodeType,ChipsetElapsedRealtimeNanos
+ */
+ ALOGD("Parsing %zu bytes rawMeasurementStr.", rawMeasurementStr.size());
+ if (rawMeasurementStr.empty()) {
+ return nullptr;
+ }
+ std::vector<std::string> rawMeasurementStrRecords;
+ ParseUtils::splitStr(rawMeasurementStr, LINE_SEPARATOR, rawMeasurementStrRecords);
+ if (rawMeasurementStrRecords.size() <= 1) {
+ ALOGE("Raw GNSS Measurements parser failed. (No records) ");
+ return nullptr;
+ }
+
+ // Get the column name mapping from the header.
+ std::unordered_map<std::string, int> columnNameIdMapping =
+ getColumnIdNameMappingFromHeader(rawMeasurementStrRecords[0]);
+
+ if (columnNameIdMapping.size() < 37 || !ParseUtils::isValidHeader(columnNameIdMapping)) {
+ ALOGE("Raw GNSS Measurements parser failed. (No header or missing columns.) ");
+ return nullptr;
+ }
+
+ // Set GnssClock from 1st record.
+ std::size_t pointer = 1;
+ std::vector<std::string> firstRecordValues;
+ ParseUtils::splitStr(rawMeasurementStrRecords[pointer], COMMA_SEPARATOR, firstRecordValues);
+ GnssClock clock = {
+ .gnssClockFlags = getClockFlags(firstRecordValues, columnNameIdMapping),
+ .timeNs = ParseUtils::tryParseLongLong(
+ firstRecordValues[columnNameIdMapping.at("TimeNanos")], 0),
+ .fullBiasNs = ParseUtils::tryParseLongLong(
+ firstRecordValues[columnNameIdMapping.at("FullBiasNanos")], 0),
+ .biasNs = ParseUtils::tryParseDouble(
+ firstRecordValues[columnNameIdMapping.at("BiasNanos")], 0),
+ .biasUncertaintyNs = ParseUtils::tryParseDouble(
+ firstRecordValues[columnNameIdMapping.at("BiasUncertaintyNanos")], 0),
+ .driftNsps = ParseUtils::tryParseDouble(
+ firstRecordValues[columnNameIdMapping.at("DriftNanosPerSecond")], 0),
+ .driftUncertaintyNsps = ParseUtils::tryParseDouble(
+ firstRecordValues[columnNameIdMapping.at("DriftNanosPerSecond")], 0),
+ .hwClockDiscontinuityCount = ParseUtils::tryParseInt(
+ firstRecordValues[columnNameIdMapping.at("HardwareClockDiscontinuityCount")],
+ 0)};
+
+ ElapsedRealtime timestamp = {
+ .flags = getElapsedRealtimeFlags(firstRecordValues, columnNameIdMapping),
+ .timestampNs = ParseUtils::tryParseLongLong(
+ firstRecordValues[columnNameIdMapping.at("ChipsetElapsedRealtimeNanos")]),
+ .timeUncertaintyNs = ParseUtils::tryParseDouble(
+ firstRecordValues[columnNameIdMapping.at("TimeUncertaintyNanos")], 0)};
+
+ std::vector<GnssMeasurement> measurementsVec;
+ for (pointer = 1; pointer < rawMeasurementStrRecords.size(); pointer++) {
+ std::vector<std::string> rawMeasurementValues;
+ std::string line = rawMeasurementStrRecords[pointer];
+ ParseUtils::splitStr(line, COMMA_SEPARATOR, rawMeasurementValues);
+ GnssSignalType signalType = {
+ .constellation = getGnssConstellationType(ParseUtils::tryParseInt(
+ rawMeasurementValues[columnNameIdMapping.at("ConstellationType")], 0)),
+ .carrierFrequencyHz = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("CarrierFrequencyHz")], 0),
+ .codeType = rawMeasurementValues[columnNameIdMapping.at("CodeType")],
+ };
+ GnssMeasurement measurement = {
+ .flags = getRawMeasurementFlags(rawMeasurementValues, columnNameIdMapping),
+ .svid = ParseUtils::tryParseInt(
+ rawMeasurementValues[columnNameIdMapping.at("Svid")], 0),
+ .signalType = signalType,
+ .receivedSvTimeInNs = ParseUtils::tryParseLongLong(
+ rawMeasurementValues[columnNameIdMapping.at("ReceivedSvTimeNanos")], 0),
+ .receivedSvTimeUncertaintyInNs =
+ ParseUtils::tryParseLongLong(rawMeasurementValues[columnNameIdMapping.at(
+ "ReceivedSvTimeUncertaintyNanos")],
+ 0),
+ .antennaCN0DbHz = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("Cn0DbHz")], 0),
+ .basebandCN0DbHz = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("BasebandCn0DbHz")], 0),
+ .agcLevelDb = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("AgcDb")], 0),
+ .pseudorangeRateMps =
+ ParseUtils::tryParseDouble(rawMeasurementValues[columnNameIdMapping.at(
+ "PseudorangeRateMetersPerSecond")],
+ 0),
+ .pseudorangeRateUncertaintyMps = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at(
+ "PseudorangeRateUncertaintyMetersPerSecond")],
+ 0),
+ .accumulatedDeltaRangeState = ParseUtils::tryParseInt(
+ rawMeasurementValues[columnNameIdMapping.at("AccumulatedDeltaRangeState")],
+ 0),
+ .accumulatedDeltaRangeM = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("AccumulatedDeltaRangeMeters")],
+ 0),
+ .accumulatedDeltaRangeUncertaintyM = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at(
+ "AccumulatedDeltaRangeUncertaintyMeters")],
+ 0),
+ .multipathIndicator = GnssMultipathIndicator::UNKNOWN, // Not in GnssLogger yet.
+ .state = ParseUtils::tryParseInt(
+ rawMeasurementValues[columnNameIdMapping.at("State")], 0),
+ .fullInterSignalBiasNs = ParseUtils::tryParseDouble(rawMeasurementValues[31], 0),
+ .fullInterSignalBiasUncertaintyNs = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at("FullInterSignalBiasNanos")],
+ 0),
+ .satelliteInterSignalBiasNs =
+ ParseUtils::tryParseDouble(rawMeasurementValues[columnNameIdMapping.at(
+ "SatelliteInterSignalBiasNanos")],
+ 0),
+ .satelliteInterSignalBiasUncertaintyNs = ParseUtils::tryParseDouble(
+ rawMeasurementValues[columnNameIdMapping.at(
+ "SatelliteInterSignalBiasUncertaintyNanos")],
+ 0),
+ .satellitePvt = {},
+ .correlationVectors = {}};
+ measurementsVec.push_back(measurement);
+ }
+
+ GnssData gnssData = {
+ .measurements = measurementsVec, .clock = clock, .elapsedRealtime = timestamp};
+ return std::make_unique<GnssData>(gnssData);
+}
+
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
diff --git a/gnss/common/utils/default/GnssReplayUtils.cpp b/gnss/common/utils/default/GnssReplayUtils.cpp
index fc4c477..e3f4ff8 100644
--- a/gnss/common/utils/default/GnssReplayUtils.cpp
+++ b/gnss/common/utils/default/GnssReplayUtils.cpp
@@ -40,45 +40,8 @@
}
bool ReplayUtils::isNMEA(const std::string& inputStr) {
- return !inputStr.empty() &&
- (inputStr.rfind("$GPRMC,", 0) == 0 || inputStr.rfind("$GPRMA,", 0) == 0);
-}
-
-std::string ReplayUtils::getDataFromDeviceFile(const std::string& command, int mMinIntervalMs) {
- char inputBuffer[INPUT_BUFFER_SIZE];
- int mGnssFd = open(getGnssPath().c_str(), O_RDWR | O_NONBLOCK);
-
- if (mGnssFd == -1) {
- return "";
- }
-
- int bytes_write = write(mGnssFd, command.c_str(), command.size());
- if (bytes_write <= 0) {
- return "";
- }
-
- struct epoll_event ev, events[1];
- ev.data.fd = mGnssFd;
- ev.events = EPOLLIN;
- int epoll_fd = epoll_create1(0);
- epoll_ctl(epoll_fd, EPOLL_CTL_ADD, mGnssFd, &ev);
- int bytes_read = -1;
- std::string inputStr = "";
- int epoll_ret = epoll_wait(epoll_fd, events, 1, mMinIntervalMs);
-
- if (epoll_ret == -1) {
- return "";
- }
- while (true) {
- memset(inputBuffer, 0, INPUT_BUFFER_SIZE);
- bytes_read = read(mGnssFd, &inputBuffer, INPUT_BUFFER_SIZE);
- if (bytes_read <= 0) {
- break;
- }
- inputStr += std::string(inputBuffer, bytes_read);
- }
-
- return inputStr;
+ return !inputStr.empty() && (inputStr.find("$GPRMC,", 0) != std::string::npos ||
+ inputStr.find("$GPRMA,", 0) != std::string::npos);
}
} // namespace common
diff --git a/gnss/common/utils/default/ParseUtils.cpp b/gnss/common/utils/default/ParseUtils.cpp
new file mode 100644
index 0000000..648edf7
--- /dev/null
+++ b/gnss/common/utils/default/ParseUtils.cpp
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <ParseUtils.h>
+#include <sstream>
+#include <stdexcept>
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+
+int ParseUtils::tryParseInt(const std::string& s, int defaultVal) {
+ if (s.empty()) {
+ return defaultVal;
+ } else {
+ return std::stoi(s);
+ }
+}
+
+float ParseUtils::tryParsefloat(const std::string& s, float defaultVal) {
+ if (s.empty()) {
+ return defaultVal;
+ } else {
+ return std::stof(s);
+ }
+}
+
+double ParseUtils::tryParseDouble(const std::string& s, double defaultVal) {
+ if (s.empty()) {
+ return defaultVal;
+ } else {
+ return std::stod(s);
+ }
+}
+
+long ParseUtils::tryParseLong(const std::string& s, long defaultVal) {
+ if (s.empty()) {
+ return defaultVal;
+ } else {
+ return std::stol(s);
+ }
+}
+
+long long ParseUtils::tryParseLongLong(const std::string& s, long long defaultVal) {
+ if (s.empty()) {
+ return defaultVal;
+ } else {
+ return std::stoll(s);
+ }
+}
+
+void ParseUtils::splitStr(const std::string& line, const char& delimiter,
+ std::vector<std::string>& out) {
+ std::istringstream iss(line);
+ std::string item;
+ while (std::getline(iss, item, delimiter)) {
+ out.push_back(item);
+ }
+}
+
+bool ParseUtils::isValidHeader(const std::unordered_map<std::string, int>& columnNameIdMapping) {
+ std::vector<std::string> requiredHeaderColumns = {"Raw",
+ "utcTimeMillis",
+ "TimeNanos",
+ "LeapSecond",
+ "TimeUncertaintyNanos",
+ "FullBiasNanos",
+ "BiasNanos",
+ "BiasUncertaintyNanos",
+ "DriftNanosPerSecond",
+ "DriftUncertaintyNanosPerSecond",
+ "HardwareClockDiscontinuityCount",
+ "Svid",
+ "TimeOffsetNanos",
+ "State",
+ "ReceivedSvTimeNanos",
+ "ReceivedSvTimeUncertaintyNanos",
+ "Cn0DbHz",
+ "PseudorangeRateMetersPerSecond",
+ "PseudorangeRateUncertaintyMetersPerSecond",
+ "AccumulatedDeltaRangeState",
+ "AccumulatedDeltaRangeMeters",
+ "AccumulatedDeltaRangeUncertaintyMeters",
+ "CarrierFrequencyHz",
+ "CarrierCycles",
+ "CarrierPhase",
+ "CarrierPhaseUncertainty",
+ "MultipathIndicator",
+ "SnrInDb",
+ "ConstellationType",
+ "AgcDb",
+ "BasebandCn0DbHz",
+ "FullInterSignalBiasNanos",
+ "FullInterSignalBiasUncertaintyNanos",
+ "SatelliteInterSignalBiasNanos",
+ "SatelliteInterSignalBiasUncertaintyNanos",
+ "CodeType",
+ "ChipsetElapsedRealtimeNanos"};
+
+ for (const auto& columnName : requiredHeaderColumns) {
+ if (columnNameIdMapping.find(columnName) == columnNameIdMapping.end()) {
+ ALOGE("Missing column %s in header.", columnName.c_str());
+ return false;
+ }
+ }
+
+ return true;
+}
+
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
diff --git a/gnss/common/utils/default/include/DeviceFileReader.h b/gnss/common/utils/default/include/DeviceFileReader.h
new file mode 100644
index 0000000..c2a5c5f
--- /dev/null
+++ b/gnss/common/utils/default/include/DeviceFileReader.h
@@ -0,0 +1,53 @@
+
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef android_hardware_gnss_common_default_DeviceFileReader_H_
+#define android_hardware_gnss_common_default_DeviceFileReader_H_
+
+#include <log/log.h>
+#include <mutex>
+#include <string>
+#include <unordered_map>
+#include "Constants.h"
+#include "GnssReplayUtils.h"
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+class DeviceFileReader {
+ public:
+ static DeviceFileReader& Instance() {
+ static DeviceFileReader reader;
+ return reader;
+ }
+ std::string getLocationData();
+ std::string getGnssRawMeasurementData();
+ void getDataFromDeviceFile(const std::string& command, int mMinIntervalMs);
+
+ private:
+ DeviceFileReader();
+ ~DeviceFileReader();
+ std::unordered_map<std::string, std::string> data_;
+ std::string s_buffer_;
+ std::mutex mMutex;
+};
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_gnss_common_default_DeviceFileReader_H_
\ No newline at end of file
diff --git a/gnss/common/utils/default/include/GnssRawMeasurementParser.h b/gnss/common/utils/default/include/GnssRawMeasurementParser.h
new file mode 100644
index 0000000..7d6b4ef
--- /dev/null
+++ b/gnss/common/utils/default/include/GnssRawMeasurementParser.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_gnss_common_default_GnssRawMeasurementParser_H_
+#define android_hardware_gnss_common_default_GnssRawMeasurementParser_H_
+
+#include <aidl/android/hardware/gnss/BnGnss.h>
+#include <log/log.h>
+#include <utils/SystemClock.h>
+#include <string>
+#include <unordered_map>
+
+#include "Constants.h"
+#include "ParseUtils.h"
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+
+struct GnssRawMeasurementParser {
+ static std::unique_ptr<aidl::android::hardware::gnss::GnssData> getMeasurementFromStrs(
+ std::string& rawMeasurementStr);
+ static int getClockFlags(const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping);
+ static int getElapsedRealtimeFlags(
+ const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping);
+ static int getRawMeasurementFlags(
+ const std::vector<std::string>& rawMeasurementRecordValues,
+ const std::unordered_map<std::string, int>& columnNameIdMapping);
+ static std::unordered_map<std::string, int> getColumnIdNameMappingFromHeader(
+ const std::string& header);
+ static aidl::android::hardware::gnss::GnssConstellationType getGnssConstellationType(
+ int constellationType);
+};
+
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_gnss_common_default_GnssRawMeasurementParser_H_
\ No newline at end of file
diff --git a/gnss/common/utils/default/include/ParseUtils.h b/gnss/common/utils/default/include/ParseUtils.h
new file mode 100644
index 0000000..3a56313
--- /dev/null
+++ b/gnss/common/utils/default/include/ParseUtils.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_gnss_common_default_ParseUtils_H_
+#define android_hardware_gnss_common_default_ParseUtils_H_
+
+#include <log/log.h>
+#include <string>
+#include <unordered_map>
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace gnss {
+namespace common {
+
+struct ParseUtils {
+ static int tryParseInt(const std::string& s, int defaultVal = 0);
+ static float tryParsefloat(const std::string& s, float defaultVal = 0.0);
+ static double tryParseDouble(const std::string& s, double defaultVal = 0.0);
+ static long tryParseLong(const std::string& s, long defaultVal = 0);
+ static long long tryParseLongLong(const std::string& s, long long defaultVal = 0);
+ static void splitStr(const std::string& line, const char& delimiter,
+ std::vector<std::string>& out);
+ static bool isValidHeader(const std::unordered_map<std::string, int>& columnNameIdMapping);
+};
+
+} // namespace common
+} // namespace gnss
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_gnss_common_default_ParseUtils_H_
\ No newline at end of file
diff --git a/gnss/common/utils/default/include/v2_1/GnssTemplate.h b/gnss/common/utils/default/include/v2_1/GnssTemplate.h
index 6f0ced1..19b1b45 100644
--- a/gnss/common/utils/default/include/v2_1/GnssTemplate.h
+++ b/gnss/common/utils/default/include/v2_1/GnssTemplate.h
@@ -30,6 +30,7 @@
#include <cutils/properties.h>
+#include "DeviceFileReader.h"
#include "GnssAntennaInfo.h"
#include "GnssConfiguration.h"
#include "GnssDebug.h"
@@ -163,19 +164,9 @@
template <class T_IGnss>
std::unique_ptr<V2_0::GnssLocation> GnssTemplate<T_IGnss>::getLocationFromHW() {
- if (!mHardwareModeChecked) {
- // default using /dev/gnss0
- std::string gnss_dev_path = ReplayUtils::getGnssPath();
-
- mGnssFd = open(gnss_dev_path.c_str(), O_RDWR | O_NONBLOCK);
- if (mGnssFd == -1) {
- ALOGW("Failed to open %s errno: %d", gnss_dev_path.c_str(), errno);
- }
- mHardwareModeChecked = true;
- }
-
- std::string inputStr = ::android::hardware::gnss::common::ReplayUtils::getDataFromDeviceFile(
- CMD_GET_LOCATION, mMinIntervalMs);
+ mHardwareModeChecked = true;
+ std::string inputStr =
+ ::android::hardware::gnss::common::DeviceFileReader::Instance().getLocationData();
return NmeaFixInfo::getLocationFromInputStr(inputStr);
}
diff --git a/graphics/common/aidl/Android.bp b/graphics/common/aidl/Android.bp
index b23d4a7..69ee498 100644
--- a/graphics/common/aidl/Android.bp
+++ b/graphics/common/aidl/Android.bp
@@ -15,7 +15,7 @@
enabled: true,
support_system_process: true,
},
- vndk_use_version: "2",
+ vndk_use_version: "3",
srcs: [
"android/hardware/graphics/common/*.aidl",
],
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BlendMode.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BlendMode.aidl
index deafdfa..1c19381 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BlendMode.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BlendMode.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl
index 58eefc4..b4ef451 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/BufferUsage.aidl
@@ -1,14 +1,30 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ChromaSiting.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ChromaSiting.aidl
index 7ca4dfa..7f0d734 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ChromaSiting.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ChromaSiting.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ColorTransform.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ColorTransform.aidl
new file mode 100644
index 0000000..255a42f
--- /dev/null
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ColorTransform.aidl
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.common;
+@Backing(type="int") @VintfStability
+enum ColorTransform {
+ IDENTITY = 0,
+ ARBITRARY_MATRIX = 1,
+ VALUE_INVERSE = 2,
+ GRAYSCALE = 3,
+ CORRECT_PROTANOPIA = 4,
+ CORRECT_DEUTERANOPIA = 5,
+ CORRECT_TRITANOPIA = 6,
+}
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Compression.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Compression.aidl
index 06e40a0..5b76376 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Compression.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Compression.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Cta861_3.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Cta861_3.aidl
index d4af501..fbe4b2a 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Cta861_3.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Cta861_3.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Dataspace.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Dataspace.aidl
index 43d7f84..3d97cff 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Dataspace.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Dataspace.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ExtendableType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ExtendableType.aidl
index 6fcb794..3ada312 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ExtendableType.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/ExtendableType.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/FRect.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/FRect.aidl
new file mode 100644
index 0000000..cb8190b
--- /dev/null
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/FRect.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.common;
+@VintfStability
+parcelable FRect {
+ float left;
+ float top;
+ float right;
+ float bottom;
+}
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBuffer.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBuffer.aidl
index 72222e1..4d8f78d 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBuffer.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBuffer.aidl
@@ -1,14 +1,30 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBufferDescription.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBufferDescription.aidl
index 232e023..4955049 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBufferDescription.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/HardwareBufferDescription.aidl
@@ -1,14 +1,30 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Hdr.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Hdr.aidl
new file mode 100644
index 0000000..0320a66
--- /dev/null
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Hdr.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.common;
+@Backing(type="int") @VintfStability
+enum Hdr {
+ DOLBY_VISION = 1,
+ HDR10 = 2,
+ HLG = 3,
+ HDR10_PLUS = 4,
+}
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Interlaced.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Interlaced.aidl
index 26674c9..30b4e03 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Interlaced.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Interlaced.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PixelFormat.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PixelFormat.aidl
index e5f0470..04a863b 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PixelFormat.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PixelFormat.aidl
@@ -1,14 +1,30 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayout.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayout.aidl
index 8bca42f..75fac9f 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayout.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayout.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponent.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponent.aidl
index f5a649c..20c0a0b 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponent.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponent.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponentType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponentType.aidl
index 7ff8d76..2f7d414 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponentType.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/PlaneLayoutComponentType.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Rect.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Rect.aidl
index e0ba69b..eb42027 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Rect.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Rect.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Smpte2086.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Smpte2086.aidl
index 5da36f6..2be31d8 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Smpte2086.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Smpte2086.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/StandardMetadataType.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/StandardMetadataType.aidl
index 34b53a2..2027350 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/StandardMetadataType.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/StandardMetadataType.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019,libgralloctypes_helper The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Transform.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Transform.aidl
new file mode 100644
index 0000000..5c3d4cb
--- /dev/null
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/Transform.aidl
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.common;
+@Backing(type="int") @VintfStability
+enum Transform {
+ FLIP_H = 1,
+ FLIP_V = 2,
+ ROT_90 = 4,
+ ROT_180 = 3,
+ ROT_270 = 7,
+}
diff --git a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/XyColor.aidl b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/XyColor.aidl
index d96d0ac..b42de18 100644
--- a/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/XyColor.aidl
+++ b/graphics/common/aidl/aidl_api/android.hardware.graphics.common/current/android/hardware/graphics/common/XyColor.aidl
@@ -1,14 +1,30 @@
+/**
+ * Copyright (c) 2019, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
///////////////////////////////////////////////////////////////////////////////
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 changes to the AIDL files built
+// You must not make a backward incompatible change to any AIDL file built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
diff --git a/graphics/common/aidl/android/hardware/graphics/common/ColorTransform.aidl b/graphics/common/aidl/android/hardware/graphics/common/ColorTransform.aidl
new file mode 100644
index 0000000..a8784f5
--- /dev/null
+++ b/graphics/common/aidl/android/hardware/graphics/common/ColorTransform.aidl
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.common;
+
+/**
+ * Color transforms that may be applied by hardware composer to the whole
+ * display.
+ */
+@VintfStability
+@Backing(type="int")
+enum ColorTransform {
+ /** Applies no transform to the output color */
+ IDENTITY = 0,
+
+ /** Applies an arbitrary transform defined by a 4x4 affine matrix */
+ ARBITRARY_MATRIX = 1,
+
+ /**
+ * Applies a transform that inverts the value or luminance of the color, but
+ * does not modify hue or saturation
+ */
+ VALUE_INVERSE = 2,
+
+ /** Applies a transform that maps all colors to shades of gray */
+ GRAYSCALE = 3,
+
+ /** Applies a transform which corrects for protanopic color blindness */
+ CORRECT_PROTANOPIA = 4,
+
+ /** Applies a transform which corrects for deuteranopic color blindness */
+ CORRECT_DEUTERANOPIA = 5,
+
+ /** Applies a transform which corrects for tritanopic color blindness */
+ CORRECT_TRITANOPIA = 6
+}
diff --git a/graphics/common/aidl/android/hardware/graphics/common/FRect.aidl b/graphics/common/aidl/android/hardware/graphics/common/FRect.aidl
new file mode 100644
index 0000000..f9f2b60
--- /dev/null
+++ b/graphics/common/aidl/android/hardware/graphics/common/FRect.aidl
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.common;
+/**
+ * General purpose definition of a rectangle with floating point corners.
+ */
+
+@VintfStability
+parcelable FRect {
+ float left;
+ float top;
+ float right;
+ float bottom;
+}
diff --git a/graphics/common/aidl/android/hardware/graphics/common/Hdr.aidl b/graphics/common/aidl/android/hardware/graphics/common/Hdr.aidl
new file mode 100644
index 0000000..f6d02dd
--- /dev/null
+++ b/graphics/common/aidl/android/hardware/graphics/common/Hdr.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.common;
+
+/**
+ * Supported HDR formats. Must be kept in sync with equivalents in Display.java.
+ */
+@VintfStability
+@Backing(type="int")
+enum Hdr {
+ /**
+ * Device supports Dolby Vision HDR
+ */
+ DOLBY_VISION = 1,
+ /**
+ * Device supports HDR10
+ */
+ HDR10 = 2,
+ /**
+ * Device supports hybrid log-gamma HDR
+ */
+ HLG = 3,
+ /**
+ * Device supports HDR10+
+ */
+ HDR10_PLUS = 4,
+}
diff --git a/graphics/common/aidl/android/hardware/graphics/common/Transform.aidl b/graphics/common/aidl/android/hardware/graphics/common/Transform.aidl
new file mode 100644
index 0000000..325816c
--- /dev/null
+++ b/graphics/common/aidl/android/hardware/graphics/common/Transform.aidl
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.common;
+
+/**
+ * Transformation definitions
+ */
+@VintfStability
+@Backing(type="int")
+enum Transform {
+ /**
+ * Horizontal flip. FLIP_H/FLIP_V is applied before ROT_90.
+ */
+ FLIP_H = 1 << 0,
+
+ /**
+ * Vertical flip. FLIP_H/FLIP_V is applied before ROT_90.
+ */
+ FLIP_V = 1 << 1,
+
+ /**
+ * 90 degree clockwise rotation. FLIP_H/FLIP_V is applied before ROT_90.
+ */
+ ROT_90 = 1 << 2,
+
+ /**
+ * Commonly used combinations.
+ */
+ ROT_180 = FLIP_H | FLIP_V,
+ ROT_270 = FLIP_H | FLIP_V | ROT_90,
+}
diff --git a/graphics/composer/2.1/vts/functional/OWNERS b/graphics/composer/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..a2ed8c8
--- /dev/null
+++ b/graphics/composer/2.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 25423
+sumir@google.com
diff --git a/graphics/composer/aidl/Android.bp b/graphics/composer/aidl/Android.bp
new file mode 100644
index 0000000..5006185
--- /dev/null
+++ b/graphics/composer/aidl/Android.bp
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+aidl_interface {
+ name: "android.hardware.graphics.composer3",
+ host_supported: true,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ support_system_process: true,
+ },
+ srcs: ["android/hardware/graphics/composer3/*.aidl"],
+ stability: "vintf",
+ imports: [
+ "android.hardware.graphics.common-V3",
+ "android.hardware.common-V2",
+ "android.hardware.common.fmq-V1",
+ ],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ enabled: false,
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+cc_library {
+ name: "android.hardware.graphics.composer3-translate-ndk",
+ vendor_available: true,
+ srcs: ["android/hardware/graphics/composer3/translate-ndk.cpp"],
+ shared_libs: [
+ "libbinder_ndk",
+ "libhidlbase",
+ "android.hardware.graphics.composer3-V1-ndk",
+ "android.hardware.graphics.composer@2.1",
+ "android.hardware.graphics.composer@2.4",
+ ],
+ export_include_dirs: ["include"],
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/BlendMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/BlendMode.aidl
new file mode 100644
index 0000000..a522d53
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/BlendMode.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum BlendMode {
+ INVALID = 0,
+ NONE = 1,
+ PREMULTIPLIED = 2,
+ COVERAGE = 3,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Capability.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Capability.aidl
new file mode 100644
index 0000000..557b3f8
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Capability.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum Capability {
+ INVALID = 0,
+ SIDEBAND_STREAM = 1,
+ SKIP_CLIENT_COLOR_TRANSFORM = 2,
+ PRESENT_FENCE_IS_NOT_RELIABLE = 3,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ClientTargetProperty.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ClientTargetProperty.aidl
new file mode 100644
index 0000000..d34d1b0
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ClientTargetProperty.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable ClientTargetProperty {
+ android.hardware.graphics.common.PixelFormat pixelFormat;
+ android.hardware.graphics.common.Dataspace dataspace;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Color.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Color.aidl
new file mode 100644
index 0000000..7733deb
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Color.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable Color {
+ byte r;
+ byte g;
+ byte b;
+ byte a;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ColorMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ColorMode.aidl
new file mode 100644
index 0000000..53852b6
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ColorMode.aidl
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum ColorMode {
+ NATIVE = 0,
+ STANDARD_BT601_625 = 1,
+ STANDARD_BT601_625_UNADJUSTED = 2,
+ STANDARD_BT601_525 = 3,
+ STANDARD_BT601_525_UNADJUSTED = 4,
+ STANDARD_BT709 = 5,
+ DCI_P3 = 6,
+ SRGB = 7,
+ ADOBE_RGB = 8,
+ DISPLAY_P3 = 9,
+ BT2020 = 10,
+ BT2100_PQ = 11,
+ BT2100_HLG = 12,
+ DISPLAY_BT2020 = 13,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Command.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Command.aidl
new file mode 100644
index 0000000..3b31149
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Command.aidl
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum Command {
+ LENGTH_MASK = 65535,
+ OPCODE_SHIFT = 16,
+ OPCODE_MASK = -65536,
+ SELECT_DISPLAY = 0,
+ SELECT_LAYER = 65536,
+ SET_ERROR = 16777216,
+ SET_CHANGED_COMPOSITION_TYPES = 16842752,
+ SET_DISPLAY_REQUESTS = 16908288,
+ SET_PRESENT_FENCE = 16973824,
+ SET_RELEASE_FENCES = 17039360,
+ SET_COLOR_TRANSFORM = 33554432,
+ SET_CLIENT_TARGET = 33619968,
+ SET_OUTPUT_BUFFER = 33685504,
+ VALIDATE_DISPLAY = 33751040,
+ ACCEPT_DISPLAY_CHANGES = 33816576,
+ PRESENT_DISPLAY = 33882112,
+ PRESENT_OR_VALIDATE_DISPLAY = 33947648,
+ SET_LAYER_CURSOR_POSITION = 50331648,
+ SET_LAYER_BUFFER = 50397184,
+ SET_LAYER_SURFACE_DAMAGE = 50462720,
+ SET_LAYER_BLEND_MODE = 67108864,
+ SET_LAYER_COLOR = 67174400,
+ SET_LAYER_COMPOSITION_TYPE = 67239936,
+ SET_LAYER_DATASPACE = 67305472,
+ SET_LAYER_DISPLAY_FRAME = 67371008,
+ SET_LAYER_PLANE_ALPHA = 67436544,
+ SET_LAYER_SIDEBAND_STREAM = 67502080,
+ SET_LAYER_SOURCE_CROP = 67567616,
+ SET_LAYER_TRANSFORM = 67633152,
+ SET_LAYER_VISIBLE_REGION = 67698688,
+ SET_LAYER_Z_ORDER = 67764224,
+ SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT = 67829760,
+ SET_LAYER_PER_FRAME_METADATA = 50528256,
+ SET_LAYER_FLOAT_COLOR = 67895296,
+ SET_LAYER_COLOR_TRANSFORM = 67960832,
+ SET_LAYER_PER_FRAME_METADATA_BLOBS = 50593792,
+ SET_CLIENT_TARGET_PROPERTY = 17104896,
+ SET_LAYER_GENERIC_METADATA = 68026368,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Composition.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Composition.aidl
new file mode 100644
index 0000000..e327e87
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/Composition.aidl
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum Composition {
+ INVALID = 0,
+ CLIENT = 1,
+ DEVICE = 2,
+ SOLID_COLOR = 3,
+ CURSOR = 4,
+ SIDEBAND = 5,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ContentType.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ContentType.aidl
new file mode 100644
index 0000000..d87b767
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ContentType.aidl
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum ContentType {
+ NONE = 0,
+ GRAPHICS = 1,
+ PHOTO = 2,
+ CINEMA = 3,
+ GAME = 4,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayAttribute.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayAttribute.aidl
new file mode 100644
index 0000000..8454c40
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayAttribute.aidl
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum DisplayAttribute {
+ INVALID = 0,
+ WIDTH = 1,
+ HEIGHT = 2,
+ VSYNC_PERIOD = 3,
+ DPI_X = 4,
+ DPI_Y = 5,
+ CONFIG_GROUP = 7,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayCapability.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayCapability.aidl
new file mode 100644
index 0000000..0bcd870
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayCapability.aidl
@@ -0,0 +1,43 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum DisplayCapability {
+ INVALID = 0,
+ SKIP_CLIENT_COLOR_TRANSFORM = 1,
+ DOZE = 2,
+ BRIGHTNESS = 3,
+ PROTECTED_CONTENTS = 4,
+ AUTO_LOW_LATENCY_MODE = 5,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayConnectionType.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayConnectionType.aidl
new file mode 100644
index 0000000..640f82a
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayConnectionType.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum DisplayConnectionType {
+ INTERNAL = 0,
+ EXTERNAL = 1,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSample.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSample.aidl
new file mode 100644
index 0000000..c624536
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSample.aidl
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable DisplayContentSample {
+ long frameCount;
+ long[] sampleComponent0;
+ long[] sampleComponent1;
+ long[] sampleComponent2;
+ long[] sampleComponent3;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl
new file mode 100644
index 0000000..7c6542f
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable DisplayContentSamplingAttributes {
+ android.hardware.graphics.common.PixelFormat format;
+ android.hardware.graphics.common.Dataspace dataspace;
+ android.hardware.graphics.composer3.FormatColorComponent componentMask;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayIdentification.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayIdentification.aidl
new file mode 100644
index 0000000..a0cc9b0
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayIdentification.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable DisplayIdentification {
+ byte port;
+ byte[] data;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayRequest.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayRequest.aidl
new file mode 100644
index 0000000..26e7d97
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/DisplayRequest.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum DisplayRequest {
+ FLIP_CLIENT_TARGET = 1,
+ WRITE_CLIENT_TARGET_TO_OUTPUT = 2,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl
new file mode 100644
index 0000000..41a1afe
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable ExecuteCommandsStatus {
+ boolean queueChanged;
+ int length;
+ android.hardware.common.NativeHandle[] handles;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FloatColor.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FloatColor.aidl
new file mode 100644
index 0000000..faadf57
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FloatColor.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable FloatColor {
+ float r;
+ float g;
+ float b;
+ float a;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FormatColorComponent.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FormatColorComponent.aidl
new file mode 100644
index 0000000..4b737de
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/FormatColorComponent.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="byte") @VintfStability
+enum FormatColorComponent {
+ FORMAT_COMPONENT_0 = 1,
+ FORMAT_COMPONENT_1 = 2,
+ FORMAT_COMPONENT_2 = 4,
+ FORMAT_COMPONENT_3 = 8,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HandleIndex.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HandleIndex.aidl
new file mode 100644
index 0000000..b87870d
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HandleIndex.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum HandleIndex {
+ EMPTY = -1,
+ CACHED = -2,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HdrCapabilities.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HdrCapabilities.aidl
new file mode 100644
index 0000000..80141d3
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/HdrCapabilities.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable HdrCapabilities {
+ android.hardware.graphics.common.Hdr[] types;
+ float maxLuminance;
+ float maxAverageLuminance;
+ float minLuminance;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposer.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposer.aidl
new file mode 100644
index 0000000..9abc608
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposer.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+interface IComposer {
+ android.hardware.graphics.composer3.IComposerClient createClient();
+ String dumpDebugInfo();
+ android.hardware.graphics.composer3.Capability[] getCapabilities();
+ const int EX_NO_RESOURCES = 6;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerCallback.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerCallback.aidl
new file mode 100644
index 0000000..f82d02e
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerCallback.aidl
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+interface IComposerCallback {
+ void onHotplug(long display, boolean connected);
+ oneway void onRefresh(long display);
+ oneway void onSeamlessPossible(long display);
+ oneway void onVsync(long display, long timestamp, int vsyncPeriodNanos);
+ oneway void onVsyncPeriodTimingChanged(long display, in android.hardware.graphics.composer3.VsyncPeriodChangeTimeline updatedTimeline);
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerClient.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerClient.aidl
new file mode 100644
index 0000000..531fd14
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/IComposerClient.aidl
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+interface IComposerClient {
+ long createLayer(long display, int bufferSlotCount);
+ android.hardware.graphics.composer3.VirtualDisplay createVirtualDisplay(int width, int height, android.hardware.graphics.common.PixelFormat formatHint, int outputBufferSlotCount);
+ void destroyLayer(long display, long layer);
+ void destroyVirtualDisplay(long display);
+ android.hardware.graphics.composer3.ExecuteCommandsStatus executeCommands(int inLength, in android.hardware.common.NativeHandle[] inHandles);
+ int getActiveConfig(long display);
+ void getClientTargetSupport(long display, int width, int height, android.hardware.graphics.common.PixelFormat format, android.hardware.graphics.common.Dataspace dataspace);
+ android.hardware.graphics.composer3.ColorMode[] getColorModes(long display);
+ float[] getDataspaceSaturationMatrix(android.hardware.graphics.common.Dataspace dataspace);
+ int getDisplayAttribute(long display, int config, android.hardware.graphics.composer3.DisplayAttribute attribute);
+ boolean getDisplayBrightnessSupport(long display);
+ android.hardware.graphics.composer3.DisplayCapability[] getDisplayCapabilities(long display);
+ int[] getDisplayConfigs(long display);
+ android.hardware.graphics.composer3.DisplayConnectionType getDisplayConnectionType(long display);
+ android.hardware.graphics.composer3.DisplayIdentification getDisplayIdentificationData(long display);
+ String getDisplayName(long display);
+ int getDisplayVsyncPeriod(long display);
+ android.hardware.graphics.composer3.DisplayContentSample getDisplayedContentSample(long display, long maxFrames, long timestamp);
+ android.hardware.graphics.composer3.DisplayContentSamplingAttributes getDisplayedContentSamplingAttributes(long display);
+ boolean getDozeSupport(long display);
+ android.hardware.graphics.composer3.HdrCapabilities getHdrCapabilities(long display);
+ android.hardware.graphics.composer3.LayerGenericMetadataKey[] getLayerGenericMetadataKeys();
+ int getMaxVirtualDisplayCount();
+ android.hardware.common.fmq.MQDescriptor<int,android.hardware.common.fmq.SynchronizedReadWrite> getOutputCommandQueue();
+ android.hardware.graphics.composer3.PerFrameMetadataKey[] getPerFrameMetadataKeys(long display);
+ android.hardware.graphics.composer3.ReadbackBufferAttributes getReadbackBufferAttributes(long display);
+ ParcelFileDescriptor getReadbackBufferFence(long display);
+ android.hardware.graphics.composer3.RenderIntent[] getRenderIntents(long display, android.hardware.graphics.composer3.ColorMode mode);
+ android.hardware.graphics.composer3.ContentType[] getSupportedContentTypes(long display);
+ void registerCallback(in android.hardware.graphics.composer3.IComposerCallback callback);
+ void setActiveConfig(long display, int config);
+ android.hardware.graphics.composer3.VsyncPeriodChangeTimeline setActiveConfigWithConstraints(long display, int config, in android.hardware.graphics.composer3.VsyncPeriodChangeConstraints vsyncPeriodChangeConstraints);
+ void setAutoLowLatencyMode(long display, boolean on);
+ void setClientTargetSlotCount(long display, int clientTargetSlotCount);
+ void setColorMode(long display, android.hardware.graphics.composer3.ColorMode mode, android.hardware.graphics.composer3.RenderIntent intent);
+ void setContentType(long display, android.hardware.graphics.composer3.ContentType type);
+ void setDisplayBrightness(long display, float brightness);
+ void setDisplayedContentSamplingEnabled(long display, boolean enable, android.hardware.graphics.composer3.FormatColorComponent componentMask, long maxFrames);
+ void setInputCommandQueue(in android.hardware.common.fmq.MQDescriptor<int,android.hardware.common.fmq.SynchronizedReadWrite> descriptor);
+ void setPowerMode(long display, android.hardware.graphics.composer3.PowerMode mode);
+ void setReadbackBuffer(long display, in android.hardware.common.NativeHandle buffer, in ParcelFileDescriptor releaseFence);
+ void setVsyncEnabled(long display, boolean enabled);
+ const int EX_BAD_CONFIG = 1;
+ const int EX_BAD_DISPLAY = 2;
+ const int EX_BAD_LAYER = 3;
+ const int EX_BAD_PARAMETER = 4;
+ const int EX_RESERVED = 5;
+ const int EX_NO_RESOURCES = 6;
+ const int EX_NOT_VALIDATED = 7;
+ const int EX_UNSUPPORTED = 8;
+ const int EX_SEAMLESS_NOT_ALLOWED = 9;
+ const int EX_SEAMLESS_NOT_POSSIBLE = 10;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl
new file mode 100644
index 0000000..73385d4
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable LayerGenericMetadataKey {
+ String name;
+ boolean mandatory;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerRequest.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerRequest.aidl
new file mode 100644
index 0000000..cfafc50
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/LayerRequest.aidl
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum LayerRequest {
+ CLEAR_CLIENT_TARGET = 1,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadata.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadata.aidl
new file mode 100644
index 0000000..cd1f351
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadata.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable PerFrameMetadata {
+ android.hardware.graphics.composer3.PerFrameMetadataKey key;
+ float value;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl
new file mode 100644
index 0000000..c1e74d9
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable PerFrameMetadataBlob {
+ android.hardware.graphics.composer3.PerFrameMetadataKey key;
+ byte[] blob;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl
new file mode 100644
index 0000000..8722f87
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum PerFrameMetadataKey {
+ DISPLAY_RED_PRIMARY_X = 0,
+ DISPLAY_RED_PRIMARY_Y = 1,
+ DISPLAY_GREEN_PRIMARY_X = 2,
+ DISPLAY_GREEN_PRIMARY_Y = 3,
+ DISPLAY_BLUE_PRIMARY_X = 4,
+ DISPLAY_BLUE_PRIMARY_Y = 5,
+ WHITE_POINT_X = 6,
+ WHITE_POINT_Y = 7,
+ MAX_LUMINANCE = 8,
+ MIN_LUMINANCE = 9,
+ MAX_CONTENT_LIGHT_LEVEL = 10,
+ MAX_FRAME_AVERAGE_LIGHT_LEVEL = 11,
+ HDR10_PLUS_SEI = 12,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PowerMode.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PowerMode.aidl
new file mode 100644
index 0000000..f587d4d
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/PowerMode.aidl
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum PowerMode {
+ OFF = 0,
+ DOZE = 1,
+ DOZE_SUSPEND = 3,
+ ON = 2,
+ ON_SUSPEND = 4,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl
new file mode 100644
index 0000000..bb51bdc
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable ReadbackBufferAttributes {
+ android.hardware.graphics.common.PixelFormat format;
+ android.hardware.graphics.common.Dataspace dataspace;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/RenderIntent.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/RenderIntent.aidl
new file mode 100644
index 0000000..5670c10
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/RenderIntent.aidl
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@Backing(type="int") @VintfStability
+enum RenderIntent {
+ COLORIMETRIC = 0,
+ ENHANCE = 1,
+ TONE_MAP_COLORIMETRIC = 2,
+ TONE_MAP_ENHANCE = 3,
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VirtualDisplay.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VirtualDisplay.aidl
new file mode 100644
index 0000000..886be2e
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VirtualDisplay.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable VirtualDisplay {
+ long display;
+ android.hardware.graphics.common.PixelFormat format;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl
new file mode 100644
index 0000000..df38c11
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable VsyncPeriodChangeConstraints {
+ long desiredTimeNanos;
+ boolean seamlessRequired;
+}
diff --git a/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl
new file mode 100644
index 0000000..9fb3999
--- /dev/null
+++ b/graphics/composer/aidl/aidl_api/android.hardware.graphics.composer3/current/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.graphics.composer3;
+@VintfStability
+parcelable VsyncPeriodChangeTimeline {
+ long newVsyncAppliedTimeNanos;
+ boolean refreshRequired;
+ long refreshTimeNanos;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/BlendMode.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/BlendMode.aidl
new file mode 100644
index 0000000..c6fd063
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/BlendMode.aidl
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * Blend modes, settable per layer.
+ */
+@VintfStability
+@Backing(type="int")
+enum BlendMode {
+ INVALID = 0,
+ /**
+ * colorOut = colorSrc
+ */
+ NONE = 1,
+ /**
+ * colorOut = colorSrc + colorDst * (1 - alphaSrc)
+ */
+ PREMULTIPLIED = 2,
+ /**
+ * colorOut = colorSrc * alphaSrc + colorDst * (1 - alphaSrc)
+ */
+ COVERAGE = 3,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/Capability.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/Capability.aidl
new file mode 100644
index 0000000..028b6f5
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/Capability.aidl
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * Optional capabilities which may be supported by some devices. The
+ * particular set of supported capabilities for a given device may be
+ * retrieved using getCapabilities.
+ */
+@VintfStability
+@Backing(type="int")
+enum Capability {
+ INVALID = 0,
+ /**
+ * Specifies that the device supports sideband stream layers, for
+ * which buffer content updates and other synchronization will not be
+ * provided through the usual validate/present cycle and must be
+ * handled by an external implementation-defined mechanism. Only
+ * changes to layer state (such as position, size, etc.) need to be
+ * performed through the validate/present cycle.
+ */
+ SIDEBAND_STREAM = 1,
+ /**
+ * Specifies that the device will apply a color transform even when
+ * either the client or the device has chosen that all layers should
+ * be composed by the client. This will prevent the client from
+ * applying the color transform during its composition step.
+ */
+ SKIP_CLIENT_COLOR_TRANSFORM = 2,
+ /**
+ * Specifies that the present fence must not be used as an accurate
+ * representation of the actual present time of a frame.
+ */
+ PRESENT_FENCE_IS_NOT_RELIABLE = 3,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/ClientTargetProperty.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/ClientTargetProperty.aidl
new file mode 100644
index 0000000..b4d5887
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/ClientTargetProperty.aidl
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+parcelable ClientTargetProperty {
+ android.hardware.graphics.common.PixelFormat pixelFormat;
+ android.hardware.graphics.common.Dataspace dataspace;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/Color.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/Color.aidl
new file mode 100644
index 0000000..979f677
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/Color.aidl
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+parcelable Color {
+ byte r;
+ byte g;
+ byte b;
+ byte a;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/ColorMode.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/ColorMode.aidl
new file mode 100644
index 0000000..c13d207
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/ColorMode.aidl
@@ -0,0 +1,283 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+@Backing(type="int")
+enum ColorMode {
+ /**
+ * DEFAULT is the "native" gamut of the display.
+ * White Point: Vendor/OEM defined
+ * Panel Gamma: Vendor/OEM defined (typically 2.2)
+ * Rendering Intent: Vendor/OEM defined (typically 'enhanced')
+ */
+ NATIVE = 0,
+ /**
+ * STANDARD_BT601_625 corresponds with display
+ * settings that implement the ITU-R Recommendation BT.601
+ * or Rec 601. Using 625 line version
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.290 0.600
+ * blue 0.150 0.060
+ * red 0.640 0.330
+ * white (D65) 0.3127 0.3290
+ *
+ * KR = 0.299, KB = 0.114. This adjusts the luminance interpretation
+ * for RGB conversion from the one purely determined by the primaries
+ * to minimize the color shift into RGB space that uses BT.709
+ * primaries.
+ *
+ * Gamma Correction (GC):
+ *
+ * if Vlinear < 0.018
+ * Vnonlinear = 4.500 * Vlinear
+ * else
+ * Vnonlinear = 1.099 * (Vlinear)^(0.45) – 0.099
+ */
+ STANDARD_BT601_625 = 1,
+ /**
+ * Primaries:
+ * x y
+ * green 0.290 0.600
+ * blue 0.150 0.060
+ * red 0.640 0.330
+ * white (D65) 0.3127 0.3290
+ *
+ * Use the unadjusted KR = 0.222, KB = 0.071 luminance interpretation
+ * for RGB conversion.
+ *
+ * Gamma Correction (GC):
+ *
+ * if Vlinear < 0.018
+ * Vnonlinear = 4.500 * Vlinear
+ * else
+ * Vnonlinear = 1.099 * (Vlinear)^(0.45) – 0.099
+ */
+ STANDARD_BT601_625_UNADJUSTED = 2,
+ /**
+ * Primaries:
+ * x y
+ * green 0.310 0.595
+ * blue 0.155 0.070
+ * red 0.630 0.340
+ * white (D65) 0.3127 0.3290
+ *
+ * KR = 0.299, KB = 0.114. This adjusts the luminance interpretation
+ * for RGB conversion from the one purely determined by the primaries
+ * to minimize the color shift into RGB space that uses BT.709
+ * primaries.
+ *
+ * Gamma Correction (GC):
+ *
+ * if Vlinear < 0.018
+ * Vnonlinear = 4.500 * Vlinear
+ * else
+ * Vnonlinear = 1.099 * (Vlinear)^(0.45) – 0.099
+ */
+ STANDARD_BT601_525 = 3,
+ /**
+ * Primaries:
+ * x y
+ * green 0.310 0.595
+ * blue 0.155 0.070
+ * red 0.630 0.340
+ * white (D65) 0.3127 0.3290
+ *
+ * Use the unadjusted KR = 0.212, KB = 0.087 luminance interpretation
+ * for RGB conversion (as in SMPTE 240M).
+ *
+ * Gamma Correction (GC):
+ *
+ * if Vlinear < 0.018
+ * Vnonlinear = 4.500 * Vlinear
+ * else
+ * Vnonlinear = 1.099 * (Vlinear)^(0.45) – 0.099
+ */
+ STANDARD_BT601_525_UNADJUSTED = 4,
+ /**
+ * REC709 corresponds with display settings that implement
+ * the ITU-R Recommendation BT.709 / Rec. 709 for high-definition television.
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.300 0.600
+ * blue 0.150 0.060
+ * red 0.640 0.330
+ * white (D65) 0.3127 0.3290
+ *
+ * HDTV REC709 Inverse Gamma Correction (IGC): V represents normalized
+ * (with [0 to 1] range) value of R, G, or B.
+ *
+ * if Vnonlinear < 0.081
+ * Vlinear = Vnonlinear / 4.5
+ * else
+ * Vlinear = ((Vnonlinear + 0.099) / 1.099) ^ (1/0.45)
+ *
+ * HDTV REC709 Gamma Correction (GC):
+ *
+ * if Vlinear < 0.018
+ * Vnonlinear = 4.5 * Vlinear
+ * else
+ * Vnonlinear = 1.099 * (Vlinear) ^ 0.45 – 0.099
+ */
+ STANDARD_BT709 = 5,
+ /**
+ * DCI_P3 corresponds with display settings that implement
+ * SMPTE EG 432-1 and SMPTE RP 431-2
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.265 0.690
+ * blue 0.150 0.060
+ * red 0.680 0.320
+ * white (D65) 0.3127 0.3290
+ *
+ * Gamma: 2.6
+ */
+ DCI_P3 = 6,
+ /**
+ * SRGB corresponds with display settings that implement
+ * the sRGB color space. Uses the same primaries as ITU-R Recommendation
+ * BT.709
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.300 0.600
+ * blue 0.150 0.060
+ * red 0.640 0.330
+ * white (D65) 0.3127 0.3290
+ *
+ * PC/Internet (sRGB) Inverse Gamma Correction (IGC):
+ *
+ * if Vnonlinear ≤ 0.03928
+ * Vlinear = Vnonlinear / 12.92
+ * else
+ * Vlinear = ((Vnonlinear + 0.055)/1.055) ^ 2.4
+ *
+ * PC/Internet (sRGB) Gamma Correction (GC):
+ *
+ * if Vlinear ≤ 0.0031308
+ * Vnonlinear = 12.92 * Vlinear
+ * else
+ * Vnonlinear = 1.055 * (Vlinear)^(1/2.4) – 0.055
+ */
+ SRGB = 7,
+ /**
+ * ADOBE_RGB corresponds with the RGB color space developed
+ * by Adobe Systems, Inc. in 1998.
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.210 0.710
+ * blue 0.150 0.060
+ * red 0.640 0.330
+ * white (D65) 0.3127 0.3290
+ *
+ * Gamma: 2.2
+ */
+ ADOBE_RGB = 8,
+ /**
+ * DISPLAY_P3 is a color space that uses the DCI_P3 primaries,
+ * the D65 white point and the SRGB transfer functions.
+ * Rendering Intent: Colorimetric
+ * Primaries:
+ * x y
+ * green 0.265 0.690
+ * blue 0.150 0.060
+ * red 0.680 0.320
+ * white (D65) 0.3127 0.3290
+ *
+ * PC/Internet (sRGB) Gamma Correction (GC):
+ *
+ * if Vlinear ≤ 0.0030186
+ * Vnonlinear = 12.92 * Vlinear
+ * else
+ * Vnonlinear = 1.055 * (Vlinear)^(1/2.4) – 0.055
+ *
+ * Note: In most cases sRGB transfer function will be fine.
+ */
+ DISPLAY_P3 = 9,
+ /**
+ * BT2020 corresponds with display settings that implement the ITU-R
+ * Recommendation BT.2020 / Rec. 2020 for UHDTV.
+ *
+ * Primaries:
+ * x y
+ * green 0.170 0.797
+ * blue 0.131 0.046
+ * red 0.708 0.292
+ * white (D65) 0.3127 0.3290
+ *
+ * Inverse Gamma Correction (IGC): V represents normalized (with [0 to 1]
+ * range) value of R, G, or B.
+ *
+ * if Vnonlinear < b * 4.5
+ * Vlinear = Vnonlinear / 4.5
+ * else
+ * Vlinear = ((Vnonlinear + (a - 1)) / a) ^ (1/0.45)
+ *
+ * Gamma Correction (GC):
+ *
+ * if Vlinear < b
+ * Vnonlinear = 4.5 * Vlinear
+ * else
+ * Vnonlinear = a * Vlinear ^ 0.45 - (a - 1)
+ *
+ * where
+ *
+ * a = 1.09929682680944, b = 0.018053968510807
+ *
+ * For practical purposes, these a/b values can be used instead
+ *
+ * a = 1.099, b = 0.018 for 10-bit display systems
+ * a = 1.0993, b = 0.0181 for 12-bit display systems
+ */
+ BT2020 = 10,
+ /**
+ * BT2100_PQ and BT2100_HLG correspond with display settings that
+ * implement the ITU-R Recommendation BT.2100 / Rec. 2100 for HDR TV.
+ *
+ * Primaries:
+ * x y
+ * green 0.170 0.797
+ * blue 0.131 0.046
+ * red 0.708 0.292
+ * white (D65) 0.3127 0.3290
+ *
+ * For BT2100_PQ, the transfer function is Perceptual Quantizer (PQ). For
+ * BT2100_HLG, the transfer function is Hybrid Log-Gamma (HLG).
+ */
+ BT2100_PQ = 11,
+ BT2100_HLG = 12,
+ /**
+ * DISPLAY_BT2020 corresponds with display settings that implement the ITU-R
+ * Recommendation BT.2020 / Rec. 2020 for UHDTV, but specifies an SRGB
+ * transfer function.
+ *
+ * Primaries:
+ * x y
+ * green 0.170 0.797
+ * blue 0.131 0.046
+ * red 0.708 0.292
+ * white (D65) 0.3127 0.3290
+ *
+ * Transfer Function is sRGB
+ */
+ DISPLAY_BT2020 = 13,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/Command.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/Command.aidl
new file mode 100644
index 0000000..5f987d0
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/Command.aidl
@@ -0,0 +1,741 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+import android.hardware.graphics.composer3.Command;
+
+/**
+ * The command interface allows composer3 to reduce binder overhead by sending
+ * atomic command stream in a command message queue. These commands are usually
+ * sent on a per frame basic and contains the information that describes how the
+ * display is composited. @see IComposerClient.executeCommands.
+ */
+@VintfStability
+@Backing(type="int")
+enum Command {
+ LENGTH_MASK = 0xffff,
+ OPCODE_SHIFT = 16,
+ OPCODE_MASK = 0xffff << OPCODE_SHIFT,
+
+ // special commands
+
+ /**
+ * SELECT_DISPLAY has this pseudo prototype
+ *
+ * selectDisplay(long display);
+ *
+ * Selects the current display implied by all other commands.
+ *
+ * @param display is the newly selected display.
+ */
+ SELECT_DISPLAY = 0x000 << OPCODE_SHIFT,
+
+ /**
+ * SELECT_LAYER has this pseudo prototype
+ *
+ * selectLayer(long layer);
+ *
+ * Selects the current layer implied by all implicit layer commands.
+ *
+ * @param layer is the newly selected layer.
+ */
+ SELECT_LAYER = 0x001 << OPCODE_SHIFT,
+
+ // value commands (for return values)
+
+ /**
+ * SET_ERROR has this pseudo prototype
+ *
+ * setError(uint32_t location, int error);
+ *
+ * Indicates an error generated by a command.
+ *
+ * @param location is the offset of the command in the input command
+ * message queue.
+ * @param error is the error generated by the command.
+ */
+ SET_ERROR = 0x100 << OPCODE_SHIFT,
+
+ /**
+ * SET_CHANGED_COMPOSITION_TYPES has this pseudo prototype
+ *
+ * setChangedCompositionTypes(long[] layers,
+ * Composition[] types);
+ *
+ * Sets the layers for which the device requires a different composition
+ * type than had been set prior to the last call to VALIDATE_DISPLAY. The
+ * client must either update its state with these types and call
+ * ACCEPT_DISPLAY_CHANGES, or must set new types and attempt to validate
+ * the display again.
+ *
+ * @param layers is an array of layer handles.
+ * @param types is an array of composition types, each corresponding to
+ * an element of layers.
+ */
+ SET_CHANGED_COMPOSITION_TYPES = 0x101 << OPCODE_SHIFT,
+
+ /**
+ * SET_DISPLAY_REQUESTS has this pseudo prototype
+ *
+ * setDisplayRequests(int displayRequestMask,
+ * long[] layers,
+ * int[] layerRequestMasks);
+ *
+ * Sets the display requests and the layer requests required for the last
+ * validated configuration.
+ *
+ * Display requests provide information about how the client must handle
+ * the client target. Layer requests provide information about how the
+ * client must handle an individual layer.
+ *
+ * @param displayRequestMask is the display requests for the current
+ * validated state.
+ * @param layers is an array of layers which all have at least one
+ * request.
+ * @param layerRequestMasks is the requests corresponding to each element
+ * of layers.
+ */
+ SET_DISPLAY_REQUESTS = 0x102 << OPCODE_SHIFT,
+
+ /**
+ * SET_PRESENT_FENCE has this pseudo prototype
+ *
+ * setPresentFence(int presentFenceIndex);
+ *
+ * Sets the present fence as a result of PRESENT_DISPLAY. For physical
+ * displays, this fence must be signaled at the vsync when the result
+ * of composition of this frame starts to appear (for video-mode panels)
+ * or starts to transfer to panel memory (for command-mode panels). For
+ * virtual displays, this fence must be signaled when writes to the output
+ * buffer have completed and it is safe to read from it.
+ *
+ * @param presentFenceIndex is an index into outHandles array.
+ */
+ SET_PRESENT_FENCE = 0x103 << OPCODE_SHIFT,
+
+ /**
+ * SET_RELEASE_FENCES has this pseudo prototype
+ *
+ * setReleaseFences(long[] layers,
+ * int[] releaseFenceIndices);
+ *
+ * Sets the release fences for device layers on this display which will
+ * receive new buffer contents this frame.
+ *
+ * A release fence is a file descriptor referring to a sync fence object
+ * which must be signaled after the device has finished reading from the
+ * buffer presented in the prior frame. This indicates that it is safe to
+ * start writing to the buffer again. If a given layer's fence is not
+ * returned from this function, it must be assumed that the buffer
+ * presented on the previous frame is ready to be written.
+ *
+ * The fences returned by this function must be unique for each layer
+ * (even if they point to the same underlying sync object).
+ *
+ * @param layers is an array of layer handles.
+ * @param releaseFenceIndices are indices into outHandles array, each
+ * corresponding to an element of layers.
+ */
+ SET_RELEASE_FENCES = 0x104 << OPCODE_SHIFT,
+
+ // display commands
+
+ /**
+ * SET_COLOR_TRANSFORM has this pseudo prototype
+ *
+ * setColorTransform(float[16] matrix,
+ * ColorTransform hint);
+ *
+ * Sets a color transform which will be applied after composition.
+ *
+ * If hint is not ColorTransform::ARBITRARY, then the device may use the
+ * hint to apply the desired color transform instead of using the color
+ * matrix directly.
+ *
+ * If the device is not capable of either using the hint or the matrix to
+ * apply the desired color transform, it must force all layers to client
+ * composition during VALIDATE_DISPLAY.
+ *
+ * If IComposer::Capability::SKIP_CLIENT_COLOR_TRANSFORM is present, then
+ * the client must never apply the color transform during client
+ * composition, even if all layers are being composed by the client.
+ *
+ * The matrix provided is an affine color transformation of the following
+ * form:
+ *
+ * |r.r r.g r.b 0|
+ * |g.r g.g g.b 0|
+ * |b.r b.g b.b 0|
+ * |Tr Tg Tb 1|
+ *
+ * This matrix must be provided in row-major form:
+ *
+ * {r.r, r.g, r.b, 0, g.r, ...}.
+ *
+ * Given a matrix of this form and an input color [R_in, G_in, B_in], the
+ * output color [R_out, G_out, B_out] will be:
+ *
+ * R_out = R_in * r.r + G_in * g.r + B_in * b.r + Tr
+ * G_out = R_in * r.g + G_in * g.g + B_in * b.g + Tg
+ * B_out = R_in * r.b + G_in * g.b + B_in * b.b + Tb
+ *
+ * @param matrix is a 4x4 transform matrix (16 floats) as described above.
+ * @param hint is a hint value which may be used instead of the given
+ * matrix unless it is ColorTransform::ARBITRARY.
+ */
+ SET_COLOR_TRANSFORM = 0x200 << OPCODE_SHIFT,
+
+ /**
+ * SET_CLIENT_TARGET has this pseudo prototype
+ *
+ * setClientTarget(int targetSlot,
+ * int targetIndex,
+ * int acquireFenceIndex,
+ * android.hardware.graphics.common.Dataspace dataspace,
+ * Rect[] damage);
+ *
+ * Sets the buffer handle which will receive the output of client
+ * composition. Layers marked as Composition::CLIENT must be composited
+ * into this buffer prior to the call to PRESENT_DISPLAY, and layers not
+ * marked as Composition::CLIENT must be composited with this buffer by
+ * the device.
+ *
+ * The buffer handle provided may be empty if no layers are being
+ * composited by the client. This must not result in an error (unless an
+ * invalid display handle is also provided).
+ *
+ * Also provides a file descriptor referring to an acquire sync fence
+ * object, which must be signaled when it is safe to read from the client
+ * target buffer. If it is already safe to read from this buffer, an
+ * empty handle may be passed instead.
+ *
+ * For more about dataspaces, see SET_LAYER_DATASPACE.
+ *
+ * The damage parameter describes a surface damage region as defined in
+ * the description of SET_LAYER_SURFACE_DAMAGE.
+ *
+ * Will be called before PRESENT_DISPLAY if any of the layers are marked
+ * as Composition::CLIENT. If no layers are so marked, then it is not
+ * necessary to call this function. It is not necessary to call
+ * validateDisplay after changing the target through this function.
+ *
+ * @param targetSlot is the client target buffer slot to use.
+ * @param targetIndex is an index into inHandles for the new target
+ * buffer.
+ * @param acquireFenceIndex is an index into inHandles for a sync fence
+ * file descriptor as described above.
+ * @param dataspace is the dataspace of the buffer, as described in
+ * setLayerDataspace.
+ * @param damage is the surface damage region.
+ *
+ */
+ SET_CLIENT_TARGET = 0x201 << OPCODE_SHIFT,
+
+ /**
+ * SET_OUTPUT_BUFFER has this pseudo prototype
+ *
+ * setOutputBuffer(int bufferSlot,
+ * int bufferIndex,
+ * int releaseFenceIndex);
+ *
+ * Sets the output buffer for a virtual display. That is, the buffer to
+ * which the composition result will be written.
+ *
+ * Also provides a file descriptor referring to a release sync fence
+ * object, which must be signaled when it is safe to write to the output
+ * buffer. If it is already safe to write to the output buffer, an empty
+ * handle may be passed instead.
+ *
+ * Must be called at least once before PRESENT_DISPLAY, but does not have
+ * any interaction with layer state or display validation.
+ *
+ * @param bufferSlot is the new output buffer.
+ * @param bufferIndex is the new output buffer.
+ * @param releaseFenceIndex is a sync fence file descriptor as described
+ * above.
+ */
+ SET_OUTPUT_BUFFER = 0x202 << OPCODE_SHIFT,
+
+ /**
+ * VALIDATE_DISPLAY has this pseudo prototype
+ *
+ * validateDisplay();
+ *
+ * Instructs the device to inspect all of the layer state and determine if
+ * there are any composition type changes necessary before presenting the
+ * display. Permitted changes are described in the definition of
+ * Composition above.
+ */
+ VALIDATE_DISPLAY = 0x203 << OPCODE_SHIFT,
+
+ /**
+ * ACCEPT_DISPLAY_CHANGES has this pseudo prototype
+ *
+ * acceptDisplayChanges();
+ *
+ * Accepts the changes required by the device from the previous
+ * validateDisplay call (which may be queried using
+ * getChangedCompositionTypes) and revalidates the display. This function
+ * is equivalent to requesting the changed types from
+ * getChangedCompositionTypes, setting those types on the corresponding
+ * layers, and then calling validateDisplay again.
+ *
+ * After this call it must be valid to present this display. Calling this
+ * after validateDisplay returns 0 changes must succeed with NONE, but
+ * must have no other effect.
+ */
+ ACCEPT_DISPLAY_CHANGES = 0x204 << OPCODE_SHIFT,
+
+ /**
+ * PRESENT_DISPLAY has this pseudo prototype
+ *
+ * presentDisplay();
+ *
+ * Presents the current display contents on the screen (or in the case of
+ * virtual displays, into the output buffer).
+ *
+ * Prior to calling this function, the display must be successfully
+ * validated with validateDisplay. Note that setLayerBuffer and
+ * setLayerSurfaceDamage specifically do not count as layer state, so if
+ * there are no other changes to the layer state (or to the buffer's
+ * properties as described in setLayerBuffer), then it is safe to call
+ * this function without first validating the display.
+ */
+ PRESENT_DISPLAY = 0x205 << OPCODE_SHIFT,
+
+ /**
+ * PRESENT_OR_VALIDATE_DISPLAY has this pseudo prototype
+ *
+ * presentOrValidateDisplay();
+ *
+ * Presents the current display contents on the screen (or in the case of
+ * virtual displays, into the output buffer) if validate can be skipped,
+ * or perform a VALIDATE_DISPLAY action instead.
+ */
+ PRESENT_OR_VALIDATE_DISPLAY = 0x206 << OPCODE_SHIFT,
+
+ // layer commands (VALIDATE_DISPLAY not required)
+
+ /**
+ * SET_LAYER_CURSOR_POSITION has this pseudo prototype
+ *
+ * setLayerCursorPosition(int x, int y);
+ *
+ * Asynchronously sets the position of a cursor layer.
+ *
+ * Prior to validateDisplay, a layer may be marked as Composition::CURSOR.
+ * If validation succeeds (i.e., the device does not request a composition
+ * change for that layer), then once a buffer has been set for the layer
+ * and it has been presented, its position may be set by this function at
+ * any time between presentDisplay and any subsequent validateDisplay
+ * calls for this display.
+ *
+ * Once validateDisplay is called, this function must not be called again
+ * until the validate/present sequence is completed.
+ *
+ * May be called from any thread so long as it is not interleaved with the
+ * validate/present sequence as described above.
+ *
+ * @param layer is the layer to which the position is set.
+ * @param x is the new x coordinate (in pixels from the left of the
+ * screen).
+ * @param y is the new y coordinate (in pixels from the top of the
+ * screen).
+ */
+ SET_LAYER_CURSOR_POSITION = 0x300 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_BUFFER has this pseudo prototype
+ *
+ * setLayerBuffer(int bufferSlot,
+ * int bufferIndex,
+ * int acquireFenceIndex);
+ *
+ * Sets the buffer handle to be displayed for this layer. If the buffer
+ * properties set at allocation time (width, height, format, and usage)
+ * have not changed since the previous frame, it is not necessary to call
+ * validateDisplay before calling presentDisplay unless new state needs to
+ * be validated in the interim.
+ *
+ * Also provides a file descriptor referring to an acquire sync fence
+ * object, which must be signaled when it is safe to read from the given
+ * buffer. If it is already safe to read from the buffer, an empty handle
+ * may be passed instead.
+ *
+ * This function must return NONE and have no other effect if called for a
+ * layer with a composition type of Composition::SOLID_COLOR (because it
+ * has no buffer) or Composition::SIDEBAND or Composition::CLIENT (because
+ * synchronization and buffer updates for these layers are handled
+ * elsewhere).
+ *
+ * @param layer is the layer to which the buffer is set.
+ * @param bufferSlot is the buffer slot to use.
+ * @param bufferIndex is the buffer handle to set.
+ * @param acquireFenceIndex is a sync fence file descriptor as described above.
+ */
+ SET_LAYER_BUFFER = 0x301 << OPCODE_SHIFT,
+
+ /*
+ * SET_LAYER_SURFACE_DAMAGE has this pseudo prototype
+ *
+ * setLayerSurfaceDamage(Rect[] damage);
+ *
+ * Provides the region of the source buffer which has been modified since
+ * the last frame. This region does not need to be validated before
+ * calling presentDisplay.
+ *
+ * Once set through this function, the damage region remains the same
+ * until a subsequent call to this function.
+ *
+ * If damage is non-empty, then it may be assumed that any portion of the
+ * source buffer not covered by one of the rects has not been modified
+ * this frame. If damage is empty, then the whole source buffer must be
+ * treated as if it has been modified.
+ *
+ * If the layer's contents are not modified relative to the prior frame,
+ * damage must contain exactly one empty rect([0, 0, 0, 0]).
+ *
+ * The damage rects are relative to the pre-transformed buffer, and their
+ * origin is the top-left corner. They must not exceed the dimensions of
+ * the latched buffer.
+ *
+ * @param layer is the layer to which the damage region is set.
+ * @param damage is the new surface damage region.
+ */
+ SET_LAYER_SURFACE_DAMAGE = 0x302 << OPCODE_SHIFT,
+
+ // layer state commands (VALIDATE_DISPLAY required)
+
+ /**
+ * SET_LAYER_BLEND_MODE has this pseudo prototype
+ *
+ * setLayerBlendMode(android.hardware.graphics.common.BlendMode mode)
+ *
+ * Sets the blend mode of the given layer.
+ *
+ * @param mode is the new blend mode.
+ */
+ SET_LAYER_BLEND_MODE = 0x400 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_COLOR has this pseudo prototype
+ *
+ * setLayerColor(Color color);
+ *
+ * Sets the color of the given layer. If the composition type of the layer
+ * is not Composition::SOLID_COLOR, this call must succeed and have no
+ * other effect.
+ *
+ * @param color is the new color.
+ */
+ SET_LAYER_COLOR = 0x401 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_COMPOSITION_TYPE has this pseudo prototype
+ *
+ * setLayerCompositionType(Composition type);
+ *
+ * Sets the desired composition type of the given layer. During
+ * validateDisplay, the device may request changes to the composition
+ * types of any of the layers as described in the definition of
+ * Composition above.
+ *
+ * @param type is the new composition type.
+ */
+ SET_LAYER_COMPOSITION_TYPE = 0x402 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_DATASPACE has this pseudo prototype
+ *
+ * setLayerDataspace(android.hardware.graphics.common.Dataspace dataspace);
+ *
+ * Sets the dataspace of the layer.
+ *
+ * The dataspace provides more information about how to interpret the buffer
+ * or solid color, such as the encoding standard and color transform.
+ *
+ * See the values of Dataspace for more information.
+ *
+ * @param dataspace is the new dataspace.
+ */
+ SET_LAYER_DATASPACE = 0x403 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_DISPLAY_FRAME has this pseudo prototype
+ *
+ * setLayerDisplayFrame(Rect frame);
+ *
+ * Sets the display frame (the portion of the display covered by a layer)
+ * of the given layer. This frame must not exceed the display dimensions.
+ *
+ * @param frame is the new display frame.
+ */
+ SET_LAYER_DISPLAY_FRAME = 0x404 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_PLANE_ALPHA has this pseudo prototype
+ *
+ * setLayerPlaneAlpha(float alpha);
+ *
+ * Sets an alpha value (a floating point value in the range [0.0, 1.0])
+ * which will be applied to the whole layer. It can be conceptualized as a
+ * preprocessing step which applies the following function:
+ * if (blendMode == BlendMode::PREMULTIPLIED)
+ * out.rgb = in.rgb * planeAlpha
+ * out.a = in.a * planeAlpha
+ *
+ * If the device does not support this operation on a layer which is
+ * marked Composition::DEVICE, it must request a composition type change
+ * to Composition::CLIENT upon the next validateDisplay call.
+ *
+ * @param alpha is the plane alpha value to apply.
+ */
+ SET_LAYER_PLANE_ALPHA = 0x405 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_SIDEBAND_STREAM has this pseudo prototype
+ *
+ * setLayerSidebandStream(int streamIndex)
+ *
+ * Sets the sideband stream for this layer. If the composition type of the
+ * given layer is not Composition::SIDEBAND, this call must succeed and
+ * have no other effect.
+ *
+ * @param streamIndex is the new sideband stream.
+ */
+ SET_LAYER_SIDEBAND_STREAM = 0x406 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_SOURCE_CROP has this pseudo prototype
+ *
+ * setLayerSourceCrop(FRect crop);
+ *
+ * Sets the source crop (the portion of the source buffer which will fill
+ * the display frame) of the given layer. This crop rectangle must not
+ * exceed the dimensions of the latched buffer.
+ *
+ * If the device is not capable of supporting a true float source crop
+ * (i.e., it will truncate or round the floats to integers), it must set
+ * this layer to Composition::CLIENT when crop is non-integral for the
+ * most accurate rendering.
+ *
+ * If the device cannot support float source crops, but still wants to
+ * handle the layer, it must use the following code (or similar) to
+ * convert to an integer crop:
+ * intCrop.left = (int) ceilf(crop.left);
+ * intCrop.top = (int) ceilf(crop.top);
+ * intCrop.right = (int) floorf(crop.right);
+ * intCrop.bottom = (int) floorf(crop.bottom);
+ *
+ * @param crop is the new source crop.
+ */
+ SET_LAYER_SOURCE_CROP = 0x407 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_TRANSFORM has this pseudo prototype
+ *
+ * Sets the transform (rotation/flip) of the given layer.
+ *
+ * setLayerTransform(Transform transform);
+ *
+ * @param transform is the new transform.
+ */
+ SET_LAYER_TRANSFORM = 0x408 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_VISIBLE_REGION has this pseudo prototype
+ *
+ * setLayerVisibleRegion(Rect[] visible);
+ *
+ * Specifies the portion of the layer that is visible, including portions
+ * under translucent areas of other layers. The region is in screen space,
+ * and must not exceed the dimensions of the screen.
+ *
+ * @param visible is the new visible region, in screen space.
+ */
+ SET_LAYER_VISIBLE_REGION = 0x409 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_Z_ORDER has this pseudo prototype
+ *
+ * setLayerZOrder(int z);
+ *
+ * Sets the desired Z order (height) of the given layer. A layer with a
+ * greater Z value occludes a layer with a lesser Z value.
+ *
+ * @param z is the new Z order.
+ */
+ SET_LAYER_Z_ORDER = 0x40a << OPCODE_SHIFT,
+
+ /**
+ * SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT has this pseudo prototype
+ *
+ * setPresentOrValidateDisplayResult(int state);
+ *
+ * Sets the state of PRESENT_OR_VALIDATE_DISPLAY command.
+ * @param state is the state of present or validate
+ * 1 - Present Succeeded
+ * 0 - Validate succeeded
+ */
+ SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT = 0x40b << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_PER_FRAME_METADATA has this pseudo prototype
+ *
+ * setLayerPerFrameMetadata(long display, long layer,
+ * PerFrameMetadata[] data);
+ *
+ * Sets the PerFrameMetadata for the display. This metadata must be used
+ * by the implementation to better tone map content to that display.
+ *
+ * This is a method that may be called every frame. Thus it's
+ * implemented using buffered transport.
+ * SET_LAYER_PER_FRAME_METADATA is the command used by the buffered transport
+ * mechanism.
+ */
+ SET_LAYER_PER_FRAME_METADATA = 0x303 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_FLOAT_COLOR has this pseudo prototype
+ *
+ * setLayerColor(FloatColor color);
+ *
+ * Sets the color of the given layer. If the composition type of the layer
+ * is not Composition::SOLID_COLOR, this call must succeed and have no
+ * other effect.
+ *
+ * @param color is the new color using float type.
+ */
+ SET_LAYER_FLOAT_COLOR = 0x40c << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_COLOR_TRANSFORM has this pseudo prototype
+ *
+ * setLayerColorTransform(float[16] matrix);
+ *
+ * This command has the following binary layout in bytes:
+ *
+ * 0 - 16 * 4: matrix
+ *
+ * Sets a matrix for color transform which will be applied on this layer
+ * before composition.
+ *
+ * If the device is not capable of apply the matrix on this layer, it must force
+ * this layer to client composition during VALIDATE_DISPLAY.
+ *
+ * The matrix provided is an affine color transformation of the following
+ * form:
+ *
+ * |r.r r.g r.b 0|
+ * |g.r g.g g.b 0|
+ * |b.r b.g b.b 0|
+ * |Tr Tg Tb 1|
+ *
+ * This matrix must be provided in row-major form:
+ *
+ * {r.r, r.g, r.b, 0, g.r, ...}.
+ *
+ * Given a matrix of this form and an input color [R_in, G_in, B_in],
+ * the input color must first be converted to linear space
+ * [R_linear, G_linear, B_linear], then the output linear color
+ * [R_out_linear, G_out_linear, B_out_linear] will be:
+ *
+ * R_out_linear = R_linear * r.r + G_linear * g.r + B_linear * b.r + Tr
+ * G_out_linear = R_linear * r.g + G_linear * g.g + B_linear * b.g + Tg
+ * B_out_linear = R_linear * r.b + G_linear * g.b + B_linear * b.b + Tb
+ *
+ * [R_out_linear, G_out_linear, B_out_linear] must then be converted to
+ * gamma space: [R_out, G_out, B_out] before blending.
+ *
+ * @param matrix is a 4x4 transform matrix (16 floats) as described above.
+ */
+
+ SET_LAYER_COLOR_TRANSFORM = 0x40d << OPCODE_SHIFT,
+ /*
+ * SET_LAYER_PER_FRAME_METADATA_BLOBS has this pseudo prototype
+ *
+ * setLayerPerFrameMetadataBlobs(long display, long layer,
+ * PerFrameMetadataBlob[] metadata);
+ *
+ * This command sends metadata that may be used for tone-mapping the
+ * associated layer. The metadata structure follows a {key, blob}
+ * format (see the PerFrameMetadataBlob struct). All keys must be
+ * returned by a prior call to getPerFrameMetadataKeys and must
+ * be part of the list of keys associated with blob-type metadata
+ * (see PerFrameMetadataKey).
+ *
+ * This method may be called every frame.
+ */
+ SET_LAYER_PER_FRAME_METADATA_BLOBS = 0x304 << OPCODE_SHIFT,
+
+ /**
+ * SET_CLIENT_TARGET_PROPERTY has this pseudo prototype
+ *
+ * This command has the following binary layout in bytes:
+ *
+ * 0 - 3: clientTargetProperty.pixelFormat
+ * 4 - 7: clientTargetProperty.dataspace
+ *
+ * setClientTargetProperty(ClientTargetProperty clientTargetProperty);
+ */
+ SET_CLIENT_TARGET_PROPERTY = 0x105 << OPCODE_SHIFT,
+
+ /**
+ * SET_LAYER_GENERIC_METADATA has this pseudo prototype
+ *
+ * setLayerGenericMetadata(string key, bool mandatory, byte[] value);
+ *
+ * Sets a piece of generic metadata for the given layer. If this
+ * function is called twice with the same key but different values, the
+ * newer value must override the older one. Calling this function with a
+ * 0-length value must reset that key's metadata as if it had not been
+ * set.
+ *
+ * A given piece of metadata may either be mandatory or a hint
+ * (non-mandatory) as indicated by the second parameter. Mandatory
+ * metadata may affect the composition result, which is to say that it
+ * may cause a visible change in the final image. By contrast, hints may
+ * only affect the composition strategy, such as which layers are
+ * composited by the client, but must not cause a visible change in the
+ * final image. The value of the mandatory flag shall match the value
+ * returned from getLayerGenericMetadataKeys for the given key.
+ *
+ * Only keys which have been returned from getLayerGenericMetadataKeys()
+ * shall be accepted. Any other keys must result in an UNSUPPORTED error.
+ *
+ * The value passed into this function shall be the binary
+ * representation of a HIDL type corresponding to the given key. For
+ * example, a key of 'com.example.V1_3.Foo' shall be paired with a
+ * value of type com.example@1.3::Foo, which would be defined in a
+ * vendor HAL extension.
+ *
+ * This function will be encoded in the command buffer in this order:
+ * 1) The key length, stored as a uint32_t
+ * 2) The key itself, padded to a uint32_t boundary if necessary
+ * 3) The mandatory flag, stored as a uint32_t
+ * 4) The value length in bytes, stored as a uint32_t
+ * 5) The value itself, padded to a uint32_t boundary if necessary
+ *
+ * @param key indicates which metadata value should be set on this layer
+ * @param mandatory indicates whether this particular key represents
+ * mandatory metadata or a hint (non-mandatory metadata), as
+ * described above
+ * @param value is a binary representation of a HIDL struct
+ * corresponding to the key as described above
+ */
+ SET_LAYER_GENERIC_METADATA = 0x40e << OPCODE_SHIFT,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/Composition.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/Composition.aidl
new file mode 100644
index 0000000..ea22af2
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/Composition.aidl
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * Possible composition types for a given layer.
+ */
+@VintfStability
+@Backing(type="int")
+enum Composition {
+ INVALID = 0,
+ /**
+ * The client must composite this layer into the client target buffer
+ * (provided to the device through setClientTarget).
+ *
+ * The device must not request any composition type changes for layers
+ * of this type.
+ */
+ CLIENT = 1,
+ /**
+ * The device must handle the composition of this layer through a
+ * hardware overlay or other similar means.
+ *
+ * Upon validateDisplay, the device may request a change from this
+ * type to CLIENT.
+ */
+ DEVICE = 2,
+ /**
+ * The device must render this layer using the color set through
+ * setLayerColor. If this functionality is not supported on a layer
+ * that the client sets to SOLID_COLOR, the device must request that
+ * the composition type of that layer is changed to CLIENT upon the
+ * next call to validateDisplay.
+ *
+ * Upon validateDisplay, the device may request a change from this
+ * type to CLIENT.
+ */
+ SOLID_COLOR = 3,
+ /**
+ * Similar to DEVICE, but the position of this layer may also be set
+ * asynchronously through setCursorPosition. If this functionality is
+ * not supported on a layer that the client sets to CURSOR, the device
+ * must request that the composition type of that layer is changed to
+ * CLIENT upon the next call to validateDisplay.
+ *
+ * Upon validateDisplay, the device may request a change from this
+ * type to either DEVICE or CLIENT. Changing to DEVICE will prevent
+ * the use of setCursorPosition but still permit the device to
+ * composite the layer.
+ */
+ CURSOR = 4,
+ /**
+ * The device must handle the composition of this layer, as well as
+ * its buffer updates and content synchronization. Only supported on
+ * devices which provide Capability::SIDEBAND_STREAM.
+ *
+ * Upon validateDisplay, the device may request a change from this
+ * type to either DEVICE or CLIENT, but it is unlikely that content
+ * will display correctly in these cases.
+ */
+ SIDEBAND = 5,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/ContentType.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/ContentType.aidl
new file mode 100644
index 0000000..470064a
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/ContentType.aidl
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+@Backing(type="int")
+enum ContentType {
+ NONE = 0,
+ /**
+ * These modes correspond to those found in the HDMI 1.4 specification.
+ */
+ GRAPHICS = 1,
+ PHOTO = 2,
+ CINEMA = 3,
+ GAME = 4,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayAttribute.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayAttribute.aidl
new file mode 100644
index 0000000..bf66785
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayAttribute.aidl
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.DisplayAttribute;
+
+/**
+ * Display attributes queryable through getDisplayAttribute.
+ */
+@VintfStability
+@Backing(type="int")
+enum DisplayAttribute {
+ INVALID = 0,
+ /**
+ * Dimensions in pixels
+ */
+ WIDTH = 1,
+ HEIGHT = 2,
+ /**
+ * Vsync period in nanoseconds
+ */
+ VSYNC_PERIOD = 3,
+ /**
+ * Dots per thousand inches (DPI * 1000). Scaling by 1000 allows these
+ * numbers to be stored in an int32_t without losing too much
+ * precision. If the DPI for a configuration is unavailable or is
+ * considered unreliable, the device may return UNSUPPORTED instead.
+ */
+ DPI_X = 4,
+ DPI_Y = 5,
+
+ // 6 is reserved for legacy interfaces
+
+ /**
+ * The configuration group ID (as int32_t) this config is associated to.
+ * Switching between configurations within the same group may be done seamlessly
+ * in some conditions via setActiveConfigWithConstraints. Configurations which
+ * share the same config group are similar in all attributes except for the
+ * vsync period.
+ */
+ CONFIG_GROUP = 7,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayCapability.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayCapability.aidl
new file mode 100644
index 0000000..54f09c1
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayCapability.aidl
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.DisplayCapability;
+
+/**
+ * Required capabilities which are supported by the display. The
+ * particular set of supported capabilities for a given display may be
+ * retrieved using getDisplayCapabilities.
+ */
+@VintfStability
+@Backing(type="int")
+enum DisplayCapability {
+ INVALID = 0,
+ /**
+ * Indicates that the display must apply a color transform even when
+ * either the client or the device has chosen that all layers should
+ * be composed by the client. This prevents the client from applying
+ * the color transform during its composition step.
+ * If getDisplayCapabilities is supported, the global capability
+ * SKIP_CLIENT_COLOR_TRANSFORM is ignored.
+ * If getDisplayCapabilities is not supported, and the global capability
+ * SKIP_CLIENT_COLOR_TRANSFORM is returned by getCapabilities,
+ * then all displays must be treated as having
+ * SKIP_CLIENT_COLOR_TRANSFORM.
+ */
+ SKIP_CLIENT_COLOR_TRANSFORM = 1,
+ /**
+ * Indicates that the display supports PowerMode::DOZE and
+ * PowerMode::DOZE_SUSPEND. DOZE_SUSPEND may not provide any benefit
+ * over DOZE (see the definition of PowerMode for more information),
+ * but if both DOZE and DOZE_SUSPEND are no different from
+ * PowerMode::ON, the device must not claim support.
+ * Must be returned by getDisplayCapabilities when getDozeSupport
+ * indicates the display supports PowerMode::DOZE and
+ * PowerMode::DOZE_SUSPEND.
+ */
+ DOZE = 2,
+ /**
+ * Indicates that the display supports brightness operations.
+ */
+ BRIGHTNESS = 3,
+ /**
+ * Indicates that the display supports protected contents.
+ * When returned, hardware composer must be able to accept client target
+ * with protected buffers.
+ */
+ PROTECTED_CONTENTS = 4,
+ /**
+ * Indicates that both the composer HAL implementation and the given display
+ * support a low latency mode, such as HDMI 2.1 Auto Low Latency Mode.
+ */
+ AUTO_LOW_LATENCY_MODE = 5,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayConnectionType.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayConnectionType.aidl
new file mode 100644
index 0000000..80333cb
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayConnectionType.aidl
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+@Backing(type="int")
+enum DisplayConnectionType {
+ /**
+ * Display is connected through internal port, e.g. DSI, eDP.
+ */
+ INTERNAL = 0,
+ /**
+ * Display is connected through external port, e.g. HDMI, DisplayPort.
+ */
+ EXTERNAL = 1,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSample.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSample.aidl
new file mode 100644
index 0000000..9457d99
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSample.aidl
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * Output parameters for IComposerClient.getDisplayedContentSample
+ */
+@VintfStability
+parcelable DisplayContentSample {
+ /**
+ * The number of frames represented by this sample.
+ */
+ long frameCount;
+ /**
+ * A histogram counting how many times a pixel of a given value was displayed
+ * onscreen for FORMAT_COMPONENT_0. The buckets of the histogram are evenly
+ * weighted, the number of buckets is device specific. eg, for RGBA_8888,
+ * if sampleComponent0 is {10, 6, 4, 1} this means that 10 red pixels were
+ * displayed onscreen in range 0x00->0x3F, 6 red pixels were displayed
+ * onscreen in range 0x40->0x7F, etc.
+ */
+ long[] sampleComponent0;
+ /**
+ * The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_1.
+ */
+ long[] sampleComponent1;
+ /**
+ * The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_2.
+ */
+ long[] sampleComponent2;
+ /**
+ * The same sample definition as sampleComponent0, but for FORMAT_COMPONENT_3.
+ */
+ long[] sampleComponent3;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl
new file mode 100644
index 0000000..82f6b72
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayContentSamplingAttributes.aidl
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.FormatColorComponent;
+
+/**
+ * Output parameters for IComposerClient.getDisplayedContentSamplingAttributes
+ */
+@VintfStability
+parcelable DisplayContentSamplingAttributes {
+ /**
+ * The format of the sampled pixels.
+ */
+ android.hardware.graphics.common.PixelFormat format;
+ /**
+ * The dataspace of the sampled pixels.
+ */
+ android.hardware.graphics.common.Dataspace dataspace;
+ /**
+ * The mask of which components can be sampled.
+ */
+ FormatColorComponent componentMask;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayIdentification.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayIdentification.aidl
new file mode 100644
index 0000000..03ef8e6
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayIdentification.aidl
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Output parameters for IComposerClient.getDisplayIdentificationData
+ */
+@VintfStability
+parcelable DisplayIdentification {
+ /**
+ * The connector to which the display is connected.
+ */
+ byte port;
+ /**
+ * The EDID 1.3 blob identifying the display.
+ */
+ byte[] data;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayRequest.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayRequest.aidl
new file mode 100644
index 0000000..4b3d31a
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/DisplayRequest.aidl
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Display requests returned by getDisplayRequests.
+ */
+@VintfStability
+@Backing(type="int")
+enum DisplayRequest {
+ /**
+ * Instructs the client to provide a new client target buffer, even if
+ * no layers are marked for client composition.
+ */
+ FLIP_CLIENT_TARGET = 1 << 0,
+ /**
+ * Instructs the client to write the result of client composition
+ * directly into the virtual display output buffer. If any of the
+ * layers are not marked as Composition::CLIENT or the given display
+ * is not a virtual display, this request has no effect.
+ */
+ WRITE_CLIENT_TARGET_TO_OUTPUT = 1 << 1,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl
new file mode 100644
index 0000000..f67c3ce
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/ExecuteCommandsStatus.aidl
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Output parameters for IComposerClient.executeCommands
+ */
+@VintfStability
+parcelable ExecuteCommandsStatus {
+ /**
+ * Indicates whether the output command message queue has changed.
+ */
+ boolean queueChanged;
+ /**
+ * Indicates whether the output command message queue has changed.
+ */
+ int length;
+ /**
+ * An array of handles referenced by the output commands.
+ */
+ android.hardware.common.NativeHandle[] handles;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/FloatColor.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/FloatColor.aidl
new file mode 100644
index 0000000..a0a1d4b
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/FloatColor.aidl
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Color representation as a floating point number in the range [0.0 - 1.0]
+ */
+
+@VintfStability
+parcelable FloatColor {
+ float r;
+ float g;
+ float b;
+ float a;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/FormatColorComponent.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/FormatColorComponent.aidl
new file mode 100644
index 0000000..cc8f424
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/FormatColorComponent.aidl
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+@VintfStability
+@Backing(type="byte")
+enum FormatColorComponent {
+ /*
+ * The first component (eg, for RGBA_8888, this is R)
+ */
+ FORMAT_COMPONENT_0 = 1 << 0,
+ /*
+ * The second component (eg, for RGBA_8888, this is G)
+ */
+ FORMAT_COMPONENT_1 = 1 << 1,
+ /*
+ * The third component (eg, for RGBA_8888, this is B)
+ */
+ FORMAT_COMPONENT_2 = 1 << 2,
+ /*
+ * The fourth component (eg, for RGBA_8888, this is A)
+ */
+ FORMAT_COMPONENT_3 = 1 << 3,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/HandleIndex.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/HandleIndex.aidl
new file mode 100644
index 0000000..0a93c9e
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/HandleIndex.aidl
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Special index values (always negative) for command queue commands.
+ */
+@VintfStability
+@Backing(type="int")
+enum HandleIndex {
+ /**
+ * No handle
+ */
+ EMPTY = -1,
+ /**
+ * Use cached handle
+ */
+ CACHED = -2,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/HdrCapabilities.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/HdrCapabilities.aidl
new file mode 100644
index 0000000..3fb55ba
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/HdrCapabilities.aidl
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+/**
+ * Output parameters for IComposerClient.getHdrCapabilities
+ *
+ * @param types is an array of HDR types, may have 0 elements if the
+ * display is not HDR-capable.
+ * @param maxLuminance is the desired content maximum luminance for this
+ * display in cd/m^2.
+ * @param maxAverageLuminance - the desired content maximum frame-average
+ * luminance for this display in cd/m^2.
+ * @param minLuminance is the desired content minimum luminance for this
+ * display in cd/m^2.
+ */
+@VintfStability
+parcelable HdrCapabilities {
+ android.hardware.graphics.common.Hdr[] types;
+ float maxLuminance;
+ float maxAverageLuminance;
+ float minLuminance;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/IComposer.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposer.aidl
new file mode 100644
index 0000000..a6a9f73
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposer.aidl
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.Capability;
+import android.hardware.graphics.composer3.IComposerClient;
+
+@VintfStability
+interface IComposer {
+ /**
+ * Temporary failure due to resource contention Exception
+ */
+ const int EX_NO_RESOURCES = 6;
+
+ /**
+ * Creates a v2.4 client of the composer. Supersedes @2.3::createClient.
+ *
+ * @return is the newly created client.
+ *
+ * @exception EX_NO_RESOURCES when the client could not be created.
+ */
+ IComposerClient createClient();
+
+ /**
+ * Retrieves implementation-defined debug information, which will be
+ * displayed during, for example, `dumpsys SurfaceFlinger`.
+ *
+ * @return is a string of debug information.
+ */
+ String dumpDebugInfo();
+
+ /**
+ * Provides a list of supported capabilities (as described in the
+ * definition of Capability above). This list must not change after
+ * initialization.
+ *
+ * @return is a list of supported capabilities.
+ */
+ Capability[] getCapabilities();
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerCallback.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerCallback.aidl
new file mode 100644
index 0000000..1709e6d
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerCallback.aidl
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.VsyncPeriodChangeTimeline;
+
+@VintfStability
+interface IComposerCallback {
+ /**
+ * Notifies the client that the given display has either been connected or
+ * disconnected. Every active display (even a built-in physical display)
+ * must trigger at least one hotplug notification, even if it only occurs
+ * immediately after callback registration.
+ *
+ * Displays which have been connected are assumed to be in PowerMode::OFF,
+ * and the onVsync callback should not be called for a display until vsync
+ * has been enabled with setVsyncEnabled.
+ *
+ * The client may call back into the device while the callback is in
+ * progress. The device must serialize calls to this callback such that
+ * only one thread is calling it at a time.
+ *
+ * @param display is the display that triggers the hotplug event.
+ * @param connected indicates whether the display is connected or
+ * disconnected.
+ */
+ void onHotplug(long display, boolean connected);
+
+ /**
+ * Notifies the client to trigger a screen refresh. This forces all layer
+ * state for this display to be resent, and the display to be validated
+ * and presented, even if there have been no changes.
+ *
+ * This refresh will occur some time after the callback is initiated, but
+ * not necessarily before it returns. It is safe to trigger this callback
+ * from other functions which call into the device.
+ *
+ * @param display is the display to refresh.
+ */
+ oneway void onRefresh(long display);
+
+ /**
+ * Notifies the client that the conditions which previously led to returning
+ * SEAMLESS_NOT_POSSIBLE from setActiveConfigWithConstraints have changed and now seamless may
+ * be possible. Client should retry calling setActiveConfigWithConstraints.
+ *
+ * @param display is a display setActiveConfigWithConstraints previously failed with
+ * EX_SEAMLESS_NOT_POSSIBLE.
+ */
+ oneway void onSeamlessPossible(long display);
+
+ /**
+ * Notifies the client that a vsync event has occurred. This callback must
+ * only be triggered when vsync is enabled for this display (through
+ * setVsyncEnabled).
+ *
+ * @param display is the display which has received a vsync event
+ * @param timestamp is the CLOCK_MONOTONIC time at which the vsync event
+ * occurred, in nanoseconds.
+ * @param vsyncPeriodNanos is the display vsync period in nanoseconds i.e. the next onVsync
+ * is expected to be called vsyncPeriodNanos nanoseconds after this call.
+ */
+ oneway void onVsync(long display, long timestamp, int vsyncPeriodNanos);
+
+ /**
+ * Notifies the client that the previously reported timing for vsync period change has been
+ * updated. This may occur if the composer missed the deadline for changing the vsync period
+ * or the client submitted a refresh frame too late.
+ *
+ * @param display is the display which vsync period change is in progress
+ * @param updatedTimeline is the new timeline for the vsync period change.
+ */
+ oneway void onVsyncPeriodTimingChanged(
+ long display, in VsyncPeriodChangeTimeline updatedTimeline);
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl
new file mode 100644
index 0000000..9bde220
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/IComposerClient.aidl
@@ -0,0 +1,821 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+import android.hardware.common.fmq.MQDescriptor;
+import android.hardware.common.fmq.SynchronizedReadWrite;
+import android.hardware.graphics.composer3.ClientTargetProperty;
+import android.hardware.graphics.composer3.ColorMode;
+import android.hardware.graphics.composer3.Command;
+import android.hardware.graphics.composer3.ContentType;
+import android.hardware.graphics.composer3.DisplayAttribute;
+import android.hardware.graphics.composer3.DisplayCapability;
+import android.hardware.graphics.composer3.DisplayConnectionType;
+import android.hardware.graphics.composer3.DisplayContentSample;
+import android.hardware.graphics.composer3.DisplayContentSamplingAttributes;
+import android.hardware.graphics.composer3.DisplayIdentification;
+import android.hardware.graphics.composer3.ExecuteCommandsStatus;
+import android.hardware.graphics.composer3.FormatColorComponent;
+import android.hardware.graphics.composer3.HdrCapabilities;
+import android.hardware.graphics.composer3.IComposerCallback;
+import android.hardware.graphics.composer3.LayerGenericMetadataKey;
+import android.hardware.graphics.composer3.PerFrameMetadataKey;
+import android.hardware.graphics.composer3.PowerMode;
+import android.hardware.graphics.composer3.ReadbackBufferAttributes;
+import android.hardware.graphics.composer3.RenderIntent;
+import android.hardware.graphics.composer3.VirtualDisplay;
+import android.hardware.graphics.composer3.VsyncPeriodChangeConstraints;
+import android.hardware.graphics.composer3.VsyncPeriodChangeTimeline;
+
+@VintfStability
+interface IComposerClient {
+ /**
+ * Invalid Config Exception
+ */
+ const int EX_BAD_CONFIG = 1;
+
+ /**
+ * Invalid Display Exception
+ */
+ const int EX_BAD_DISPLAY = 2;
+
+ /**
+ * Invalid Layer Exception
+ */
+ const int EX_BAD_LAYER = 3;
+
+ /**
+ * Invalid width, height, etc.
+ */
+ const int EX_BAD_PARAMETER = 4;
+
+ /**
+ * Reserved for historical reasons
+ */
+ const int EX_RESERVED = 5;
+ /**
+ * Temporary failure due to resource contention Exception
+ */
+ const int EX_NO_RESOURCES = 6;
+
+ /**
+ * validateDisplay has not been called Exception
+ */
+ const int EX_NOT_VALIDATED = 7;
+
+ /**
+ * Seamless cannot be required for configurations that don't share a
+ * config group Exception
+ */
+ const int EX_UNSUPPORTED = 8;
+
+ const int EX_SEAMLESS_NOT_ALLOWED = 9;
+ /**
+ * Seamless requirements cannot be met Exception
+ */
+ const int EX_SEAMLESS_NOT_POSSIBLE = 10;
+
+ /**
+ * Creates a new layer on the given display.
+ *
+ * @param display is the display on which to create the layer.
+ * @param bufferSlotCount is the number of buffer slot to be reserved.
+ *
+ * @return is the handle of the new layer.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_NO_RESOURCES when the device was unable to create a layer this
+ * time.
+ */
+ long createLayer(long display, int bufferSlotCount);
+
+ /**
+ * Creates a new virtual display with the given width and height. The
+ * format passed into this function is the default format requested by the
+ * consumer of the virtual display output buffers.
+ *
+ * The display must be assumed to be on from the time the first frame is
+ * presented until the display is destroyed.
+ *
+ * @param width is the width in pixels.
+ * @param height is the height in pixels.
+ * @param formatHint is the default output buffer format selected by
+ * the consumer.
+ * @param outputBufferSlotCount is the number of output buffer slots to be
+ * reserved.
+ *
+ * @return is the newly-created virtual display.
+ *
+ * @exception EX_UNSUPPORTED when the width or height is too large for the
+ * device to be able to create a virtual display.
+ * @exception EX_NO_RESOURCES when the device is unable to create a new virtual
+ * display at this time.
+ */
+ VirtualDisplay createVirtualDisplay(int width, int height,
+ android.hardware.graphics.common.PixelFormat formatHint, int outputBufferSlotCount);
+
+ /**
+ * Destroys the given layer.
+ *
+ * @param display is the display on which the layer was created.
+ * @param layer is the layer to destroy.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_LAYER when an invalid layer handle was passed in.
+ */
+ void destroyLayer(long display, long layer);
+
+ /**
+ * Destroys a virtual display. After this call all resources consumed by
+ * this display may be freed by the device and any operations performed on
+ * this display must fail.
+ *
+ * @param display is the virtual display to destroy.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_PARAMETER when the display handle which was passed in does
+ * not refer to a virtual display.
+ */
+ void destroyVirtualDisplay(long display);
+
+ /**
+ * Executes commands from the input command message queue. Return values
+ * generated by the input commands are written to the output command
+ * message queue in the form of value commands.
+ *
+ * @param inLength is the length of input commands.
+ * @param inHandles is an array of handles referenced by the input
+ * commands.
+ *
+ * @return is the status of the command.
+
+ * @exception EX_BAD_PARAMETER when inLength is not equal to the length of
+ * commands in the input command message queue.
+ * @exception NO_RESOURCES when the output command message queue was not
+ * properly drained.
+ */
+ ExecuteCommandsStatus executeCommands(
+ int inLength, in android.hardware.common.NativeHandle[] inHandles);
+
+ /**
+ * Retrieves which display configuration is currently active.
+ *
+ * If no display configuration is currently active, this function raise
+ * the exception EX_BAD_CONFIG. It is the responsibility of the client to call
+ * setActiveConfig with a valid configuration before attempting to present
+ * anything on the display.
+ *
+ * @param display is the display to which the active config is queried.
+ *
+ * @return is the currently active display configuration.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_CONFIG when no configuration is currently active.
+ */
+ int getActiveConfig(long display);
+
+ /**
+ * Returns whether a client target with the given properties can be
+ * handled by the device.
+ *
+ * This function must return true for a client target with width and
+ * height equal to the active display configuration dimensions,
+ * PixelFormat::RGBA_8888, and Dataspace::UNKNOWN. It is not required to
+ * return true for any other configuration.
+ *
+ * @param display is the display to query.
+ * @param width is the client target width in pixels.
+ * @param height is the client target height in pixels.
+ * @param format is the client target format.
+ * @param dataspace is the client target dataspace, as described in
+ * setLayerDataspace.
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_UNSUPPORTED when the given configuration is not supported.
+ */
+ void getClientTargetSupport(long display, int width, int height,
+ android.hardware.graphics.common.PixelFormat format,
+ android.hardware.graphics.common.Dataspace dataspace);
+
+ /**
+ * Returns the color modes supported on this display.
+ *
+ * All devices must support at least ColorMode::NATIVE.
+ *
+ * @param display is the display to query.
+ *
+ * @return is an array of color modes.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ ColorMode[] getColorModes(long display);
+
+ /**
+ * By default, layer dataspaces are mapped to the current color mode
+ * colorimetrically with a few exceptions.
+ *
+ * When the layer dataspace is a legacy dataspace (see
+ * common@1.1::Dataspace) and the display render intent is
+ * RenderIntent::ENHANCE, the pixel values can go through an
+ * implementation-defined saturation transform before being mapped to the
+ * current color mode colorimetrically.
+ *
+ * Colors that are out of the gamut of the current color mode are
+ * hard-clipped.
+ *
+ *
+ * Returns the saturation matrix of the specified legacy dataspace.
+ *
+ * The saturation matrix can be used to approximate the legacy dataspace
+ * saturation transform. It is to be applied on linear pixel values like
+ * this:
+ *
+ * (in GLSL)
+ * linearSrgb = saturationMatrix * linearSrgb;
+ *
+ * @param dataspace must be Dataspace::SRGB_LINEAR.
+ *
+ * @return is the 4x4 column-major matrix used to approximate the
+ * legacy dataspace saturation operation. The last row must be
+ * [0.0, 0.0, 0.0, 1.0].
+ *
+ * @exception EX_BAD_PARAMETER when an invalid dataspace was passed in.
+ */
+ float[] getDataspaceSaturationMatrix(android.hardware.graphics.common.Dataspace dataspace);
+
+ /**
+ * Returns a display attribute value for a particular display
+ * configuration.
+ *
+ * @param display is the display to query.
+ * @param config is the display configuration for which to return
+ * attribute values.
+ *
+ * @return is the value of the attribute.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_CONFIG when config does not name a valid configuration for
+ * this display.
+ * @exception EX_BAD_PARAMETER when attribute is unrecognized.
+ * @exception EX_UNSUPPORTED when attribute cannot be queried for the config.
+ */
+ int getDisplayAttribute(long display, int config, DisplayAttribute attribute);
+
+ /**
+ * Use getDisplayCapabilities instead. If brightness is supported, must return
+ * DisplayCapability::BRIGHTNESS as one of the display capabilities via getDisplayCapabilities.
+ * Only use getDisplayCapabilities as the source of truth to query brightness support.
+ *
+ * Gets whether brightness operations are supported on a display.
+ *
+ * @param display The display.
+ *
+ * @return Whether brightness operations are supported on the display.
+ *
+ * @exception EX_BAD_DISPLAY when the display is invalid, or
+ * @exception EX_BAD_PARAMETER when the output parameter is invalid.
+ */
+ boolean getDisplayBrightnessSupport(long display);
+
+ /**
+ * Provides a list of supported capabilities (as described in the
+ * definition of DisplayCapability above). This list must not change after
+ * initialization.
+ *
+ * @return is a list of supported capabilities.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ DisplayCapability[] getDisplayCapabilities(long display);
+
+ /**
+ * Returns handles for all of the valid display configurations on this
+ * display.
+ *
+ * @param display is the display to query.
+ *
+ * @return is an array of configuration handles.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ int[] getDisplayConfigs(long display);
+
+ /**
+ * Returns whether the given physical display is internal or external.
+ *
+ * @return is the connection type of the display.
+ *
+ * @exception EX_BAD_DISPLAY when the given display is invalid or virtual.
+ */
+ DisplayConnectionType getDisplayConnectionType(long display);
+
+ /**
+ * Returns the port and data that describe a physical display. The port is
+ * a unique number that identifies a physical connector (e.g. eDP, HDMI)
+ * for display output. The data blob is parsed to determine its format,
+ * typically EDID 1.3 as specified in VESA E-EDID Standard Release A
+ * Revision 1.
+ *
+ * @param display is the display to query.
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_UNSUPPORTED when identification data is unavailable.
+ * @return the connector to which the display is connected and the EDID 1.3
+ * blob identifying the display.
+ */
+ DisplayIdentification getDisplayIdentificationData(long display);
+
+ /**
+ * Returns a human-readable version of the display's name.
+ *
+ * @return is the name of the display.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ String getDisplayName(long display);
+
+ /**
+ * Retrieves which vsync period the display is currently using.
+ *
+ * If no display configuration is currently active, this function must
+ * return BAD_CONFIG. If the vsync period is about to change due to a
+ * setActiveConfigWithConstraints call, this function must return the current vsync period
+ * until the change takes place.
+ *
+ * @param display is the display for which the vsync period is queried.
+ *
+ * @return is the current vsync period of the display.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_CONFIG when no configuration is currently active.
+ */
+ int getDisplayVsyncPeriod(long display);
+
+ /**
+ * Collects the results of display content color sampling for display.
+ *
+ * Collection of data can occur whether the sampling is in ENABLE or
+ * DISABLE state.
+ *
+ * @param display is the display to which the sampling is collected.
+ * @param maxFrames is the maximum number of frames that should be represented in the sample.
+ * The sample represents the most-recently posted frames.
+ * If maxFrames is 0, all frames are to be represented by the sample.
+ * @param timestamp is the timestamp after which any frames were posted that should be
+ * included in the sample. Timestamp is CLOCK_MONOTONIC.
+ * If timestamp is 0, do not filter from the sample by time.
+ *
+ * @return is the sample.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display was passed in, or
+ * @exception EX_UNSUPPORTED when there is no efficient way to sample, or
+ * @exception EX_BAD_PARAMETER when the component is not supported by the hardware.
+ */
+ DisplayContentSample getDisplayedContentSample(long display, long maxFrames, long timestamp);
+
+ /**
+ * Query for what types of color sampling the hardware supports.
+ *
+ * @param display is the display where the samples are collected.
+ *
+ * @return are the sampling attributes
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display was passed in, or
+ * @exception EX_UNSUPPORTED when there is no efficient way to sample.
+ */
+ DisplayContentSamplingAttributes getDisplayedContentSamplingAttributes(long display);
+
+ /**
+ * Returns whether the given display supports PowerMode::DOZE and
+ * PowerMode::DOZE_SUSPEND. DOZE_SUSPEND may not provide any benefit over
+ * DOZE (see the definition of PowerMode for more information), but if
+ * both DOZE and DOZE_SUSPEND are no different from PowerMode::ON, the
+ * device must not claim support.
+ *
+ * @param display is the display to query.
+ *
+ * @return is true only when the display supports doze modes.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ boolean getDozeSupport(long display);
+
+ /**
+ * Returns the high dynamic range (HDR) capabilities of the given display,
+ * which are invariant with regard to the active configuration.
+ *
+ * Displays which are not HDR-capable must return no types.
+ *
+ * @param display is the display to query.
+ *
+ * @return are the HDR capabilities
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ HdrCapabilities getHdrCapabilities(long display);
+
+ /**
+ * Retrieves the set of keys that may be passed into setLayerGenericMetadata
+ *
+ * Key names must meet the following requirements:
+ * - Must be specified in reverse domain name notation
+ * - Must not start with 'com.android' or 'android'
+ * - Must be unique within the returned vector
+ * - Must correspond to a matching HIDL struct type, which defines the
+ * structure of its values. For example, the key 'com.example.V1-3.Foo'
+ * should correspond to a value of type com.example@1.3::Foo, which is
+ * defined in a vendor HAL extension
+ */
+ LayerGenericMetadataKey[] getLayerGenericMetadataKeys();
+
+ /**
+ * Returns the maximum number of virtual displays supported by this device
+ * (which may be 0). The client must not attempt to create more than this
+ * many virtual displays on this device. This number must not change for
+ * the lifetime of the device.
+ *
+ * @return is the maximum number of virtual displays supported.
+ */
+ int getMaxVirtualDisplayCount();
+
+ /**
+ * Gets the output command message queue.
+ *
+ * This function must only be called inside executeCommands closure.
+ *
+ * @return is the descriptor of the output command queue.
+ *
+ * @exception EX_NO_RESOURCES when failed to get the queue temporarily.
+ */
+ MQDescriptor<int, SynchronizedReadWrite> getOutputCommandQueue();
+
+ /**
+ * Returns the PerFrameMetadataKeys that are supported by this device.
+ *
+ * @param display is the display on which to create the layer.
+ * @return is the vector of PerFrameMetadataKey keys that are
+ * supported by this device.
+ * @exception EX_UNSUPPORTED if not supported on underlying HAL
+ */
+ PerFrameMetadataKey[] getPerFrameMetadataKeys(long display);
+
+ /**
+ * Returns the format which should be used when allocating a buffer for use by
+ * device readback as well as the dataspace in which its contents must be
+ * interpreted.
+ *
+ * The width and height of this buffer must be those of the currently-active
+ * display configuration, and the usage flags must consist of the following:
+ * BufferUsage::CPU_READ | BufferUsage::GPU_TEXTURE |
+ * BufferUsage::COMPOSER_OUTPUT
+ *
+ * The format and dataspace provided must be sufficient such that if a
+ * correctly-configured buffer is passed into setReadbackBuffer, filled by
+ * the device, and then displayed by the client as a full-screen buffer, the
+ * output of the display remains the same (subject to the note about protected
+ * content in the description of setReadbackBuffer).
+ *
+ * If the active configuration or color mode of this display has changed
+ * since a previous call to this function, it must be called again prior to
+ * setting a readback buffer such that the returned format and dataspace will
+ * be updated accordingly.
+ *
+ * Parameters:
+ * @param display - the display on which to create the layer.
+ *
+ * @return is the readback buffer attributes.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_UNSUPPORTED if not supported on underlying HAL
+ *
+ * See also:
+ * setReadbackBuffer
+ * getReadbackBufferFence
+ */
+ ReadbackBufferAttributes getReadbackBufferAttributes(long display);
+
+ /**
+ * Returns an acquire sync fence file descriptor which must signal when the
+ * buffer provided to setReadbackBuffer has been filled by the device and is
+ * safe for the client to read.
+ *
+ * If it is already safe to read from this buffer, -1 may be returned instead.
+ * The client takes ownership of this file descriptor and is responsible for
+ * closing it when it is no longer needed.
+ *
+ * This function must be called immediately after the composition cycle being
+ * captured into the readback buffer. The complete ordering of a readback buffer
+ * capture is as follows:
+ *
+ * getReadbackBufferAttributes
+ * // Readback buffer is allocated
+ * // Many frames may pass
+ *
+ * setReadbackBuffer
+ * validateDisplay
+ * presentDisplay
+ * getReadbackBufferFence
+ * // Implicitly wait on the acquire fence before accessing the buffer
+ *
+ * Parameters:
+ * @param display - the display on which to create the layer.
+ *
+ * @return is a sync fence file descriptor as described above; pointer
+ * must be non-NULL
+ *
+ * @exception EX_BAD_DISPLAY - an invalid display handle was passed in
+ * @exception EX_NO_RESOURCES - the readback operation was successful, but
+ * resulted in a different validate result than would
+ * have occurred without readback
+ * @exception EX_UNSUPPORTED - the readback operation was unsuccessful because of
+ * resource constraints, the presence of protected
+ * content, or other reasons; -1 must be returned for
+ * acquireFence
+ *
+ * See also:
+ * getReadbackBufferAttributes
+ * setReadbackBuffer
+ */
+ ParcelFileDescriptor getReadbackBufferFence(long display);
+
+ /**
+ * Returns the render intents supported by the specified display and color
+ * mode.
+ *
+ * For SDR color modes, RenderIntent::COLORIMETRIC must be supported. For
+ * HDR color modes, RenderIntent::TONE_MAP_COLORIMETRIC must be supported.
+ *
+ * @param display is the display to query.
+ * @param mode is the color mode to query.
+ *
+ * @return is an array of render intents.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_PARAMETER when an invalid color mode was passed in.
+ */
+ RenderIntent[] getRenderIntents(long display, ColorMode mode);
+
+ /**
+ * Provides a list of all the content types supported by this display (any of
+ * ContentType::{GRAPHICS, PHOTO, CINEMA, GAME}). This list must not change after
+ * initialization.
+ *
+ * Content types are introduced in HDMI 1.4 and supporting them is optional. The
+ * ContentType::NONE is always supported and will not be returned by this method..
+ *
+ * @return out is a list of supported content types.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ */
+ ContentType[] getSupportedContentTypes(long display);
+
+ /**
+ * Provides a IComposerCallback object for the device to call.
+ *
+ * This function must be called only once.
+ *
+ * @param callback is the IComposerCallback object.
+ */
+ void registerCallback(in IComposerCallback callback);
+
+ /**
+ * Sets the active configuration for this display. Upon returning, the
+ * given display configuration must be active and remain so until either
+ * this function is called again or the display is disconnected.
+ *
+ * @param display is the display to which the active config is set.
+ * @param config is the new display configuration.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_CONFIG when the configuration handle passed in is not valid
+ * for this display.
+ */
+ void setActiveConfig(long display, int config);
+
+ /**
+ * Sets the active configuration and the refresh rate for this display.
+ * If the new config shares the same config group as the current config,
+ * only the vsync period shall change.
+ * Upon returning, the given display configuration, except vsync period, must be active and
+ * remain so until either this function is called again or the display is disconnected.
+ * When the display starts to refresh at the new vsync period, onVsync_2_4 callback must be
+ * called with the new vsync period.
+ *
+ * @param display is the display for which the active config is set.
+ * @param config is the new display configuration.
+ * @param vsyncPeriodChangeConstraints are the constraints required for changing vsync period.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_CONFIG when the configuration handle passed in is not valid
+ * for this display.
+ * @exception EX_SEAMLESS_NOT_ALLOWED when seamlessRequired was true but config provided doesn't
+ * share the same config group as the current config.
+ * @exception EX_SEAMLESS_NOT_POSSIBLE when seamlessRequired was true but the display cannot
+ * achieve the vsync period change without a noticeable visual artifact. When the conditions
+ * change and it may be possible to change the vsync period seamlessly, onSeamlessPossible
+ * callback must be called to indicate that caller should retry.
+ *
+ * @return is the timeline for the vsync period change.
+ */
+ VsyncPeriodChangeTimeline setActiveConfigWithConstraints(
+ long display, int config, in VsyncPeriodChangeConstraints vsyncPeriodChangeConstraints);
+
+ /**
+ * Requests the display to enable/disable its low latency mode.
+ *
+ * If the display is connected via HDMI 2.1, then Auto Low Latency Mode should be triggered. If
+ * the display is internally connected and a custom low latency mode is available, that should
+ * be triggered.
+ *
+ * This function should only be called if the display reports support for
+ * DisplayCapability::AUTO_LOW_LATENCY_MODE from getDisplayCapabilities_2_4.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_UNSUPPORTED when AUTO_LOW_LATENCY_MODE is not supported by the composer
+ * implementation or the given display
+ */
+ void setAutoLowLatencyMode(long display, boolean on);
+
+ /**
+ * Set the number of client target slots to be reserved.
+ *
+ * @param display is the display to which the slots are reserved.
+ * @param clientTargetSlotCount is the slot count for client targets.
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_NO_RESOURCES when unable to reserve the slots.
+ */
+ void setClientTargetSlotCount(long display, int clientTargetSlotCount);
+
+ /**
+ * Sets the color mode and render intent of the given display.
+ *
+ * The color mode and render intent change must take effect on next
+ * presentDisplay.
+ *
+ * All devices must support at least ColorMode::NATIVE and
+ * RenderIntent::COLORIMETRIC, and displays are assumed to be in this mode
+ * upon hotplug.
+ *
+ * @param display is the display to which the color mode is set.
+ * @param mode is the color mode to set to.
+ * @param intent is the render intent to set to.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_PARAMETER when mode or intent is invalid
+ * @exception EX_UNSUPPORTED when mode or intent is not supported on this
+ * display.
+ */
+ void setColorMode(long display, ColorMode mode, RenderIntent intent);
+
+ /**
+ * Instructs the connected display that the content being shown is of the given type - one of
+ * GRAPHICS, PHOTO, CINEMA, GAME.
+ *
+ * Content types are introduced in HDMI 1.4 and supporting them is optional. If they are
+ * supported, this signal should switch the display to a mode that is optimal for the given
+ * type of content. See HDMI 1.4 specification for more information.
+ *
+ * If the display is internally connected (not through HDMI), and such modes are available,
+ * this method should trigger them.
+ *
+ * This function should only be called if the display reports support for the corresponding
+ * content type (ContentType::{GRAPHICS, PHOTO, CINEMA, GAME}) from getSupportedContentTypes.
+ * ContentType::NONE is supported by default and can always be set.
+ *
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_UNSUPPORTED when the given content type is not supported by the composer
+ * implementation or the given display
+ */
+ void setContentType(long display, ContentType type);
+
+ /**
+ * Sets the brightness of a display.
+ *
+ * Ideally, the brightness change should take effect in the next frame post (so that it can be
+ * aligned with color transforms).
+ *
+ * @param display
+ * The display whose brightness is set.
+ * @param brightness
+ * A number between 0.0f (minimum brightness) and 1.0f (maximum brightness), or -1.0 to
+ * turn the backlight off.
+ *
+ * @exception EX_BAD_DISPLAY when the display is invalid, or
+ * @exception EX_UNSUPPORTED when brightness operations are not supported, or
+ * @exception EX_BAD_PARAMETER when the brightness is invalid, or
+ * @exception EX_NO_RESOURCES when the brightness cannot be applied.
+ */
+ void setDisplayBrightness(long display, float brightness);
+
+ /**
+ * Enables or disables the collection of color content statistics
+ * on this display.
+ *
+ * Sampling occurs on the contents of the final composition on this display
+ * (i.e., the contents presented on screen). Samples should be collected after all
+ * color transforms have been applied.
+ *
+ * Sampling support is optional, and is set to DISABLE by default.
+ * On each call to ENABLE, all collected statistics must be reset.
+ *
+ * Sample data can be queried via getDisplayedContentSample().
+ *
+ * @param display is the display to which the sampling mode is set.
+ * @param enabled indicates whether to enable or disable sampling.
+ * @param componentMask The mask of which components should be sampled. If zero, all supported
+ * components are to be enabled.
+ * @param maxFrames is the maximum number of frames that should be stored before discard.
+ * The sample represents the most-recently posted frames.
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in,
+ * @exception EX_BAD_PARAMETER when enabled was an invalid value, or
+ * @exception EX_NO_RESOURCES when the requested ringbuffer size via maxFrames was
+ * not available.
+ * @exception EX_UNSUPPORTED when there is no efficient way to sample.
+ */
+ void setDisplayedContentSamplingEnabled(
+ long display, boolean enable, FormatColorComponent componentMask, long maxFrames);
+
+ /**
+ * Sets the input command message queue.
+ *
+ * @param descriptor is the descriptor of the input command message queue.
+ * @exception EX_NO_RESOURCES when failed to set the queue temporarily.
+ */
+ void setInputCommandQueue(in MQDescriptor<int, SynchronizedReadWrite> descriptor);
+
+ /**
+ * Sets the power mode of the given display. The transition must be
+ * complete when this function returns. It is valid to call this function
+ * multiple times with the same power mode.
+ *
+ * All displays must support PowerMode::ON and PowerMode::OFF. Whether a
+ * display supports PowerMode::DOZE or PowerMode::DOZE_SUSPEND may be
+ * queried using getDozeSupport.
+ *
+ * @param display is the display to which the power mode is set.
+ * @param mode is the new power mode.
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_PARAMETER when mode was not a valid power mode.
+ * @exception EX_UNSUPPORTED when mode is not supported on this display.
+ */
+ void setPowerMode(long display, PowerMode mode);
+
+ /**
+ * Sets the readback buffer to be filled with the contents of the next
+ * composition performed for this display (i.e., the contents present at the
+ * time of the next validateDisplay/presentDisplay cycle).
+ *
+ * This buffer must have been allocated as described in
+ * getReadbackBufferAttributes and is in the dataspace provided by the same.
+ *
+ * If there is hardware protected content on the display at the time of the next
+ * composition, the area of the readback buffer covered by such content must be
+ * completely black. Any areas of the buffer not covered by such content may
+ * optionally be black as well.
+ *
+ * The release fence file descriptor provided works identically to the one
+ * described for setOutputBuffer.
+ *
+ * This function must not be called between any call to validateDisplay and a
+ * subsequent call to presentDisplay.
+ *
+ * Parameters:
+ * @param display - the display on which to create the layer.
+ * @param buffer - the new readback buffer
+ * @param releaseFence - a sync fence file descriptor as described in setOutputBuffer
+ *
+ * @exception EX_BAD_DISPLAY - an invalid display handle was passed in
+ * @exception EX_BAD_PARAMETER - the new readback buffer handle was invalid
+ *
+ * See also:
+ * getReadbackBufferAttributes
+ * getReadbackBufferFence
+ */
+ void setReadbackBuffer(long display, in android.hardware.common.NativeHandle buffer,
+ in ParcelFileDescriptor releaseFence);
+
+ /**
+ * Enables or disables the vsync signal for the given display. Virtual
+ * displays never generate vsync callbacks, and any attempt to enable
+ * vsync for a virtual display though this function must succeed and have
+ * no other effect.
+ *
+ * @param display is the display to which the vsync mode is set.
+ * @param enabled indicates whether to enable or disable vsync
+ * @exception EX_BAD_DISPLAY when an invalid display handle was passed in.
+ * @exception EX_BAD_PARAMETER when enabled was an invalid value.
+ */
+ void setVsyncEnabled(long display, boolean enabled);
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl
new file mode 100644
index 0000000..17704b8
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerGenericMetadataKey.aidl
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+parcelable LayerGenericMetadataKey {
+ /**
+ * Key names must comply with the requirements specified for
+ * getLayerGenericMetadataKeys below
+ */
+ String name;
+ /**
+ * The mandatory flag is defined in the description of
+ * setLayerGenericMetadata above
+ */
+ boolean mandatory;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/LayerRequest.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerRequest.aidl
new file mode 100644
index 0000000..10de558
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/LayerRequest.aidl
@@ -0,0 +1,31 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Layer requests returned from getDisplayRequests.
+ */
+@VintfStability
+@Backing(type="int")
+enum LayerRequest {
+ /**
+ * The client must clear its target with transparent pixels where
+ * this layer would be. The client may ignore this request if the
+ * layer must be blended.
+ */
+ CLEAR_CLIENT_TARGET = 1 << 0,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadata.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadata.aidl
new file mode 100644
index 0000000..a6588a4
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadata.aidl
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+import android.hardware.graphics.composer3.PerFrameMetadataKey;
+
+/**
+ * PerFrameMetadata
+ * This struct encapsulates float-valued
+ * metadata - key must not be in the list
+ * of keys representing blob-formatted metadata
+ * (see PerFrameMetadataKey)
+ */
+@VintfStability
+parcelable PerFrameMetadata {
+ PerFrameMetadataKey key;
+ float value;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl
new file mode 100644
index 0000000..a82773c
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.aidl
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+import android.hardware.graphics.composer3.PerFrameMetadataKey;
+
+/**
+ * PerFrameMetadataBlob
+ * This struct encapsulates blob
+ * metadata - key must be one of the list of keys
+ * associated with blob-type metadata key
+ * and the blob must adhere to the format specified by
+ * that key (See PerFrameMetadataKey).
+ */
+@VintfStability
+parcelable PerFrameMetadataBlob {
+ PerFrameMetadataKey key;
+ byte[] blob;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl
new file mode 100644
index 0000000..b666e6a
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/PerFrameMetadataKey.aidl
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+import android.hardware.graphics.composer3.PerFrameMetadataKey;
+
+/**
+ * PerFrameMetadataKey
+ *
+ * A set of PerFrameMetadataKey pertains specifically to blob-formatted
+ * metadata (as opposed to float-valued metadata).
+ * The list of keys that represent blobs are:
+ * 1. HDR10_PLUS_SEI
+ */
+@VintfStability
+@Backing(type="int")
+enum PerFrameMetadataKey {
+ /**
+ * SMPTE ST 2084:2014.
+ * Coordinates defined in CIE 1931 xy chromaticity space
+ *
+ *
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_RED_PRIMARY_X,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_RED_PRIMARY_Y,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_GREEN_PRIMARY_X,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_GREEN_PRIMARY_Y,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_BLUE_PRIMARY_X,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ DISPLAY_BLUE_PRIMARY_Y,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ WHITE_POINT_X,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ WHITE_POINT_Y,
+ /**
+ * SMPTE ST 2084:2014.
+ * Units: nits
+ * max as defined by ST 2048: 10,000 nits
+ */
+ MAX_LUMINANCE,
+ /**
+ * SMPTE ST 2084:2014
+ */
+ MIN_LUMINANCE,
+ /**
+ * CTA 861.3
+ */
+ MAX_CONTENT_LIGHT_LEVEL,
+ /**
+ * CTA 861.3
+ */
+ MAX_FRAME_AVERAGE_LIGHT_LEVEL,
+ /**
+ * HDR10+ metadata
+ * Specifies a metadata blob adhering to
+ * the ST2094-40 SEI message spec, Version 1.0
+ */
+ HDR10_PLUS_SEI,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/PowerMode.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/PowerMode.aidl
new file mode 100644
index 0000000..2c56933
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/PowerMode.aidl
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+import android.hardware.graphics.composer3.PowerMode;
+
+@VintfStability
+@Backing(type="int")
+enum PowerMode {
+ /**
+ * The display is fully off (blanked).
+ */
+ OFF = 0,
+ /**
+ * These are optional low power modes. getDozeSupport may be called to
+ * determine whether a given display supports these modes.
+ *
+ *
+ * The display is turned on and configured in a low power state that
+ * is suitable for presenting ambient information to the user,
+ * possibly with lower fidelity than ON, but with greater efficiency.
+ */
+ DOZE = 1,
+ /**
+ * The display is configured as in DOZE but may stop applying display
+ * updates from the client. This is effectively a hint to the device
+ * that drawing to the display has been suspended and that the
+ * device must remain on in a low power state and continue
+ * displaying its current contents indefinitely until the power mode
+ * changes.
+ *
+ * This mode may also be used as a signal to enable hardware-based
+ * doze functionality. In this case, the device is free to take over
+ * the display and manage it autonomously to implement a low power
+ * always-on display.
+ */
+ DOZE_SUSPEND = 3,
+ /**
+ * The display is fully on.
+ */
+ ON = 2,
+ /**
+ * The display is configured as in ON but may stop applying display
+ * updates from the client. This is effectively a hint to the device
+ * that drawing to the display has been suspended and that the
+ * device must remain on and continue displaying its current contents
+ * indefinitely until the power mode changes.
+ *
+ * This mode may also be used as a signal to enable hardware-based
+ * functionality to take over the display and manage it autonomously
+ * to implement a low power always-on display.
+ */
+ ON_SUSPEND = 4,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl
new file mode 100644
index 0000000..8241ddd
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/ReadbackBufferAttributes.aidl
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+@VintfStability
+parcelable ReadbackBufferAttributes {
+ android.hardware.graphics.common.PixelFormat format;
+ android.hardware.graphics.common.Dataspace dataspace;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/RenderIntent.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/RenderIntent.aidl
new file mode 100644
index 0000000..043b24d
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/RenderIntent.aidl
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * RenderIntent defines the mapping from color mode colors to display colors.
+ *
+ * A render intent must not change how it maps colors when the color mode
+ * changes. That is to say that when a render intent maps color C to color C',
+ * the fact that color C can have different pixel values in different color
+ * modes should not affect the mapping.
+ *
+ * RenderIntent overrides the render intents defined for individual color
+ * modes. It is ignored when the color mode is ColorMode::NATIVE, because
+ * ColorMode::NATIVE colors are already display colors.
+ */
+@VintfStability
+@Backing(type="int")
+enum RenderIntent {
+ /**
+ * Colors in the display gamut are unchanged. Colors out of the display
+ * gamut are hard-clipped.
+ *
+ * This implies that the display must have been calibrated unless
+ * ColorMode::NATIVE is the only supported color mode.
+ */
+ COLORIMETRIC = 0,
+ /**
+ * Enhance colors that are in the display gamut. Colors out of the display
+ * gamut are hard-clipped.
+ *
+ * The enhancement typically picks the biggest standard color space (e.g.
+ * DCI-P3) that is narrower than the display gamut and stretches it to the
+ * display gamut. The stretching is recommended to preserve skin tones.
+ */
+ ENHANCE = 1,
+ /**
+ * Tone map high-dynamic-range colors to the display's dynamic range. The
+ * dynamic range of the colors are communicated separately. After tone
+ * mapping, the mapping to the display gamut is as defined in
+ * COLORIMETRIC.
+ */
+ TONE_MAP_COLORIMETRIC = 2,
+ /**
+ * Tone map high-dynamic-range colors to the display's dynamic range. The
+ * dynamic range of the colors are communicated separately. After tone
+ * mapping, the mapping to the display gamut is as defined in ENHANCE.
+ *
+ * The tone mapping step and the enhancing step must match
+ * TONE_MAP_COLORIMETRIC and ENHANCE respectively when they are also
+ * supported.
+ */
+ TONE_MAP_ENHANCE = 3,
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/VirtualDisplay.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/VirtualDisplay.aidl
new file mode 100644
index 0000000..8bbdfe3
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/VirtualDisplay.aidl
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * The return value from IComposerClient.createVirtualDisplay
+ */
+@VintfStability
+parcelable VirtualDisplay {
+ /**
+ * The newly-created virtual display.
+ */
+ long display;
+ /**
+ * The format of the buffer the device will produce.
+ */
+ android.hardware.graphics.common.PixelFormat format;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl
new file mode 100644
index 0000000..5ae6f3d
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.aidl
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.graphics.composer3;
+
+/**
+ * Constraints for changing vsync period.
+ */
+@VintfStability
+parcelable VsyncPeriodChangeConstraints {
+ /**
+ * Time in CLOCK_MONOTONIC after which the vsync period may change
+ * (i.e., the vsync period must not change before this time).
+ */
+ long desiredTimeNanos;
+ /**
+ * If true, requires that the vsync period change must happen seamlessly without
+ * a noticeable visual artifact.
+ */
+ boolean seamlessRequired;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl b/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl
new file mode 100644
index 0000000..13fd051
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.aidl
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.graphics.composer3;
+
+/**
+ * Timing for a vsync period change.
+ */
+@VintfStability
+parcelable VsyncPeriodChangeTimeline {
+ /**
+ * The time in CLOCK_MONOTONIC when the new display will start to refresh at
+ * the new vsync period.
+ */
+ long newVsyncAppliedTimeNanos;
+ /**
+ * Set to true if the client is required to send a frame to be displayed before
+ * the change can take place.
+ */
+ boolean refreshRequired;
+ /**
+ * The time in CLOCK_MONOTONIC when the client is expected to send the new frame.
+ * Should be ignored if refreshRequired is false.
+ */
+ long refreshTimeNanos;
+}
diff --git a/graphics/composer/aidl/android/hardware/graphics/composer3/translate-ndk.cpp b/graphics/composer/aidl/android/hardware/graphics/composer3/translate-ndk.cpp
new file mode 100644
index 0000000..a593e90
--- /dev/null
+++ b/graphics/composer/aidl/android/hardware/graphics/composer3/translate-ndk.cpp
@@ -0,0 +1,612 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "android/hardware/graphics/composer3/translate-ndk.h"
+
+namespace android::h2a {
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposer::EX_NO_RESOURCES ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::NO_RESOURCES));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_BAD_CONFIG ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::BAD_CONFIG));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_BAD_DISPLAY ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::BAD_DISPLAY));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_BAD_LAYER ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::BAD_LAYER));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_BAD_PARAMETER ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::BAD_PARAMETER));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_NO_RESOURCES ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::NO_RESOURCES));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_NOT_VALIDATED ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::NOT_VALIDATED));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_UNSUPPORTED ==
+ static_cast<int32_t>(::android::hardware::graphics::composer::V2_4::Error::UNSUPPORTED));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_SEAMLESS_NOT_ALLOWED ==
+ static_cast<int32_t>(
+ ::android::hardware::graphics::composer::V2_4::Error::SEAMLESS_NOT_ALLOWED));
+static_assert(
+ aidl::android::hardware::graphics::composer3::IComposerClient::EX_SEAMLESS_NOT_POSSIBLE ==
+ static_cast<int32_t>(
+ ::android::hardware::graphics::composer::V2_4::Error::SEAMLESS_NOT_POSSIBLE));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::Capability::INVALID ==
+ static_cast<aidl::android::hardware::graphics::composer3::Capability>(
+ ::android::hardware::graphics::composer::V2_1::IComposer::Capability::INVALID));
+static_assert(aidl::android::hardware::graphics::composer3::Capability::SIDEBAND_STREAM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Capability>(
+ ::android::hardware::graphics::composer::V2_1::IComposer::Capability::
+ SIDEBAND_STREAM));
+static_assert(
+ aidl::android::hardware::graphics::composer3::Capability::SKIP_CLIENT_COLOR_TRANSFORM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Capability>(
+ ::android::hardware::graphics::composer::V2_1::IComposer::Capability::
+ SKIP_CLIENT_COLOR_TRANSFORM));
+static_assert(
+ aidl::android::hardware::graphics::composer3::Capability::PRESENT_FENCE_IS_NOT_RELIABLE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Capability>(
+ ::android::hardware::graphics::composer::V2_1::IComposer::Capability::
+ PRESENT_FENCE_IS_NOT_RELIABLE));
+
+static_assert(aidl::android::hardware::graphics::composer3::LayerRequest::CLEAR_CLIENT_TARGET ==
+ static_cast<aidl::android::hardware::graphics::composer3::LayerRequest>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::LayerRequest::
+ CLEAR_CLIENT_TARGET));
+
+static_assert(aidl::android::hardware::graphics::composer3::BlendMode::INVALID ==
+ static_cast<aidl::android::hardware::graphics::composer3::BlendMode>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::BlendMode::
+ INVALID));
+static_assert(
+ aidl::android::hardware::graphics::composer3::BlendMode::NONE ==
+ static_cast<aidl::android::hardware::graphics::composer3::BlendMode>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::BlendMode::NONE));
+static_assert(aidl::android::hardware::graphics::composer3::BlendMode::PREMULTIPLIED ==
+ static_cast<aidl::android::hardware::graphics::composer3::BlendMode>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::BlendMode::
+ PREMULTIPLIED));
+static_assert(aidl::android::hardware::graphics::composer3::BlendMode::COVERAGE ==
+ static_cast<aidl::android::hardware::graphics::composer3::BlendMode>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::BlendMode::
+ COVERAGE));
+
+static_assert(aidl::android::hardware::graphics::composer3::Composition::INVALID ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ INVALID));
+static_assert(aidl::android::hardware::graphics::composer3::Composition::CLIENT ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ CLIENT));
+static_assert(aidl::android::hardware::graphics::composer3::Composition::DEVICE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ DEVICE));
+static_assert(aidl::android::hardware::graphics::composer3::Composition::SOLID_COLOR ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ SOLID_COLOR));
+static_assert(aidl::android::hardware::graphics::composer3::Composition::CURSOR ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ CURSOR));
+static_assert(aidl::android::hardware::graphics::composer3::Composition::SIDEBAND ==
+ static_cast<aidl::android::hardware::graphics::composer3::Composition>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::Composition::
+ SIDEBAND));
+
+static_assert(aidl::android::hardware::graphics::composer3::DisplayRequest::FLIP_CLIENT_TARGET ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayRequest>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::
+ DisplayRequest::FLIP_CLIENT_TARGET));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayRequest::
+ WRITE_CLIENT_TARGET_TO_OUTPUT ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayRequest>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::
+ DisplayRequest::WRITE_CLIENT_TARGET_TO_OUTPUT));
+
+static_assert(aidl::android::hardware::graphics::composer3::HandleIndex::EMPTY ==
+ static_cast<aidl::android::hardware::graphics::composer3::HandleIndex>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::HandleIndex::
+ EMPTY));
+static_assert(aidl::android::hardware::graphics::composer3::HandleIndex::CACHED ==
+ static_cast<aidl::android::hardware::graphics::composer3::HandleIndex>(
+ ::android::hardware::graphics::composer::V2_1::IComposerClient::HandleIndex::
+ CACHED));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::PowerMode::OFF ==
+ static_cast<aidl::android::hardware::graphics::composer3::PowerMode>(
+ ::android::hardware::graphics::composer::V2_2::IComposerClient::PowerMode::OFF));
+static_assert(
+ aidl::android::hardware::graphics::composer3::PowerMode::DOZE ==
+ static_cast<aidl::android::hardware::graphics::composer3::PowerMode>(
+ ::android::hardware::graphics::composer::V2_2::IComposerClient::PowerMode::DOZE));
+static_assert(aidl::android::hardware::graphics::composer3::PowerMode::DOZE_SUSPEND ==
+ static_cast<aidl::android::hardware::graphics::composer3::PowerMode>(
+ ::android::hardware::graphics::composer::V2_2::IComposerClient::PowerMode::
+ DOZE_SUSPEND));
+static_assert(
+ aidl::android::hardware::graphics::composer3::PowerMode::ON ==
+ static_cast<aidl::android::hardware::graphics::composer3::PowerMode>(
+ ::android::hardware::graphics::composer::V2_2::IComposerClient::PowerMode::ON));
+static_assert(aidl::android::hardware::graphics::composer3::PowerMode::ON_SUSPEND ==
+ static_cast<aidl::android::hardware::graphics::composer3::PowerMode>(
+ ::android::hardware::graphics::composer::V2_2::IComposerClient::PowerMode::
+ ON_SUSPEND));
+
+static_assert(aidl::android::hardware::graphics::composer3::DisplayCapability::INVALID ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayCapability::INVALID));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayCapability::
+ SKIP_CLIENT_COLOR_TRANSFORM ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayCapability::SKIP_CLIENT_COLOR_TRANSFORM));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayCapability::DOZE ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayCapability::DOZE));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayCapability::BRIGHTNESS ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayCapability::BRIGHTNESS));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayCapability::PROTECTED_CONTENTS ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayCapability::PROTECTED_CONTENTS));
+static_assert(
+ aidl::android::hardware::graphics::composer3::DisplayCapability::AUTO_LOW_LATENCY_MODE ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayCapability>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::DisplayCapability::
+ AUTO_LOW_LATENCY_MODE));
+
+static_assert(aidl::android::hardware::graphics::composer3::Command::LENGTH_MASK ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ LENGTH_MASK));
+static_assert(aidl::android::hardware::graphics::composer3::Command::OPCODE_SHIFT ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ OPCODE_SHIFT));
+static_assert(aidl::android::hardware::graphics::composer3::Command::OPCODE_MASK ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ OPCODE_MASK));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SELECT_DISPLAY ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SELECT_DISPLAY));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SELECT_LAYER ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SELECT_LAYER));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_ERROR ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_ERROR));
+static_assert(
+ aidl::android::hardware::graphics::composer3::Command::SET_CHANGED_COMPOSITION_TYPES ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_CHANGED_COMPOSITION_TYPES));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_DISPLAY_REQUESTS ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_DISPLAY_REQUESTS));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_PRESENT_FENCE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_PRESENT_FENCE));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_RELEASE_FENCES ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_RELEASE_FENCES));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_COLOR_TRANSFORM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_COLOR_TRANSFORM));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_CLIENT_TARGET ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_CLIENT_TARGET));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_OUTPUT_BUFFER ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_OUTPUT_BUFFER));
+static_assert(aidl::android::hardware::graphics::composer3::Command::VALIDATE_DISPLAY ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ VALIDATE_DISPLAY));
+static_assert(aidl::android::hardware::graphics::composer3::Command::ACCEPT_DISPLAY_CHANGES ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ ACCEPT_DISPLAY_CHANGES));
+static_assert(aidl::android::hardware::graphics::composer3::Command::PRESENT_DISPLAY ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ PRESENT_DISPLAY));
+static_assert(aidl::android::hardware::graphics::composer3::Command::PRESENT_OR_VALIDATE_DISPLAY ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ PRESENT_OR_VALIDATE_DISPLAY));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_CURSOR_POSITION ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_CURSOR_POSITION));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_BUFFER ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_BUFFER));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_SURFACE_DAMAGE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_SURFACE_DAMAGE));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_BLEND_MODE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_BLEND_MODE));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_COLOR ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_COLOR));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_COMPOSITION_TYPE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_COMPOSITION_TYPE));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_DATASPACE ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_DATASPACE));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_DISPLAY_FRAME ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_DISPLAY_FRAME));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_PLANE_ALPHA ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_PLANE_ALPHA));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_SIDEBAND_STREAM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_SIDEBAND_STREAM));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_SOURCE_CROP ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_SOURCE_CROP));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_TRANSFORM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_TRANSFORM));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_VISIBLE_REGION ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_VISIBLE_REGION));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_Z_ORDER ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_Z_ORDER));
+static_assert(aidl::android::hardware::graphics::composer3::Command::
+ SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_PRESENT_OR_VALIDATE_DISPLAY_RESULT));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_PER_FRAME_METADATA ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_PER_FRAME_METADATA));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_FLOAT_COLOR ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_FLOAT_COLOR));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_COLOR_TRANSFORM ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_COLOR_TRANSFORM));
+static_assert(
+ aidl::android::hardware::graphics::composer3::Command::SET_LAYER_PER_FRAME_METADATA_BLOBS ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_PER_FRAME_METADATA_BLOBS));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_CLIENT_TARGET_PROPERTY ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_CLIENT_TARGET_PROPERTY));
+static_assert(aidl::android::hardware::graphics::composer3::Command::SET_LAYER_GENERIC_METADATA ==
+ static_cast<aidl::android::hardware::graphics::composer3::Command>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Command::
+ SET_LAYER_GENERIC_METADATA));
+
+static_assert(aidl::android::hardware::graphics::composer3::DisplayAttribute::INVALID ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::
+ INVALID));
+static_assert(
+ aidl::android::hardware::graphics::composer3::DisplayAttribute::WIDTH ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::WIDTH));
+static_assert(
+ aidl::android::hardware::graphics::composer3::DisplayAttribute::HEIGHT ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::HEIGHT));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayAttribute::VSYNC_PERIOD ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::
+ VSYNC_PERIOD));
+static_assert(
+ aidl::android::hardware::graphics::composer3::DisplayAttribute::DPI_X ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::DPI_X));
+static_assert(
+ aidl::android::hardware::graphics::composer3::DisplayAttribute::DPI_Y ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::DPI_Y));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayAttribute::CONFIG_GROUP ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayAttribute>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::Attribute::
+ CONFIG_GROUP));
+
+static_assert(aidl::android::hardware::graphics::composer3::DisplayConnectionType::INTERNAL ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayConnectionType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayConnectionType::INTERNAL));
+static_assert(aidl::android::hardware::graphics::composer3::DisplayConnectionType::EXTERNAL ==
+ static_cast<aidl::android::hardware::graphics::composer3::DisplayConnectionType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ DisplayConnectionType::EXTERNAL));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::DISPLAY_RED_PRIMARY_X ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_RED_PRIMARY_X));
+static_assert(
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::DISPLAY_RED_PRIMARY_Y ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_RED_PRIMARY_Y));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::
+ DISPLAY_GREEN_PRIMARY_X ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_GREEN_PRIMARY_X));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::
+ DISPLAY_GREEN_PRIMARY_Y ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_GREEN_PRIMARY_Y));
+static_assert(
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::DISPLAY_BLUE_PRIMARY_X ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_BLUE_PRIMARY_X));
+static_assert(
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::DISPLAY_BLUE_PRIMARY_Y ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::DISPLAY_BLUE_PRIMARY_Y));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::WHITE_POINT_X ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::WHITE_POINT_X));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::WHITE_POINT_Y ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::WHITE_POINT_Y));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::MAX_LUMINANCE ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::MAX_LUMINANCE));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::MIN_LUMINANCE ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::MIN_LUMINANCE));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::
+ MAX_CONTENT_LIGHT_LEVEL ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::MAX_CONTENT_LIGHT_LEVEL));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::
+ MAX_FRAME_AVERAGE_LIGHT_LEVEL ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::MAX_FRAME_AVERAGE_LIGHT_LEVEL));
+static_assert(aidl::android::hardware::graphics::composer3::PerFrameMetadataKey::HDR10_PLUS_SEI ==
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ PerFrameMetadataKey::HDR10_PLUS_SEI));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::FormatColorComponent::FORMAT_COMPONENT_0 ==
+ static_cast<aidl::android::hardware::graphics::composer3::FormatColorComponent>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ FormatColorComponent::FORMAT_COMPONENT_0));
+static_assert(
+ aidl::android::hardware::graphics::composer3::FormatColorComponent::FORMAT_COMPONENT_1 ==
+ static_cast<aidl::android::hardware::graphics::composer3::FormatColorComponent>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ FormatColorComponent::FORMAT_COMPONENT_1));
+static_assert(
+ aidl::android::hardware::graphics::composer3::FormatColorComponent::FORMAT_COMPONENT_2 ==
+ static_cast<aidl::android::hardware::graphics::composer3::FormatColorComponent>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ FormatColorComponent::FORMAT_COMPONENT_2));
+static_assert(
+ aidl::android::hardware::graphics::composer3::FormatColorComponent::FORMAT_COMPONENT_3 ==
+ static_cast<aidl::android::hardware::graphics::composer3::FormatColorComponent>(
+ ::android::hardware::graphics::composer::V2_3::IComposerClient::
+ FormatColorComponent::FORMAT_COMPONENT_3));
+
+static_assert(
+ aidl::android::hardware::graphics::composer3::ContentType::NONE ==
+ static_cast<aidl::android::hardware::graphics::composer3::ContentType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::ContentType::NONE));
+static_assert(aidl::android::hardware::graphics::composer3::ContentType::GRAPHICS ==
+ static_cast<aidl::android::hardware::graphics::composer3::ContentType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::ContentType::
+ GRAPHICS));
+static_assert(aidl::android::hardware::graphics::composer3::ContentType::PHOTO ==
+ static_cast<aidl::android::hardware::graphics::composer3::ContentType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::ContentType::
+ PHOTO));
+static_assert(aidl::android::hardware::graphics::composer3::ContentType::CINEMA ==
+ static_cast<aidl::android::hardware::graphics::composer3::ContentType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::ContentType::
+ CINEMA));
+static_assert(
+ aidl::android::hardware::graphics::composer3::ContentType::GAME ==
+ static_cast<aidl::android::hardware::graphics::composer3::ContentType>(
+ ::android::hardware::graphics::composer::V2_4::IComposerClient::ContentType::GAME));
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::VsyncPeriodChangeTimeline& in,
+ aidl::android::hardware::graphics::composer3::VsyncPeriodChangeTimeline* out) {
+ out->newVsyncAppliedTimeNanos = static_cast<int64_t>(in.newVsyncAppliedTimeNanos);
+ out->refreshRequired = static_cast<bool>(in.refreshRequired);
+ out->refreshTimeNanos = static_cast<int64_t>(in.refreshTimeNanos);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::Rect& in,
+ aidl::android::hardware::graphics::common::Rect* out) {
+ out->left = static_cast<int32_t>(in.left);
+ out->top = static_cast<int32_t>(in.top);
+ out->right = static_cast<int32_t>(in.right);
+ out->bottom = static_cast<int32_t>(in.bottom);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::FRect& in,
+ aidl::android::hardware::graphics::common::FRect* out) {
+ out->left = static_cast<float>(in.left);
+ out->top = static_cast<float>(in.top);
+ out->right = static_cast<float>(in.right);
+ out->bottom = static_cast<float>(in.bottom);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::Color& in,
+ aidl::android::hardware::graphics::composer3::Color* out) {
+ // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
+ // your needs.
+ if (in.r > std::numeric_limits<int8_t>::max() || in.r < 0) {
+ return false;
+ }
+ out->r = static_cast<int8_t>(in.r);
+ // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
+ // your needs.
+ if (in.g > std::numeric_limits<int8_t>::max() || in.g < 0) {
+ return false;
+ }
+ out->g = static_cast<int8_t>(in.g);
+ // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
+ // your needs.
+ if (in.b > std::numeric_limits<int8_t>::max() || in.b < 0) {
+ return false;
+ }
+ out->b = static_cast<int8_t>(in.b);
+ // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
+ // your needs.
+ if (in.a > std::numeric_limits<int8_t>::max() || in.a < 0) {
+ return false;
+ }
+ out->a = static_cast<int8_t>(in.a);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_3::IComposerClient::PerFrameMetadata& in,
+ aidl::android::hardware::graphics::composer3::PerFrameMetadata* out) {
+ out->key =
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(in.key);
+ out->value = static_cast<float>(in.value);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_2::IComposerClient::FloatColor& in,
+ aidl::android::hardware::graphics::composer3::FloatColor* out) {
+ out->r = static_cast<float>(in.r);
+ out->g = static_cast<float>(in.g);
+ out->b = static_cast<float>(in.b);
+ out->a = static_cast<float>(in.a);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_3::IComposerClient::PerFrameMetadataBlob&
+ in,
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataBlob* out) {
+ out->key =
+ static_cast<aidl::android::hardware::graphics::composer3::PerFrameMetadataKey>(in.key);
+ {
+ size_t size = in.blob.size();
+ for (size_t i = 0; i < size; i++) {
+ // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
+ // suit your needs.
+ if (in.blob[i] > std::numeric_limits<int8_t>::max() || in.blob[i] < 0) {
+ return false;
+ }
+ out->blob.push_back(static_cast<int8_t>(in.blob[i]));
+ }
+ }
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ VsyncPeriodChangeConstraints& in,
+ aidl::android::hardware::graphics::composer3::VsyncPeriodChangeConstraints* out) {
+ out->desiredTimeNanos = static_cast<int64_t>(in.desiredTimeNanos);
+ out->seamlessRequired = static_cast<bool>(in.seamlessRequired);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::ClientTargetProperty&
+ in,
+ aidl::android::hardware::graphics::composer3::ClientTargetProperty* out) {
+ out->pixelFormat =
+ static_cast<aidl::android::hardware::graphics::common::PixelFormat>(in.pixelFormat);
+ out->dataspace =
+ static_cast<aidl::android::hardware::graphics::common::Dataspace>(in.dataspace);
+ return true;
+}
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ LayerGenericMetadataKey& in,
+ aidl::android::hardware::graphics::composer3::LayerGenericMetadataKey* out) {
+ out->name = in.name;
+ out->mandatory = static_cast<bool>(in.mandatory);
+ return true;
+}
+
+} // namespace android::h2a
\ No newline at end of file
diff --git a/graphics/composer/aidl/include/android/hardware/graphics/composer3/translate-ndk.h b/graphics/composer/aidl/include/android/hardware/graphics/composer3/translate-ndk.h
new file mode 100644
index 0000000..c892863
--- /dev/null
+++ b/graphics/composer/aidl/include/android/hardware/graphics/composer3/translate-ndk.h
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) 2021, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include <limits>
+#include "aidl/android/hardware/graphics/common/FRect.h"
+#include "aidl/android/hardware/graphics/common/Rect.h"
+#include "aidl/android/hardware/graphics/composer3/BlendMode.h"
+#include "aidl/android/hardware/graphics/composer3/Capability.h"
+#include "aidl/android/hardware/graphics/composer3/ClientTargetProperty.h"
+#include "aidl/android/hardware/graphics/composer3/Color.h"
+#include "aidl/android/hardware/graphics/composer3/Command.h"
+#include "aidl/android/hardware/graphics/composer3/Composition.h"
+#include "aidl/android/hardware/graphics/composer3/ContentType.h"
+#include "aidl/android/hardware/graphics/composer3/DisplayAttribute.h"
+#include "aidl/android/hardware/graphics/composer3/DisplayCapability.h"
+#include "aidl/android/hardware/graphics/composer3/DisplayConnectionType.h"
+#include "aidl/android/hardware/graphics/composer3/DisplayRequest.h"
+#include "aidl/android/hardware/graphics/composer3/FloatColor.h"
+#include "aidl/android/hardware/graphics/composer3/FormatColorComponent.h"
+#include "aidl/android/hardware/graphics/composer3/HandleIndex.h"
+#include "aidl/android/hardware/graphics/composer3/IComposer.h"
+#include "aidl/android/hardware/graphics/composer3/LayerGenericMetadataKey.h"
+#include "aidl/android/hardware/graphics/composer3/LayerRequest.h"
+#include "aidl/android/hardware/graphics/composer3/PerFrameMetadata.h"
+#include "aidl/android/hardware/graphics/composer3/PerFrameMetadataBlob.h"
+#include "aidl/android/hardware/graphics/composer3/PerFrameMetadataKey.h"
+#include "aidl/android/hardware/graphics/composer3/PowerMode.h"
+#include "aidl/android/hardware/graphics/composer3/VsyncPeriodChangeConstraints.h"
+#include "aidl/android/hardware/graphics/composer3/VsyncPeriodChangeTimeline.h"
+#include "android/hardware/graphics/composer/2.1/IComposer.h"
+#include "android/hardware/graphics/composer/2.1/IComposerCallback.h"
+#include "android/hardware/graphics/composer/2.1/IComposerClient.h"
+#include "android/hardware/graphics/composer/2.2/IComposerClient.h"
+#include "android/hardware/graphics/composer/2.3/IComposerClient.h"
+#include "android/hardware/graphics/composer/2.4/IComposerClient.h"
+#include "android/hardware/graphics/composer/2.4/types.h"
+
+namespace android::h2a {
+
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::VsyncPeriodChangeTimeline& in,
+ aidl::android::hardware::graphics::composer3::VsyncPeriodChangeTimeline* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::Rect& in,
+ aidl::android::hardware::graphics::common::Rect* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::FRect& in,
+ aidl::android::hardware::graphics::common::FRect* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_1::IComposerClient::Color& in,
+ aidl::android::hardware::graphics::composer3::Color* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_3::IComposerClient::PerFrameMetadata& in,
+ aidl::android::hardware::graphics::composer3::PerFrameMetadata* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_2::IComposerClient::FloatColor& in,
+ aidl::android::hardware::graphics::composer3::FloatColor* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_3::IComposerClient::PerFrameMetadataBlob&
+ in,
+ aidl::android::hardware::graphics::composer3::PerFrameMetadataBlob* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ VsyncPeriodChangeConstraints& in,
+ aidl::android::hardware::graphics::composer3::VsyncPeriodChangeConstraints* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::ClientTargetProperty&
+ in,
+ aidl::android::hardware::graphics::composer3::ClientTargetProperty* out);
+__attribute__((warn_unused_result)) bool translate(
+ const ::android::hardware::graphics::composer::V2_4::IComposerClient::
+ LayerGenericMetadataKey& in,
+ aidl::android::hardware::graphics::composer3::LayerGenericMetadataKey* out);
+
+} // namespace android::h2a
diff --git a/graphics/mapper/2.0/vts/functional/OWNERS b/graphics/mapper/2.0/vts/functional/OWNERS
new file mode 100644
index 0000000..a2ed8c8
--- /dev/null
+++ b/graphics/mapper/2.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 25423
+sumir@google.com
diff --git a/graphics/mapper/2.1/vts/functional/OWNERS b/graphics/mapper/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..a2ed8c8
--- /dev/null
+++ b/graphics/mapper/2.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 25423
+sumir@google.com
diff --git a/graphics/mapper/4.0/vts/functional/Android.bp b/graphics/mapper/4.0/vts/functional/Android.bp
index 032bc0f..65bc380 100644
--- a/graphics/mapper/4.0/vts/functional/Android.bp
+++ b/graphics/mapper/4.0/vts/functional/Android.bp
@@ -28,7 +28,7 @@
defaults: ["VtsHalTargetTestDefaults"],
srcs: ["VtsHalGraphicsMapperV4_0TargetTest.cpp"],
static_libs: [
- "android.hardware.graphics.common-V2-ndk",
+ "android.hardware.graphics.common-V3-ndk",
"android.hardware.graphics.mapper@4.0-vts",
"libgralloctypes",
"libsync",
diff --git a/health/2.1/vts/functional/OWNERS b/health/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..cd06415
--- /dev/null
+++ b/health/2.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 30545
+elsk@google.com
diff --git a/input/classifier/1.0/vts/functional/OWNERS b/input/classifier/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..540b75b
--- /dev/null
+++ b/input/classifier/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 136048
+svv@google.com
diff --git a/keymaster/3.0/vts/functional/OWNERS b/keymaster/3.0/vts/functional/OWNERS
new file mode 100644
index 0000000..2ef9086
--- /dev/null
+++ b/keymaster/3.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 189335
+swillden@google.com
diff --git a/keymaster/4.0/support/fuzzer/Android.bp b/keymaster/4.0/support/fuzzer/Android.bp
new file mode 100644
index 0000000..3a3f4d5
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/Android.bp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_defaults {
+ name: "keymaster4_fuzzer_defaults",
+ static_libs: [
+ "libbase",
+ "liblog",
+ "libkeymaster4support",
+ "libutils",
+ ],
+ shared_libs: [
+ "android.hardware.keymaster@4.0",
+ "libcrypto",
+ "libhidlbase",
+ ],
+ fuzz_config: {
+ cc: [
+ "android-media-fuzzing-reports@google.com",
+ ],
+ componentid: 533764,
+ },
+}
+
+cc_fuzz {
+ name: "keymaster4_attestation_fuzzer",
+ defaults: [
+ "keymaster4_fuzzer_defaults",
+ ],
+ srcs: [
+ "keymaster4_attestation_fuzzer.cpp",
+ ],
+}
+
+cc_fuzz {
+ name: "keymaster4_authSet_fuzzer",
+ defaults: [
+ "keymaster4_fuzzer_defaults",
+ ],
+ srcs: [
+ "keymaster4_authSet_fuzzer.cpp",
+ ],
+}
+
+cc_fuzz {
+ name: "keymaster4_utils_fuzzer",
+ defaults: [
+ "keymaster4_fuzzer_defaults",
+ ],
+ srcs: [
+ "keymaster4_utils_fuzzer.cpp",
+ ],
+}
diff --git a/keymaster/4.0/support/fuzzer/README.md b/keymaster/4.0/support/fuzzer/README.md
new file mode 100644
index 0000000..bf4af25
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/README.md
@@ -0,0 +1,58 @@
+# Fuzzers for libkeymaster4support
+
+## Plugin Design Considerations
+The fuzzer plugins for libkeymaster4support are designed based on the understanding of the
+source code and try to achieve the following:
+
+##### Maximize code coverage
+The configuration parameters are not hardcoded, but instead selected based on
+incoming data. This ensures more code paths are reached by the fuzzers.
+
+libkeymaster4support supports the following parameters:
+1. Security Level (parameter name: `securityLevel`)
+2. Ec Curve (parameter name: `ecCurve`)
+3. Padding Mode (parameter name: `paddingMode`)
+4. Digest (parameter name: `digest`)
+5. Tag (parameter name: `tag`)
+
+| Parameter| Valid Values| Configured Value|
+|------------- |-------------| ----- |
+| `securityLevel` | 0.`SecurityLevel::SOFTWARE` 1.`SecurityLevel::TRUSTED_ENVIRONMENT` 2.`SecurityLevel::STRONGBOX`| Value obtained from FuzzedDataProvider|
+| `ecCurve` | 0.`EcCurve::P_224` 1.`EcCurve::P_256` 2.`EcCurve::P_384` 3. `EcCurve::P_521`| Value obtained from FuzzedDataProvider|
+| `paddingMode` | 0.`PaddingMode::NONE` 1.`PaddingMode::RSA_OAEP` 2.`PaddingMode::RSA_PSS` 3. `PaddingMode::RSA_PKCS1_1_5_ENCRYPT` 4.`PaddingMode::RSA_PKCS1_1_5_SIGN` 5.`PaddingMode::PKCS7`| Value obtained from FuzzedDataProvider|
+| `digest` | 1. `Digest::NONE` 2.`Digest::MD5` 3.`Digest::SHA1` 4.`Digest::SHA_2_224` 5.`Digest::SHA_2_256` 6.`Digest::SHA_2_384` 7.`Digest::SHA_2_512`| Value obtained from FuzzedDataProvider|
+| `tag` | 1. `Tag::INVALID` 2.`Tag::PURPOSE` 3.`Tag::ALGORITHM` 4.`Tag::KEY_SIZE` 5.`Tag::BLOCK_MODE` 6.`Tag::DIGEST` 7.`Tag::PADDING` 8.`Tag::CALLER_NONCE` 9.`Tag::MIN_MAC_LENGTH` 10.`Tag::EC_CURVE` 11.`Tag::RSA_PUBLIC_EXPONENT` 12.`Tag::INCLUDE_UNIQUE_ID` 13. `Tag::BLOB_USAGE_REQUIREMENTS` 14.`Tag::BOOTLOADER_ONLY` 15.`Tag::ROLLBACK_RESISTANCE` 16.`Tag::HARDWARE_TYPE` 17.`Tag::ACTIVE_DATETIME` 18. `Tag::ORIGINATION_EXPIRE_DATETIME` 19.`Tag::USAGE_EXPIRE_DATETIME` 20.`Tag::MIN_SECONDS_BETWEEN_OPS` 21.`Tag::MAX_USES_PER_BOOT` 22.`Tag::USER_ID` 23.` Tag::USER_SECURE_ID` 24.`Tag::NO_AUTH_REQUIRED` 25.`Tag::USER_AUTH_TYPE` 26.`Tag::AUTH_TIMEOUT` 27.`Tag::ALLOW_WHILE_ON_BODY` 28.`Tag::TRUSTED_USER_PRESENCE_REQUIRED` 29.`Tag::TRUSTED_CONFIRMATION_REQUIRED` 30.`Tag::UNLOCKED_DEVICE_REQUIRED` 31.`Tag::APPLICATION_ID` 32.`Tag::APPLICATION_DATA` 33.`Tag::CREATION_DATETIME` 34.`Tag::ORIGIN` 35.`Tag::ROOT_OF_TRUST` 36.`Tag::OS_VERSION` 37.`Tag::OS_PATCHLEVEL` 38.`Tag::UNIQUE_ID` 39.`Tag::ATTESTATION_CHALLENGE` 40.`Tag::ATTESTATION_APPLICATION_ID` 41.`Tag::ATTESTATION_ID_BRAND` 42.`Tag::ATTESTATION_ID_DEVICE` 43.`Tag::ATTESTATION_ID_PRODUCT` 44.`Tag::ATTESTATION_ID_SERIAL` 45.`Tag::ATTESTATION_ID_IMEI` 46.`Tag::ATTESTATION_ID_MEID` 47.`Tag::ATTESTATION_ID_MANUFACTURER` 48.`Tag::ATTESTATION_ID_MODEL` 49.`Tag::VENDOR_PATCHLEVEL` 50.`Tag::BOOT_PATCHLEVEL` 51.`Tag::ASSOCIATED_DATA` 52.`Tag::NONCE` 53.`Tag::MAC_LENGTH` 54.`Tag::RESET_SINCE_ID_ROTATION` 55.`Tag::CONFIRMATION_TOKEN`| Value obtained from FuzzedDataProvider|
+
+This also ensures that the plugins are always deterministic for any given input.
+
+##### Maximize utilization of input data
+The plugins feed the entire input data to the module.
+This ensures that the plugins tolerate any kind of input (empty, huge,
+malformed, etc) and dont `exit()` on any input and thereby increasing the
+chance of identifying vulnerabilities.
+
+## Build
+
+This describes steps to build keymaster4_attestation_fuzzer, keymaster4_authSet_fuzzer and keymaster4_utils_fuzzer binaries
+
+### Android
+
+#### Steps to build
+Build the fuzzer
+```
+ $ mm -j$(nproc) keymaster4_attestation_fuzzer
+ $ mm -j$(nproc) keymaster4_authSet_fuzzer
+ $ mm -j$(nproc) keymaster4_utils_fuzzer
+```
+#### Steps to run
+To run on device
+```
+ $ adb sync data
+ $ adb shell /data/fuzz/${TARGET_ARCH}/keymaster4_attestation_fuzzer/keymaster4_attestation_fuzzer
+ $ adb shell /data/fuzz/${TARGET_ARCH}/keymaster4_authSet_fuzzer/keymaster4_authSet_fuzzer
+ $ adb shell /data/fuzz/${TARGET_ARCH}/keymaster4_utils_fuzzer/keymaster4_utils_fuzzer
+```
+
+## References:
+ * http://llvm.org/docs/LibFuzzer.html
+ * https://github.com/google/oss-fuzz
diff --git a/keymaster/4.0/support/fuzzer/keymaster4_attestation_fuzzer.cpp b/keymaster/4.0/support/fuzzer/keymaster4_attestation_fuzzer.cpp
new file mode 100644
index 0000000..b8b858d
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/keymaster4_attestation_fuzzer.cpp
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <android/hardware/keymaster/4.0/IKeymasterDevice.h>
+#include <keymasterV4_0/attestation_record.h>
+#include <keymasterV4_0/openssl_utils.h>
+#include "keymaster4_common.h"
+
+namespace android::hardware::keymaster::V4_0::fuzzer {
+
+constexpr size_t kMinBytes = 1;
+constexpr size_t kMaxBytes = 10;
+
+class KeyMaster4AttestationFuzzer {
+ public:
+ void process(const uint8_t* data, size_t size);
+
+ private:
+ ErrorCode generateKey(const AuthorizationSet& keyDesc, hidl_vec<uint8_t>* keyBlob,
+ KeyCharacteristics* keyCharacteristics);
+ ErrorCode attestKey(hidl_vec<uint8_t>& keyBlob, const AuthorizationSet& attestParams,
+ hidl_vec<hidl_vec<uint8_t>>* certificateChain);
+ X509_Ptr parseCertificateBlob(const hidl_vec<uint8_t>& blob);
+ ASN1_OCTET_STRING* getAttestationRecord(const X509* certificate);
+ bool verifyAttestationRecord(const hidl_vec<uint8_t>& attestationCert);
+ void invokeAttestationRecord();
+
+ sp<IKeymasterDevice> mKeymaster = nullptr;
+ std::unique_ptr<FuzzedDataProvider> mFdp = nullptr;
+};
+
+ErrorCode KeyMaster4AttestationFuzzer::generateKey(const AuthorizationSet& key_desc,
+ hidl_vec<uint8_t>* keyBlob,
+ KeyCharacteristics* keyCharacteristics) {
+ ErrorCode error;
+ mKeymaster->generateKey(key_desc.hidl_data(),
+ [&](ErrorCode hidlError, const hidl_vec<uint8_t>& hidlKeyBlob,
+ const KeyCharacteristics& hidlKeyCharacteristics) {
+ error = hidlError;
+ *keyBlob = hidlKeyBlob;
+ *keyCharacteristics = hidlKeyCharacteristics;
+ });
+ return error;
+}
+
+ErrorCode KeyMaster4AttestationFuzzer::attestKey(hidl_vec<uint8_t>& keyBlob,
+ const AuthorizationSet& attestParams,
+ hidl_vec<hidl_vec<uint8_t>>* certificateChain) {
+ ErrorCode error;
+ auto rc = mKeymaster->attestKey(
+ keyBlob, attestParams.hidl_data(),
+ [&](ErrorCode hidlError, const hidl_vec<hidl_vec<uint8_t>>& hidlCertificateChain) {
+ error = hidlError;
+ *certificateChain = hidlCertificateChain;
+ });
+
+ if (!rc.isOk()) {
+ return ErrorCode::UNKNOWN_ERROR;
+ }
+ return error;
+}
+
+X509_Ptr KeyMaster4AttestationFuzzer::parseCertificateBlob(const hidl_vec<uint8_t>& blob) {
+ const uint8_t* p = blob.data();
+ return X509_Ptr(d2i_X509(nullptr, &p, blob.size()));
+}
+
+/**
+ * @brief getAttestationRecord() accepts a 'certificate' pointer and the return value points to the
+ * data owned by 'certificate'. Hence, 'certificate' should not be freed and the return value cannot
+ * outlive 'certificate'
+ */
+ASN1_OCTET_STRING* KeyMaster4AttestationFuzzer::getAttestationRecord(const X509* certificate) {
+ ASN1_OBJECT_Ptr oid(OBJ_txt2obj(kAttestionRecordOid, 1 /* dotted string format */));
+ if (!oid.get()) {
+ return nullptr;
+ }
+
+ int location = X509_get_ext_by_OBJ(certificate, oid.get(), -1 /* search from beginning */);
+ if (location == -1) {
+ return nullptr;
+ }
+
+ X509_EXTENSION* attestRecordExt = X509_get_ext(certificate, location);
+ if (!attestRecordExt) {
+ return nullptr;
+ }
+
+ ASN1_OCTET_STRING* attestRecord = X509_EXTENSION_get_data(attestRecordExt);
+ return attestRecord;
+}
+
+bool KeyMaster4AttestationFuzzer::verifyAttestationRecord(
+ const hidl_vec<uint8_t>& attestationCert) {
+ X509_Ptr cert(parseCertificateBlob(attestationCert));
+ if (!cert.get()) {
+ return false;
+ }
+
+ ASN1_OCTET_STRING* attestRecord = getAttestationRecord(cert.get());
+ if (!attestRecord) {
+ return false;
+ }
+
+ AuthorizationSet attestationSwEnforced;
+ AuthorizationSet attestationHwEnforced;
+ uint32_t attestationVersion;
+ uint32_t keymasterVersion;
+ SecurityLevel securityLevel;
+ SecurityLevel keymasterSecurityLevel;
+ hidl_vec<uint8_t> attestationChallenge;
+ hidl_vec<uint8_t> attestationUniqueId;
+
+ auto error = parse_attestation_record(
+ attestRecord->data, attestRecord->length, &attestationVersion, &securityLevel,
+ &keymasterVersion, &keymasterSecurityLevel, &attestationChallenge,
+ &attestationSwEnforced, &attestationHwEnforced, &attestationUniqueId);
+ if (error != ErrorCode::OK) {
+ return false;
+ }
+
+ hidl_vec<uint8_t> verifiedBootKey;
+ keymaster_verified_boot_t verifiedBootState;
+ bool device_locked;
+ hidl_vec<uint8_t> verifiedBootHash;
+
+ parse_root_of_trust(attestRecord->data, attestRecord->length, &verifiedBootKey,
+ &verifiedBootState, &device_locked, &verifiedBootHash);
+ return true;
+}
+
+void KeyMaster4AttestationFuzzer::invokeAttestationRecord() {
+ mKeymaster = IKeymasterDevice::getService();
+ if (!mKeymaster) {
+ return;
+ }
+
+ hidl_vec<uint8_t> keyBlob;
+ KeyCharacteristics keyCharacteristics;
+ generateKey(createAuthorizationSet(mFdp), &keyBlob, &keyCharacteristics);
+
+ hidl_vec<hidl_vec<uint8_t>> certificateChain;
+
+ std::vector<uint8_t> challenge, attestationId;
+ challenge =
+ mFdp->ConsumeBytes<uint8_t>(mFdp->ConsumeIntegralInRange<size_t>(kMinBytes, kMaxBytes));
+ attestationId =
+ mFdp->ConsumeBytes<uint8_t>(mFdp->ConsumeIntegralInRange<size_t>(kMinBytes, kMaxBytes));
+ attestKey(keyBlob,
+ AuthorizationSetBuilder()
+ .Authorization(TAG_ATTESTATION_CHALLENGE, challenge)
+ .Authorization(TAG_ATTESTATION_APPLICATION_ID, attestationId),
+ &certificateChain);
+
+ if (certificateChain.size() > 0) {
+ verifyAttestationRecord(certificateChain[mFdp->ConsumeIntegralInRange<size_t>(
+ 0, certificateChain.size() - 1)]);
+ }
+}
+
+void KeyMaster4AttestationFuzzer::process(const uint8_t* data, size_t size) {
+ mFdp = std::make_unique<FuzzedDataProvider>(data, size);
+ invokeAttestationRecord();
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ KeyMaster4AttestationFuzzer km4AttestationFuzzer;
+ km4AttestationFuzzer.process(data, size);
+ return 0;
+}
+
+} // namespace android::hardware::keymaster::V4_0::fuzzer
diff --git a/keymaster/4.0/support/fuzzer/keymaster4_authSet_fuzzer.cpp b/keymaster/4.0/support/fuzzer/keymaster4_authSet_fuzzer.cpp
new file mode 100644
index 0000000..63e0499
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/keymaster4_authSet_fuzzer.cpp
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <fstream>
+#include "keymaster4_common.h"
+
+namespace android::hardware::keymaster::V4_0::fuzzer {
+
+constexpr size_t kMaxVectorSize = 100;
+constexpr size_t kMaxKeyParameter = 10;
+
+constexpr Tag kTagArray[] = {Tag::INVALID,
+ Tag::PURPOSE,
+ Tag::ALGORITHM,
+ Tag::KEY_SIZE,
+ Tag::BLOCK_MODE,
+ Tag::DIGEST,
+ Tag::PADDING,
+ Tag::CALLER_NONCE,
+ Tag::MIN_MAC_LENGTH,
+ Tag::EC_CURVE,
+ Tag::RSA_PUBLIC_EXPONENT,
+ Tag::INCLUDE_UNIQUE_ID,
+ Tag::BLOB_USAGE_REQUIREMENTS,
+ Tag::BOOTLOADER_ONLY,
+ Tag::ROLLBACK_RESISTANCE,
+ Tag::HARDWARE_TYPE,
+ Tag::ACTIVE_DATETIME,
+ Tag::ORIGINATION_EXPIRE_DATETIME,
+ Tag::USAGE_EXPIRE_DATETIME,
+ Tag::MIN_SECONDS_BETWEEN_OPS,
+ Tag::MAX_USES_PER_BOOT,
+ Tag::USER_ID,
+ Tag::USER_SECURE_ID,
+ Tag::NO_AUTH_REQUIRED,
+ Tag::USER_AUTH_TYPE,
+ Tag::AUTH_TIMEOUT,
+ Tag::ALLOW_WHILE_ON_BODY,
+ Tag::TRUSTED_USER_PRESENCE_REQUIRED,
+ Tag::TRUSTED_CONFIRMATION_REQUIRED,
+ Tag::UNLOCKED_DEVICE_REQUIRED,
+ Tag::APPLICATION_ID,
+ Tag::APPLICATION_DATA,
+ Tag::CREATION_DATETIME,
+ Tag::ORIGIN,
+ Tag::ROOT_OF_TRUST,
+ Tag::OS_VERSION,
+ Tag::OS_PATCHLEVEL,
+ Tag::UNIQUE_ID,
+ Tag::ATTESTATION_CHALLENGE,
+ Tag::ATTESTATION_APPLICATION_ID,
+ Tag::ATTESTATION_ID_BRAND,
+ Tag::ATTESTATION_ID_DEVICE,
+ Tag::ATTESTATION_ID_PRODUCT,
+ Tag::ATTESTATION_ID_SERIAL,
+ Tag::ATTESTATION_ID_IMEI,
+ Tag::ATTESTATION_ID_MEID,
+ Tag::ATTESTATION_ID_MANUFACTURER,
+ Tag::ATTESTATION_ID_MODEL,
+ Tag::VENDOR_PATCHLEVEL,
+ Tag::BOOT_PATCHLEVEL,
+ Tag::ASSOCIATED_DATA,
+ Tag::NONCE,
+ Tag::MAC_LENGTH,
+ Tag::RESET_SINCE_ID_ROTATION,
+ Tag::CONFIRMATION_TOKEN};
+
+class KeyMaster4AuthSetFuzzer {
+ public:
+ void process(const uint8_t* data, size_t size);
+
+ private:
+ void invokeAuthSetAPIs();
+ std::unique_ptr<FuzzedDataProvider> mFdp = nullptr;
+};
+
+/**
+ * @brief invokeAuthSetAPIs() function aims at calling functions of authorization_set.cpp
+ * and authorization_set.h in order to get a good coverage for libkeymaster4support.
+ */
+void KeyMaster4AuthSetFuzzer::invokeAuthSetAPIs() {
+ AuthorizationSet authSet = createAuthorizationSet(mFdp);
+ while (mFdp->remaining_bytes() > 0) {
+ uint32_t action = mFdp->ConsumeIntegralInRange<uint32_t>(0, 15);
+ switch (action) {
+ case 0: {
+ authSet.Sort();
+ } break;
+ case 1: {
+ authSet.Deduplicate();
+ } break;
+ case 2: {
+ authSet.Union(createAuthorizationSet(mFdp));
+ } break;
+ case 3: {
+ authSet.Subtract(createAuthorizationSet(mFdp));
+ } break;
+ case 4: {
+ std::filebuf fbOut;
+ fbOut.open("/dev/zero", std::ios::out);
+ std::ostream out(&fbOut);
+ authSet.Serialize(&out);
+ } break;
+ case 5: {
+ std::filebuf fbIn;
+ fbIn.open("/dev/zero", std::ios::in);
+ std::istream in(&fbIn);
+ authSet.Deserialize(&in);
+ } break;
+ case 6: { // invoke push_back()
+ AuthorizationSetBuilder builder = AuthorizationSetBuilder();
+ for (const KeyParameter& tag : authSet) {
+ builder.push_back(tag);
+ }
+ AuthorizationSet params = createAuthorizationSet(mFdp);
+ authSet.push_back(params);
+ } break;
+ case 7: { // invoke copy constructor
+ auto params = AuthorizationSetBuilder().Authorizations(authSet);
+ authSet = params;
+ } break;
+ case 8: { // invoke move constructor
+ auto params = AuthorizationSetBuilder().Authorizations(authSet);
+ authSet = std::move(params);
+ } break;
+ case 9: { // invoke Constructor from hidl_vec<KeyParameter>
+ hidl_vec<KeyParameter> keyParam;
+ size_t numKeyParam = mFdp->ConsumeIntegralInRange<size_t>(1, kMaxKeyParameter);
+ keyParam.resize(numKeyParam);
+ for (size_t i = 0; i < numKeyParam - 1; ++i) {
+ keyParam[i].tag = mFdp->PickValueInArray(kTagArray);
+ std::vector<uint8_t> dataVector = mFdp->ConsumeBytes<uint8_t>(
+ mFdp->ConsumeIntegralInRange<size_t>(0, kMaxVectorSize));
+ keyParam[i].blob = dataVector;
+ }
+ if (mFdp->ConsumeBool()) {
+ AuthorizationSet auths(keyParam);
+ auths.push_back(AuthorizationSet(keyParam));
+ } else { // invoke operator=
+ AuthorizationSet auths = keyParam;
+ }
+ } break;
+ case 10: { // invoke 'Contains()'
+ Tag tag;
+ if (authSet.size() > 0) {
+ tag = authSet[mFdp->ConsumeIntegralInRange<size_t>(0, authSet.size() - 1)].tag;
+ }
+ authSet.Contains(mFdp->ConsumeBool() ? tag : mFdp->PickValueInArray(kTagArray));
+ } break;
+ case 11: { // invoke 'GetTagCount()'
+ Tag tag;
+ if (authSet.size() > 0) {
+ tag = authSet[mFdp->ConsumeIntegralInRange<size_t>(0, authSet.size() - 1)].tag;
+ }
+ authSet.GetTagCount(mFdp->ConsumeBool() ? tag : mFdp->PickValueInArray(kTagArray));
+ } break;
+ case 12: { // invoke 'empty()'
+ authSet.empty();
+ } break;
+ case 13: { // invoke 'data()'
+ authSet.data();
+ } break;
+ case 14: { // invoke 'hidl_data()'
+ authSet.hidl_data();
+ } break;
+ case 15: { // invoke 'erase()'
+ if (authSet.size() > 0) {
+ authSet.erase(mFdp->ConsumeIntegralInRange<size_t>(0, authSet.size() - 1));
+ }
+ } break;
+ default:
+ break;
+ };
+ }
+ authSet.Clear();
+}
+
+void KeyMaster4AuthSetFuzzer::process(const uint8_t* data, size_t size) {
+ mFdp = std::make_unique<FuzzedDataProvider>(data, size);
+ invokeAuthSetAPIs();
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ KeyMaster4AuthSetFuzzer km4AuthSetFuzzer;
+ km4AuthSetFuzzer.process(data, size);
+ return 0;
+}
+
+} // namespace android::hardware::keymaster::V4_0::fuzzer
diff --git a/keymaster/4.0/support/fuzzer/keymaster4_common.h b/keymaster/4.0/support/fuzzer/keymaster4_common.h
new file mode 100644
index 0000000..f6e53ee
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/keymaster4_common.h
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#ifndef __KEYMASTER4_COMMON_H__
+#define __KEYMASTER4_COMMON_H__
+
+#include <fuzzer/FuzzedDataProvider.h>
+#include <keymasterV4_0/authorization_set.h>
+
+namespace android::hardware::keymaster::V4_0::fuzzer {
+
+using ::android::hardware::hidl_vec;
+
+constexpr uint32_t kKeySize = 2048;
+constexpr uint32_t kPublicExponent = 65537;
+
+constexpr EcCurve kCurve[] = {EcCurve::P_224, EcCurve::P_256, EcCurve::P_384, EcCurve::P_521};
+
+constexpr PaddingMode kPaddingMode[] = {
+ PaddingMode::NONE,
+ PaddingMode::RSA_OAEP,
+ PaddingMode::RSA_PSS,
+ PaddingMode::RSA_PKCS1_1_5_ENCRYPT,
+ PaddingMode::RSA_PKCS1_1_5_SIGN,
+ PaddingMode::PKCS7,
+};
+
+constexpr Digest kDigest[] = {
+ Digest::NONE, Digest::MD5, Digest::SHA1, Digest::SHA_2_224,
+ Digest::SHA_2_256, Digest::SHA_2_384, Digest::SHA_2_512,
+};
+
+enum AuthSet : uint32_t {
+ RSA_SIGNING_KEY = 0u,
+ RSA_ENCRYPRION_KEY,
+ ECDSA_SIGNING_CURVE,
+ ECDSA_SIGNING_KEY,
+ AES_ENCRYPTION_KEY,
+ TRIPLE_DES,
+ HMAC,
+ NO_DIGEST,
+ ECB_MODE,
+ GSM_MODE_MIN_MAC,
+ GSM_MODE_MAC,
+ BLOCK_MODE,
+ kMaxValue = BLOCK_MODE
+};
+
+AuthorizationSet createAuthorizationSet(std::unique_ptr<FuzzedDataProvider>& dataProvider) {
+ uint32_t authSet = dataProvider->ConsumeEnum<AuthSet>();
+ switch (authSet) {
+ case RSA_SIGNING_KEY: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .RsaSigningKey(kKeySize, kPublicExponent)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case RSA_ENCRYPRION_KEY: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .RsaEncryptionKey(kKeySize, kPublicExponent)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case ECDSA_SIGNING_CURVE: {
+ EcCurve ecCurve = dataProvider->PickValueInArray(kCurve);
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .EcdsaSigningKey(ecCurve)
+ .Digest(digest)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case ECDSA_SIGNING_KEY: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .EcdsaSigningKey(kKeySize)
+ .Digest(digest)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case AES_ENCRYPTION_KEY: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .AesEncryptionKey(kKeySize)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case TRIPLE_DES: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .TripleDesEncryptionKey(kKeySize)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case HMAC: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .HmacKey(kKeySize)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case NO_DIGEST: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .NoDigestOrPadding()
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case ECB_MODE: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .EcbMode()
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case GSM_MODE_MIN_MAC: {
+ uint32_t minMacLength = dataProvider->ConsumeIntegral<uint32_t>();
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .GcmModeMinMacLen(minMacLength)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case GSM_MODE_MAC: {
+ uint32_t macLength = dataProvider->ConsumeIntegral<uint32_t>();
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .GcmModeMacLen(macLength)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ case BLOCK_MODE: {
+ Digest digest = dataProvider->PickValueInArray(kDigest);
+ PaddingMode padding = dataProvider->PickValueInArray(kPaddingMode);
+ auto blockModes = {
+ BlockMode::ECB,
+ BlockMode::CBC,
+ BlockMode::CTR,
+ BlockMode::GCM,
+ };
+ return AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .BlockMode(blockModes)
+ .Digest(digest)
+ .Padding(padding)
+ .Authorization(TAG_INCLUDE_UNIQUE_ID);
+ } break;
+ default:
+ break;
+ };
+ return AuthorizationSetBuilder();
+}
+
+} // namespace android::hardware::keymaster::V4_0::fuzzer
+
+#endif // __KEYMASTER4_COMMON_H__
diff --git a/keymaster/4.0/support/fuzzer/keymaster4_utils_fuzzer.cpp b/keymaster/4.0/support/fuzzer/keymaster4_utils_fuzzer.cpp
new file mode 100644
index 0000000..bf074e8
--- /dev/null
+++ b/keymaster/4.0/support/fuzzer/keymaster4_utils_fuzzer.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <hardware/hw_auth_token.h>
+#include <keymasterV4_0/keymaster_utils.h>
+#include "keymaster4_common.h"
+
+namespace android::hardware::keymaster::V4_0::fuzzer {
+
+using android::hardware::keymaster::V4_0::SecurityLevel;
+using android::hardware::keymaster::V4_0::VerificationToken;
+using android::hardware::keymaster::V4_0::support::deserializeVerificationToken;
+using android::hardware::keymaster::V4_0::support::serializeVerificationToken;
+
+constexpr SecurityLevel kSecurityLevel[]{
+ SecurityLevel::SOFTWARE,
+ SecurityLevel::TRUSTED_ENVIRONMENT,
+ SecurityLevel::STRONGBOX,
+};
+constexpr size_t kMaxVectorSize = 100;
+constexpr size_t kMaxCharacters = 100;
+
+class KeyMaster4UtilsFuzzer {
+ public:
+ void process(const uint8_t* data, size_t size);
+
+ private:
+ void invokeKeyMasterUtils();
+ std::unique_ptr<FuzzedDataProvider> mFdp = nullptr;
+};
+
+void KeyMaster4UtilsFuzzer::invokeKeyMasterUtils() {
+ support::getOsVersion();
+ support::getOsPatchlevel();
+
+ VerificationToken token;
+ token.challenge = mFdp->ConsumeIntegral<uint64_t>();
+ token.timestamp = mFdp->ConsumeIntegral<uint64_t>();
+ token.securityLevel = mFdp->PickValueInArray(kSecurityLevel);
+ size_t vectorSize = mFdp->ConsumeIntegralInRange<size_t>(0, kMaxVectorSize);
+ token.mac.resize(vectorSize);
+ for (size_t n = 0; n < vectorSize; ++n) {
+ token.mac[n] = n;
+ }
+ std::optional<std::vector<uint8_t>> serialized = serializeVerificationToken(token);
+ if (serialized.has_value()) {
+ std::optional<VerificationToken> deserialized =
+ deserializeVerificationToken(serialized.value());
+ }
+
+ std::vector<uint8_t> dataVector;
+ size_t size = mFdp->ConsumeIntegralInRange<size_t>(0, sizeof(hw_auth_token_t));
+ dataVector = mFdp->ConsumeBytes<uint8_t>(size);
+ support::blob2hidlVec(dataVector.data(), dataVector.size());
+
+ support::blob2hidlVec(dataVector);
+
+ std::string str = mFdp->ConsumeRandomLengthString(kMaxCharacters);
+ support::blob2hidlVec(str);
+
+ HardwareAuthToken authToken = support::hidlVec2AuthToken(dataVector);
+ hidl_vec<uint8_t> volatile hidlVector = support::authToken2HidlVec(authToken);
+}
+
+void KeyMaster4UtilsFuzzer::process(const uint8_t* data, size_t size) {
+ mFdp = std::make_unique<FuzzedDataProvider>(data, size);
+ invokeKeyMasterUtils();
+}
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ KeyMaster4UtilsFuzzer kmUtilsFuzzer;
+ kmUtilsFuzzer.process(data, size);
+ return 0;
+}
+
+} // namespace android::hardware::keymaster::V4_0::fuzzer
diff --git a/keymaster/4.0/vts/functional/OWNERS b/keymaster/4.0/vts/functional/OWNERS
new file mode 100644
index 0000000..2ef9086
--- /dev/null
+++ b/keymaster/4.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 189335
+swillden@google.com
diff --git a/keymaster/4.0/vts/functional/keymaster_hidl_hal_test.cpp b/keymaster/4.0/vts/functional/keymaster_hidl_hal_test.cpp
index 93fb19d..2c15823 100644
--- a/keymaster/4.0/vts/functional/keymaster_hidl_hal_test.cpp
+++ b/keymaster/4.0/vts/functional/keymaster_hidl_hal_test.cpp
@@ -3153,6 +3153,49 @@
}
/*
+ * EncryptionOperationsTest.AesCbcZeroInputSuccessb
+ *
+ * Verifies that keymaster generates correct output on zero-input with
+ * NonePadding mode
+ */
+TEST_P(EncryptionOperationsTest, AesCbcZeroInputSuccess) {
+ ASSERT_EQ(ErrorCode::OK, GenerateKey(AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .AesEncryptionKey(128)
+ .BlockMode(BlockMode::CBC)
+ .Padding(PaddingMode::NONE, PaddingMode::PKCS7)));
+
+ // Zero input message
+ string message = "";
+ for (auto padding : {PaddingMode::NONE, PaddingMode::PKCS7}) {
+ auto params = AuthorizationSetBuilder().BlockMode(BlockMode::CBC).Padding(padding);
+ AuthorizationSet out_params;
+ string ciphertext1 = EncryptMessage(message, params, &out_params);
+ HidlBuf iv1 = CopyIv(out_params);
+ if (padding == PaddingMode::NONE)
+ EXPECT_EQ(message.size(), ciphertext1.size()) << "PaddingMode: " << padding;
+ else
+ EXPECT_EQ(message.size(), ciphertext1.size() - 16) << "PaddingMode: " << padding;
+
+ out_params.Clear();
+
+ string ciphertext2 = EncryptMessage(message, params, &out_params);
+ HidlBuf iv2 = CopyIv(out_params);
+ if (padding == PaddingMode::NONE)
+ EXPECT_EQ(message.size(), ciphertext2.size()) << "PaddingMode: " << padding;
+ else
+ EXPECT_EQ(message.size(), ciphertext2.size() - 16) << "PaddingMode: " << padding;
+
+ // IVs should be random
+ EXPECT_NE(iv1, iv2) << "PaddingMode: " << padding;
+
+ params.push_back(TAG_NONCE, iv1);
+ string plaintext = DecryptMessage(ciphertext1, params);
+ EXPECT_EQ(message, plaintext) << "PaddingMode: " << padding;
+ }
+}
+
+/*
* EncryptionOperationsTest.AesCallerNonce
*
* Verifies that AES caller-provided nonces work correctly.
diff --git a/keymaster/4.1/vts/functional/OWNERS b/keymaster/4.1/vts/functional/OWNERS
new file mode 100644
index 0000000..2ef9086
--- /dev/null
+++ b/keymaster/4.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 189335
+swillden@google.com
diff --git a/neuralnetworks/1.0/vts/functional/OWNERS b/neuralnetworks/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..a48301d
--- /dev/null
+++ b/neuralnetworks/1.0/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 195575
+jeanluc@google.com
+miaowang@google.com
+pszczepaniak@google.com
diff --git a/neuralnetworks/1.1/vts/functional/OWNERS b/neuralnetworks/1.1/vts/functional/OWNERS
new file mode 100644
index 0000000..a48301d
--- /dev/null
+++ b/neuralnetworks/1.1/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 195575
+jeanluc@google.com
+miaowang@google.com
+pszczepaniak@google.com
diff --git a/neuralnetworks/1.2/types.hal b/neuralnetworks/1.2/types.hal
index f5b6ead..ccb0f30 100644
--- a/neuralnetworks/1.2/types.hal
+++ b/neuralnetworks/1.2/types.hal
@@ -80,7 +80,7 @@
* - scales: an array of positive 32 bit floating point values.
* The size of the scales array must be equal to dimensions[channelDim].
*
- *{@link SymmPerChannelQuantParams} must hold the parameters for an Operand of this type.
+ * {@link SymmPerChannelQuantParams} must hold the parameters for an Operand of this type.
* The channel dimension of this tensor must not be unknown (dimensions[channelDim] != 0).
*
* The formula is:
diff --git a/neuralnetworks/1.2/vts/functional/OWNERS b/neuralnetworks/1.2/vts/functional/OWNERS
new file mode 100644
index 0000000..a48301d
--- /dev/null
+++ b/neuralnetworks/1.2/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 195575
+jeanluc@google.com
+miaowang@google.com
+pszczepaniak@google.com
diff --git a/neuralnetworks/1.3/types.hal b/neuralnetworks/1.3/types.hal
index a26b858..9c3bbf7 100644
--- a/neuralnetworks/1.3/types.hal
+++ b/neuralnetworks/1.3/types.hal
@@ -41,7 +41,6 @@
* real_value = (integer_value - zeroPoint) * scale.
*/
TENSOR_QUANT8_ASYMM_SIGNED = 14,
-
/**
* A reference to a subgraph.
*
@@ -5230,7 +5229,7 @@
* The output is calculated using the following formula:
*
* h-swish(x) = x * max(0, min(6, (x + 3))) / 6
-
+ *
* Supported tensor {@link OperandType}:
* * {@link OperandType::TENSOR_FLOAT16}
* * {@link OperandType::TENSOR_FLOAT32}
diff --git a/neuralnetworks/1.3/vts/functional/OWNERS b/neuralnetworks/1.3/vts/functional/OWNERS
new file mode 100644
index 0000000..a48301d
--- /dev/null
+++ b/neuralnetworks/1.3/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 195575
+jeanluc@google.com
+miaowang@google.com
+pszczepaniak@google.com
diff --git a/neuralnetworks/aidl/Android.bp b/neuralnetworks/aidl/Android.bp
index 3a69936..a31157a 100644
--- a/neuralnetworks/aidl/Android.bp
+++ b/neuralnetworks/aidl/Android.bp
@@ -17,7 +17,7 @@
stability: "vintf",
imports: [
"android.hardware.common-V2",
- "android.hardware.graphics.common-V2",
+ "android.hardware.graphics.common-V3",
],
backend: {
java: {
diff --git a/neuralnetworks/aidl/android/hardware/neuralnetworks/OperandType.aidl b/neuralnetworks/aidl/android/hardware/neuralnetworks/OperandType.aidl
index 12edc0f..dfda1d2 100644
--- a/neuralnetworks/aidl/android/hardware/neuralnetworks/OperandType.aidl
+++ b/neuralnetworks/aidl/android/hardware/neuralnetworks/OperandType.aidl
@@ -24,35 +24,30 @@
* Types prefaced with TENSOR_* must be used for tensor data (i.e., tensors
* with at least one dimension). Types not prefaced by TENSOR_* represent
* scalar values and must have no dimensions.
+ *
+ * Although we define many types, most operators accept just a few
+ * types. Most used are {@link OperandType::TENSOR_FLOAT32},
+ * {@link OperandType::TENSOR_QUANT8_ASYMM},
+ * and {@link OperandType::INT32}.
*/
@VintfStability
@Backing(type="int")
enum OperandType {
- /**
- * A 32 bit floating point scalar value.
- */
+ /** A 32 bit floating point scalar value. */
FLOAT32 = 0,
- /**
- * A signed 32 bit integer scalar value.
- */
+ /** A signed 32 bit integer scalar value. */
INT32 = 1,
- /**
- * An unsigned 32 bit integer scalar value.
- */
+ /** An unsigned 32 bit integer scalar value. */
UINT32 = 2,
- /**
- * A tensor of 32 bit floating point values.
- */
+ /** A tensor of 32 bit floating point values. */
TENSOR_FLOAT32 = 3,
- /**
- * A tensor of 32 bit integer values.
- */
+ /** A tensor of 32 bit integer values. */
TENSOR_INT32 = 4,
/**
* A tensor of 8 bit unsigned integers that represent real numbers.
*
- * Attached to this tensor are two numbers that can be used to convert the 8 bit integer to the
- * real value and vice versa. These two numbers are:
+ * Attached to this tensor are two numbers that can be used to convert the
+ * 8 bit integer to the real value and vice versa. These two numbers are:
* - scale: a 32 bit floating point value greater than zero.
* - zeroPoint: a 32 bit integer, in range [0, 255].
*
@@ -63,15 +58,15 @@
/**
* An 8 bit boolean scalar value.
*
- * Values of this operand type are either true or false. A zero value represents false; any
- * other value represents true.
+ * Values of this operand type are either true or false. A zero value
+ * represents false; any other value represents true.
*/
BOOL = 6,
/**
* A tensor of 16 bit signed integers that represent real numbers.
*
- * Attached to this tensor is a number representing real value scale that is used to convert the
- * 16 bit number to a real value in the following way:
+ * Attached to this tensor is a number representing real value scale that is
+ * used to convert the 16 bit number to a real value in the following way:
* realValue = integerValue * scale.
*
* scale is a 32 bit floating point with value greater than zero.
@@ -84,8 +79,8 @@
/**
* A tensor of 8 bit boolean values.
*
- * Values of this operand type are either true or false. A zero value represents false; any
- * other value represents true.
+ * Values of this operand type are either true or false. A zero value
+ * represents false; any other value represents true.
*/
TENSOR_BOOL8 = 9,
/**
@@ -95,8 +90,9 @@
/**
* A tensor of 8 bit signed integers that represent real numbers.
*
- * This tensor is associated with additional fields that can be used to convert the 8 bit signed
- * integer to the real value and vice versa. These fields are:
+ * This tensor is associated with additional fields that can
+ * be used to convert the 8 bit signed integer to the real value and vice versa.
+ * These fields are:
* - channelDim: a 32 bit unsigned integer indicating channel dimension.
* - scales: an array of positive 32 bit floating point values.
* The size of the scales array must be equal to dimensions[channelDim].
@@ -113,8 +109,8 @@
/**
* A tensor of 16 bit unsigned integers that represent real numbers.
*
- * Attached to this tensor are two numbers that can be used to convert the 16 bit integer to the
- * real value and vice versa. These two numbers are:
+ * Attached to this tensor are two numbers that can be used to convert the
+ * 16 bit integer to the real value and vice versa. These two numbers are:
* - scale: a 32 bit floating point value greater than zero.
* - zeroPoint: a 32 bit integer, in range [0, 65535].
*
@@ -125,8 +121,8 @@
/**
* A tensor of 8 bit signed integers that represent real numbers.
*
- * Attached to this tensor is a number representing real value scale that is used to convert the
- * 8 bit number to a real value in the following way:
+ * Attached to this tensor is a number representing real value scale that is
+ * used to convert the 8 bit number to a real value in the following way:
* realValue = integerValue * scale.
*
* scale is a 32 bit floating point with value greater than zero.
@@ -135,8 +131,8 @@
/**
* A tensor of 8 bit signed integers that represent real numbers.
*
- * Attached to this tensor are two numbers that can be used to convert the 8 bit integer to the
- * real value and vice versa. These two numbers are:
+ * Attached to this tensor are two numbers that can be used to convert the
+ * 8 bit integer to the real value and vice versa. These two numbers are:
* - scale: a 32 bit floating point value greater than zero.
* - zeroPoint: a 32 bit integer, in range [-128, 127].
*
diff --git a/neuralnetworks/aidl/android/hardware/neuralnetworks/OperationType.aidl b/neuralnetworks/aidl/android/hardware/neuralnetworks/OperationType.aidl
index e7fb90d..52d2d70 100644
--- a/neuralnetworks/aidl/android/hardware/neuralnetworks/OperationType.aidl
+++ b/neuralnetworks/aidl/android/hardware/neuralnetworks/OperationType.aidl
@@ -78,6 +78,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
ADD = 0,
+
/**
* Performs a 2-D average pooling operation.
*
@@ -162,6 +163,7 @@
* the scale and zeroPoint must be the same as input0.
*/
AVERAGE_POOL_2D = 1,
+
/**
* Concatenates the input tensors along the given dimension.
*
@@ -195,11 +197,13 @@
* tensors. The output shape is [D0, D1, ..., sum(Daxis(i)), ..., Dm].
* Since HAL version 1.2, for a {@link OperandType::TENSOR_QUANT8_ASYMM} tensor,
* the scale and zeroPoint values can be different from
- * input tensors. Before HAL version 1.2 they have to be the same as for the input tensors.
+ * input tensors. Before HAL version 1.2 they have to be the same as for the
+ * input tensors.
* For a {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED} tensor,
* the scale and zeroPoint values can be different from input tensors.
*/
CONCATENATION = 2,
+
/**
* Performs a 2-D convolution operation.
*
@@ -243,7 +247,8 @@
* * * {@link OperandType::TENSOR_INT32} for bias (with scale set to
* * * input.scale * filter.scale).
*
- * * Quantized signed with filter symmetric per channel quantization (since HAL version 1.3):
+ * * Quantized signed with filter symmetric per channel quantization
+ * (since HAL version 1.3):
* * * {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.
* * * {@link OperandType::TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.
* * * {@link OperandType::TENSOR_INT32} for bias (scale set to 0.0,
@@ -356,10 +361,12 @@
* Outputs:
* * 0: The output 4-D tensor, of shape
* [batches, out_height, out_width, depth_out].
- * Before HAL version 1.2, for output tensor of {@link OperandType::TENSOR_QUANT8_ASYMM},
- * the following condition must be satisfied: output_scale > input_scale * filter_scale
+ * Before HAL version 1.2, for output tensor of
+ * {@link OperandType::TENSOR_QUANT8_ASYMM}, the following condition must
+ * be satisfied: output_scale > input_scale * filter_scale
*/
CONV_2D = 3,
+
/**
* Performs a depthwise 2-D convolution operation.
*
@@ -407,7 +414,8 @@
* * * {@link OperandType::TENSOR_INT32} for bias (with scale set to
* * * input.scale * filter.scale).
*
- * * Quantized signed with filter symmetric per channel quantization (since HAL version 1.3):
+ * * Quantized signed with filter symmetric per channel quantization
+ * (since HAL version 1.3):
* * * {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.
* * * {@link OperandType::TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.
* * * {@link OperandType::TENSOR_INT32} for bias (scale set to 0.0,
@@ -521,6 +529,7 @@
* output_scale > input_scale * filter_scale
*/
DEPTHWISE_CONV_2D = 4,
+
/**
* Rearranges data from depth into blocks of spatial data.
*
@@ -566,6 +575,7 @@
* the scale and zeroPoint must be the same as input0.
*/
DEPTH_TO_SPACE = 5,
+
/**
* Dequantizes the input tensor.
*
@@ -593,6 +603,7 @@
* * 0: A tensor with the same shape as input0.
*/
DEQUANTIZE = 6,
+
/**
* Looks up sub-tensors in the input tensor.
*
@@ -637,6 +648,7 @@
* the scale and zeroPoint must be the same as input1.
*/
EMBEDDING_LOOKUP = 7,
+
/**
* Computes element-wise floor() on the input tensor.
*
@@ -654,6 +666,7 @@
* the input tensor.
*/
FLOOR = 8,
+
/**
* Denotes a fully (densely) connected layer, which connects all elements
* in the input tensor with each element in the output tensor.
@@ -699,6 +712,7 @@
* condition must be satisfied: output_scale > input_scale * filter_scale.
*/
FULLY_CONNECTED = 9,
+
/**
* Looks up sub-tensors in the input tensor using a key-value map.
*
@@ -755,6 +769,7 @@
* A non-zero byte represents True, a hit. A zero indicates otherwise.
*/
HASHTABLE_LOOKUP = 10,
+
/**
* Applies L2 normalization along the axis dimension.
*
@@ -795,6 +810,7 @@
* are all zeros, the result is logical zero.
*/
L2_NORMALIZATION = 11,
+
/**
* Performs an 2-D L2 pooling operation.
*
@@ -873,6 +889,7 @@
* [batches, out_height, out_width, depth].
*/
L2_POOL_2D = 12,
+
/**
* Applies Local Response Normalization along the depth dimension.
*
@@ -927,6 +944,7 @@
* * 0: The output tensor of same shape as input0.
*/
LOCAL_RESPONSE_NORMALIZATION = 13,
+
/**
* Computes sigmoid activation on the input tensor element-wise.
*
@@ -954,6 +972,7 @@
* the scale must be 1.f / 256 and the zeroPoint must be -128.
*/
LOGISTIC = 14,
+
/**
* Projects an input to a bit vector via locality senstive hashing.
*
@@ -967,8 +986,8 @@
*
* Inputs:
* * 0: Hash functions. Dim.size == 2, DataType: Float.
- * Tensor[0].Dim[0]: 15 of hash functions.
- * Tensor[0].Dim[1]: 16 of projected output bits generated by each
+ * Tensor[0].Dim[0]: Number of hash functions.
+ * Tensor[0].Dim[1]: Number of projected output bits generated by each
* hash function.
* If the projection type is Sparse:
* Tensor[0].Dim[1] + ceil(log2(Tensor[0].Dim[0])) <= 32
@@ -1009,6 +1028,7 @@
* The offset value for sparse projections was added in HAL version 1.2.
*/
LSH_PROJECTION = 15,
+
/**
* Performs a single time step in a Long Short-Term Memory (LSTM) layer
*
@@ -1226,6 +1246,7 @@
* the same as the current “output state (out)” value.
*/
LSTM = 16,
+
/**
* Performs an 2-D max pooling operation.
*
@@ -1310,6 +1331,7 @@
* the scale and zeroPoint must be the same as input0.
*/
MAX_POOL_2D = 17,
+
/**
* Multiplies two tensors, element-wise.
*
@@ -1356,6 +1378,7 @@
* output_scale > input1_scale * input2_scale.
*/
MUL = 18,
+
/**
* Computes rectified linear activation on the input tensor element-wise.
*
@@ -1382,6 +1405,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RELU = 19,
+
/**
* Computes rectified linear 1 activation on the input tensor element-wise.
*
@@ -1408,6 +1432,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RELU1 = 20,
+
/**
* Computes rectified linear 6 activation on the input tensor element-wise.
*
@@ -1434,6 +1459,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RELU6 = 21,
+
/**
* Reshapes a tensor.
*
@@ -1466,6 +1492,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RESHAPE = 22,
+
/**
* Resizes images to given size using the bilinear interpretation.
*
@@ -1547,6 +1574,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RESIZE_BILINEAR = 23,
+
/**
* A basic recurrent neural network layer.
*
@@ -1598,6 +1626,7 @@
* the same as the current state value.
*/
RNN = 24,
+
/**
* Computes the softmax activation on the input tensor element-wise, per
* batch, by normalizing the input vector so the maximum coefficient is
@@ -1645,6 +1674,7 @@
* the scale must be 1.f / 256 and the zeroPoint must be -128.
*/
SOFTMAX = 25,
+
/**
* Rearranges blocks of spatial data, into depth.
*
@@ -1689,6 +1719,7 @@
* the scale and zeroPoint must be the same as input0.
*/
SPACE_TO_DEPTH = 26,
+
/**
* SVDF op is a kind of stateful layer derived from the notion that a
* densely connected layer that's processing a sequence of input frames can
@@ -1765,6 +1796,7 @@
* [batch_size, num_units].
*/
SVDF = 27,
+
/**
* Computes hyperbolic tangent of input tensor element-wise.
*
@@ -1792,6 +1824,7 @@
* the scale must be 1.f / 128 and the zeroPoint must be 0.
*/
TANH = 28,
+
/**
* BatchToSpace for N-dimensional tensors.
*
@@ -1830,6 +1863,7 @@
* the scale and zeroPoint must be the same as input0.
*/
BATCH_TO_SPACE_ND = 29,
+
/**
* Element-wise division of two tensors.
*
@@ -1880,6 +1914,7 @@
* * 0: A tensor of the same {@link OperandType} as input0.
*/
DIV = 30,
+
/**
* Computes the mean of elements across dimensions of a tensor.
*
@@ -1919,6 +1954,7 @@
* shape is [1].
*/
MEAN = 31,
+
/**
* Pads a tensor.
*
@@ -1960,6 +1996,7 @@
* Since HAL version 1.2, the pad value is always the logical zero.
*/
PAD = 32,
+
/**
* SpaceToBatch for N-Dimensional tensors.
*
@@ -2012,6 +2049,7 @@
* Since HAL version 1.2, the pad value is always the logical zero.
*/
SPACE_TO_BATCH_ND = 33,
+
/**
* Removes dimensions of size 1 from the shape of a tensor.
*
@@ -2047,6 +2085,7 @@
* output shape is [1].
*/
SQUEEZE = 34,
+
/**
* Extracts a strided slice of a tensor.
*
@@ -2097,6 +2136,7 @@
* shape is [1].
*/
STRIDED_SLICE = 35,
+
/**
* Element-wise subtraction of two tensors.
*
@@ -2147,6 +2187,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
SUB = 36,
+
/**
* Transposes the input tensor, permuting the dimensions according to the
* perm tensor.
@@ -2177,6 +2218,7 @@
* the scale and zeroPoint must be the same as input0.
*/
TRANSPOSE = 37,
+
/**
* Computes the absolute value of a tensor, element-wise.
*
@@ -2194,6 +2236,7 @@
* * 0: The output tensor of same shape as input0.
*/
ABS = 38,
+
/**
* Returns the index of the largest element along an axis.
*
@@ -2216,7 +2259,10 @@
* * 0: An (n - 1)-D {@link OperandType::TENSOR_INT32} tensor.
* If input is 1-dimensional, the output shape is [1].
*/
+ // There is no underscore in ARG_MAX to avoid name conflict with
+ // the macro defined in libc/kernel/uapi/linux/limits.h.
ARGMAX = 39,
+
/**
* Returns the index of the smallest element along an axis.
*
@@ -2239,7 +2285,8 @@
* * 0: An (n - 1)-D {@link OperandType::TENSOR_INT32} tensor.
* If input is 1-dimensional, the output shape is [1].
*/
- ARGMIN = 40,
+ ARGMIN = 40, // See ARGMAX for naming discussion.
+
/**
* Transform axis-aligned bounding box proposals using bounding box deltas.
*
@@ -2286,6 +2333,7 @@
* scale must be 0.125 and the zero point must be 0.
*/
AXIS_ALIGNED_BBOX_TRANSFORM = 41,
+
/**
* A recurrent neural network layer that applies an LSTM cell to a
* sequence of inputs in forward and backward directions.
@@ -2560,6 +2608,7 @@
* Available since HAL version 1.3.
*/
BIDIRECTIONAL_SEQUENCE_LSTM = 42,
+
/**
* A recurrent neural network layer that applies a basic RNN cell to a
* sequence of inputs in forward and backward directions.
@@ -2711,6 +2760,7 @@
* Available since HAL version 1.3.
*/
BIDIRECTIONAL_SEQUENCE_RNN = 43,
+
/**
* Greedily selects a subset of bounding boxes in descending order of score.
*
@@ -2794,6 +2844,7 @@
* with the same batch index are grouped together.
*/
BOX_WITH_NMS_LIMIT = 44,
+
/**
* Casts a tensor to a type.
*
@@ -2824,6 +2875,7 @@
* * 0: A tensor with the same shape as input0.
*/
CAST = 45,
+
/**
* Shuffle the channels of the input tensor.
*
@@ -2863,6 +2915,7 @@
* the scale and zeroPoint must be the same as input0.
*/
CHANNEL_SHUFFLE = 46,
+
/**
* Apply postprocessing steps to bounding box detections.
*
@@ -2942,6 +2995,7 @@
* specifying the number of valid output detections for each batch.
*/
DETECTION_POSTPROCESSING = 47,
+
/**
* For input tensors x and y, computes x == y elementwise.
*
@@ -2966,6 +3020,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
EQUAL = 48,
+
/**
* Computes exponential of x element-wise.
*
@@ -2982,6 +3037,7 @@
* * 0: The output tensor of same shape as input0.
*/
EXP = 49,
+
/**
* Inserts a dimension of 1 into a tensor's shape.
*
@@ -3012,6 +3068,7 @@
* the scale and zeroPoint must be the same as input0.
*/
EXPAND_DIMS = 50,
+
/**
* Gathers values along an axis.
*
@@ -3051,6 +3108,7 @@
* the scale and zeroPoint must be the same as input0.
*/
GATHER = 51,
+
/**
* Generate aixs-aligned bounding box proposals.
*
@@ -3132,6 +3190,7 @@
* with the same batch index are grouped together.
*/
GENERATE_PROPOSALS = 52,
+
/**
* For input tensors x and y, computes x > y elementwise.
*
@@ -3180,6 +3239,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
GREATER_EQUAL = 54,
+
/**
* Performs a grouped 2-D convolution operation.
*
@@ -3232,7 +3292,8 @@
* * * {@link OperandType::TENSOR_INT32} for bias (scale set to 0.0,
* * * each value scaling is separate and equal to input.scale * filter.scales[channel]).
*
- * * Quantized signed with filter symmetric per channel quantization (since HAL version 1.3):
+ * * Quantized signed with filter symmetric per channel quantization
+ * (since HAL version 1.3):
* * * {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.
* * * {@link OperandType::TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.
* * * {@link OperandType::TENSOR_INT32} for bias (scale set to 0.0,
@@ -3329,6 +3390,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
GROUPED_CONV_2D = 55,
+
/**
* Localize the maximum keypoints from heatmaps.
*
@@ -3382,6 +3444,7 @@
* scale must be 0.125 and the zero point must be 0.
*/
HEATMAP_MAX_KEYPOINT = 56,
+
/**
* Applies instance normalization to the input tensor.
*
@@ -3432,6 +3495,7 @@
* * 0: A tensor of the same {@link OperandType} and same shape as input0.
*/
INSTANCE_NORMALIZATION = 57,
+
/**
* For input tensors x and y, computes x < y elementwise.
*
@@ -3456,6 +3520,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
LESS = 58,
+
/**
* For input tensors x and y, computes x <= y elementwise.
*
@@ -3480,6 +3545,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
LESS_EQUAL = 59,
+
/**
* Computes natural logarithm of x element-wise.
*
@@ -3496,6 +3562,7 @@
* * 0: The output tensor of same shape as input0.
*/
LOG = 60,
+
/**
* Returns the truth value of x AND y element-wise.
*
@@ -3515,6 +3582,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
LOGICAL_AND = 61,
+
/**
* Computes the truth value of NOT x element-wise.
*
@@ -3530,6 +3598,7 @@
* * 0: The output tensor of same shape as input0.
*/
LOGICAL_NOT = 62,
+
/**
* Returns the truth value of x OR y element-wise.
*
@@ -3549,6 +3618,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
LOGICAL_OR = 63,
+
/**
* Computes the log softmax activations given logits.
*
@@ -3579,6 +3649,7 @@
* input0.
*/
LOG_SOFTMAX = 64,
+
/**
* Returns the element-wise maximum of two tensors.
*
@@ -3605,6 +3676,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
MAXIMUM = 65,
+
/**
* Returns the element-wise minimum of two tensors.
*
@@ -3631,6 +3703,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
MINIMUM = 66,
+
/**
* Computes numerical negative value element-wise.
*
@@ -3648,6 +3721,7 @@
* * 0: The output tensor of same shape as input0.
*/
NEG = 67,
+
/**
* For input tensors x and y, computes x != y elementwise.
*
@@ -3672,6 +3746,7 @@
* * 0: A tensor of {@link OperandType::TENSOR_BOOL8}.
*/
NOT_EQUAL = 68,
+
/**
* Pads a tensor with the given constant value according to the specified
* paddings.
@@ -3716,6 +3791,7 @@
* the scale and zeroPoint must be the same as input0.
*/
PAD_V2 = 69,
+
/**
* Computes the power of one value to another.
*
@@ -3745,6 +3821,7 @@
* * 0: An output tensor.
*/
POW = 70,
+
/**
* Parametric Rectified Linear Unit.
*
@@ -3785,6 +3862,7 @@
* the scales and zeroPoint can be different from input0 scale and zeroPoint.
*/
PRELU = 71,
+
/**
* Quantizes the input tensor.
*
@@ -3816,6 +3894,7 @@
* {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED}.
*/
QUANTIZE = 72,
+
/**
* A version of quantized LSTM, using 16 bit quantization for internal
* state.
@@ -3920,6 +3999,7 @@
* (scale = 1/128, zeroPoint = 128).
*/
QUANTIZED_16BIT_LSTM = 73,
+
/**
* Draws samples from a multinomial distribution.
*
@@ -3940,6 +4020,7 @@
* [batches, samples], containing the drawn samples.
*/
RANDOM_MULTINOMIAL = 74,
+
/**
* Reduces a tensor by computing the "logical and" of elements along given
* dimensions.
@@ -3966,6 +4047,7 @@
* shape is [1].
*/
REDUCE_ALL = 75,
+
/**
* Reduces a tensor by computing the "logical or" of elements along given
* dimensions.
@@ -3992,6 +4074,7 @@
* shape is [1].
*/
REDUCE_ANY = 76,
+
/**
* Reduces a tensor by computing the maximum of elements along given
* dimensions.
@@ -4024,6 +4107,7 @@
* the scale and zeroPoint must be the same as input0.
*/
REDUCE_MAX = 77,
+
/**
* Reduces a tensor by computing the minimum of elements along given
* dimensions.
@@ -4056,6 +4140,7 @@
* the scale and zeroPoint must be the same as input0.
*/
REDUCE_MIN = 78,
+
/**
* Reduces a tensor by multiplying elements along given dimensions.
*
@@ -4082,6 +4167,7 @@
* shape is [1].
*/
REDUCE_PROD = 79,
+
/**
* Reduces a tensor by summing elements along given dimensions.
*
@@ -4108,6 +4194,7 @@
* shape is [1].
*/
REDUCE_SUM = 80,
+
/**
* Select and scale the feature map of each region of interest to a unified
* output size by average pooling sampling points from bilinear interpolation.
@@ -4169,6 +4256,7 @@
* the scale and zeroPoint can be different from the input0 scale and zeroPoint.
*/
ROI_ALIGN = 81,
+
/**
* Select and scale the feature map of each region of interest to a unified
* output size by max-pooling.
@@ -4222,6 +4310,7 @@
* the scale and zeroPoint must be the same as input0.
*/
ROI_POOLING = 82,
+
/**
* Computes reciprocal of square root of x element-wise.
*
@@ -4238,6 +4327,7 @@
* * 0: The output tensor of same shape as input0.
*/
RSQRT = 83,
+
/**
* Using a tensor of booleans c and input tensors x and y select values
* elementwise from both input tensors:
@@ -4270,6 +4360,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
SELECT = 84,
+
/**
* Computes sin of x element-wise.
*
@@ -4286,6 +4377,7 @@
* * 0: The output tensor of same shape as input0.
*/
SIN = 85,
+
/**
* Extracts a slice of specified size from the input tensor starting at a
* specified location.
@@ -4321,6 +4413,7 @@
* its scale and zeroPoint has to be same as the input0 scale and zeroPoint.
*/
SLICE = 86,
+
/**
* Splits a tensor along a given axis into num_splits subtensors.
*
@@ -4347,6 +4440,7 @@
* the scale and zeroPoint must be the same as input0.
*/
SPLIT = 87,
+
/**
* Computes square root of x element-wise.
*
@@ -4363,6 +4457,7 @@
* * 0: The output tensor of same shape as input0.
*/
SQRT = 88,
+
/**
* Constructs a tensor by tiling a given tensor.
*
@@ -4393,6 +4488,7 @@
* the scale and zeroPoint must be the same as input0.
*/
TILE = 89,
+
/**
* Finds values and indices of the k largest entries for the last dimension.
*
@@ -4423,6 +4519,7 @@
* containing the indices of values within the last dimension of input.
*/
TOPK_V2 = 90,
+
/**
* Performs the transpose of 2-D convolution operation.
*
@@ -4457,7 +4554,8 @@
* * * {@link OperandType::TENSOR_INT32} for bias (with scale set to
* * * input.scale * filter.scale).
*
- * * Quantized signed with filter symmetric per channel quantization (since HAL version 1.3):
+ * * Quantized signed with filter symmetric per channel quantization
+ * (since HAL version 1.3):
* * * {@link OperandType::TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.
* * * {@link OperandType::TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.
* * * {@link OperandType::TENSOR_INT32} for bias (scale set to 0.0,
@@ -4551,6 +4649,7 @@
* the scale and zeroPoint can be different from inputs' scale and zeroPoint.
*/
TRANSPOSE_CONV_2D = 91,
+
/**
* A recurrent neural network specified by an LSTM cell.
*
@@ -4668,6 +4767,7 @@
* Available since HAL version 1.3.
*/
UNIDIRECTIONAL_SEQUENCE_LSTM = 92,
+
/**
* A recurrent neural network layer that applies a basic RNN cell to a
* sequence of inputs.
@@ -4726,6 +4826,7 @@
* Available since HAL version 1.3.
*/
UNIDIRECTIONAL_SEQUENCE_RNN = 93,
+
/**
* Resizes images to given size using the nearest neighbor interpretation.
*
@@ -4804,6 +4905,7 @@
* the scale and zeroPoint must be the same as input0.
*/
RESIZE_NEAREST_NEIGHBOR = 94,
+
/**
* Quantized version of {@link OperationType::LSTM}.
*
@@ -4932,6 +5034,7 @@
* Shape: [batchSize, outputSize]
*/
QUANTIZED_LSTM = 95,
+
/**
* Executes one of the two referenced subgraphs as determined by a boolean
* value.
@@ -4958,6 +5061,7 @@
* * 0 ~ (m - 1): Outputs produced by the selected subgraph.
*/
IF = 96,
+
/**
* Executes the body subgraph until the condition subgraph outputs false.
*
@@ -5024,6 +5128,7 @@
* * 0 ~ (m - 1): Outputs produced by the loop.
*/
WHILE = 97,
+
/**
* Computes exponential linear activation on the input tensor element-wise.
*
@@ -5049,6 +5154,7 @@
* * 0: The output tensor of same shape and type as input0.
*/
ELU = 98,
+
/**
* Computes hard-swish activation on the input tensor element-wise.
*
@@ -5076,6 +5182,7 @@
* tensor's parameters.
*/
HARD_SWISH = 99,
+
/**
* Creates a tensor filled with a scalar value.
*
@@ -5100,6 +5207,7 @@
* * 0: The output tensor.
*/
FILL = 100,
+
/**
* Returns the rank of a tensor.
*
diff --git a/neuralnetworks/aidl/utils/Android.bp b/neuralnetworks/aidl/utils/Android.bp
index 508b1ea..3c80d75 100644
--- a/neuralnetworks/aidl/utils/Android.bp
+++ b/neuralnetworks/aidl/utils/Android.bp
@@ -31,7 +31,7 @@
export_include_dirs: ["include"],
cflags: ["-Wthread-safety"],
static_libs: [
- "android.hardware.graphics.common-V2-ndk",
+ "android.hardware.graphics.common-V3-ndk",
"libaidlcommonsupport",
"libarect",
"neuralnetworks_types",
@@ -57,7 +57,7 @@
],
static_libs: [
"android.hardware.common-V2-ndk",
- "android.hardware.graphics.common-V2-ndk",
+ "android.hardware.graphics.common-V3-ndk",
"android.hardware.neuralnetworks-V1-ndk",
"libaidlcommonsupport",
"libgmock",
diff --git a/neuralnetworks/aidl/vts/functional/Android.bp b/neuralnetworks/aidl/vts/functional/Android.bp
index 8fa9756..40da1fd 100644
--- a/neuralnetworks/aidl/vts/functional/Android.bp
+++ b/neuralnetworks/aidl/vts/functional/Android.bp
@@ -50,7 +50,7 @@
],
static_libs: [
"android.hardware.common-V2-ndk",
- "android.hardware.graphics.common-V2-ndk",
+ "android.hardware.graphics.common-V3-ndk",
"android.hardware.neuralnetworks-V1-ndk",
"android.hidl.allocator@1.0",
"android.hidl.memory@1.0",
diff --git a/nfc/1.0/vts/functional/OWNERS b/nfc/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..bf0e58b
--- /dev/null
+++ b/nfc/1.0/vts/functional/OWNERS
@@ -0,0 +1,3 @@
+# Bug component: 48448
+georgekgchang@google.com
+jackcwyu@google.com
diff --git a/nfc/1.1/vts/functional/OWNERS b/nfc/1.1/vts/functional/OWNERS
new file mode 100644
index 0000000..bf0e58b
--- /dev/null
+++ b/nfc/1.1/vts/functional/OWNERS
@@ -0,0 +1,3 @@
+# Bug component: 48448
+georgekgchang@google.com
+jackcwyu@google.com
diff --git a/power/1.0/vts/functional/OWNERS b/power/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..6de2cd5
--- /dev/null
+++ b/power/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 158088
+connoro@google.com
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
index 3583514..fee5ff3 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.0/vts/functional/radio_hidl_hal_test.cpp
@@ -17,12 +17,42 @@
#include <android-base/logging.h>
#include <radio_hidl_hal_utils_v1_0.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest::SetUp() {
- radio = IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+
+ radio = IRadio::getService(serviceName);
if (radio == NULL) {
LOG(DEBUG) << "Radio is NULL, waiting 1 minute to retry";
sleep(60);
- radio = IRadio::getService(GetParam());
+ radio = IRadio::getService(serviceName);
}
ASSERT_NE(nullptr, radio.get());
diff --git a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
index e3e9473..5d7f79f 100644
--- a/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
+++ b/radio/1.0/vts/functional/radio_hidl_hal_utils_v1_0.h
@@ -16,6 +16,7 @@
#include <android-base/logging.h>
+#include <log/log.h>
#include <chrono>
#include <condition_variable>
#include <mutex>
@@ -41,6 +42,15 @@
#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \
SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio, radioRsp)
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
+
class RadioHidlTest;
extern CardStatus cardStatus;
diff --git a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
index 020168e..509883d 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.1/vts/functional/radio_hidl_hal_test.cpp
@@ -16,11 +16,40 @@
#include <radio_hidl_hal_utils_v1_1.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest_v1_1::SetUp() {
- radio_v1_1 = ::android::hardware::radio::V1_1::IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+ radio_v1_1 = ::android::hardware::radio::V1_1::IRadio::getService(serviceName);
if (radio_v1_1 == NULL) {
sleep(60);
- radio_v1_1 = ::android::hardware::radio::V1_1::IRadio::getService(GetParam());
+ radio_v1_1 = ::android::hardware::radio::V1_1::IRadio::getService(serviceName);
}
ASSERT_NE(nullptr, radio_v1_1.get());
diff --git a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
index bafde77..e79a4ed 100644
--- a/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
+++ b/radio/1.1/vts/functional/radio_hidl_hal_utils_v1_1.h
@@ -43,6 +43,15 @@
#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \
SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio_v1_1, radioRsp_v1_1)
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
+
class RadioHidlTest_v1_1;
extern CardStatus cardStatus;
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
index 4845c7f..feadafc 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.2/vts/functional/radio_hidl_hal_test.cpp
@@ -16,11 +16,40 @@
#include <radio_hidl_hal_utils_v1_2.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest_v1_2::SetUp() {
- radio_v1_2 = ::android::hardware::radio::V1_2::IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+ radio_v1_2 = ::android::hardware::radio::V1_2::IRadio::getService(serviceName);
if (radio_v1_2 == NULL) {
sleep(60);
- radio_v1_2 = ::android::hardware::radio::V1_2::IRadio::getService(GetParam());
+ radio_v1_2 = ::android::hardware::radio::V1_2::IRadio::getService(serviceName);
}
ASSERT_NE(nullptr, radio_v1_2.get());
diff --git a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
index 81286d2..65ef7e9 100644
--- a/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
+++ b/radio/1.2/vts/functional/radio_hidl_hal_utils_v1_2.h
@@ -49,10 +49,18 @@
using ::android::hardware::radio::V1_0::RadioResponseType;
#define TIMEOUT_PERIOD 75
-#define RADIO_SERVICE_NAME "slot1"
#define SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL_VERSION_AT_LEAST(__ver__) \
SKIP_TEST_IF_REQUEST_NOT_SUPPORTED_WITH_HAL(__ver__, radio_v1_2, radioRsp_v1_2)
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
+
class RadioHidlTest_v1_2;
extern ::android::hardware::radio::V1_2::CardStatus cardStatus;
diff --git a/radio/1.3/vts/functional/radio_hidl_hal_test.cpp b/radio/1.3/vts/functional/radio_hidl_hal_test.cpp
index c6e5550..93a6c42 100644
--- a/radio/1.3/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.3/vts/functional/radio_hidl_hal_test.cpp
@@ -16,11 +16,40 @@
#include <radio_hidl_hal_utils_v1_3.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest_v1_3::SetUp() {
- radio_v1_3 = ::android::hardware::radio::V1_3::IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+ radio_v1_3 = ::android::hardware::radio::V1_3::IRadio::getService(serviceName);
if (radio_v1_3 == NULL) {
sleep(60);
- radio_v1_3 = ::android::hardware::radio::V1_3::IRadio::getService(GetParam());
+ radio_v1_3 = ::android::hardware::radio::V1_3::IRadio::getService(serviceName);
}
ASSERT_NE(nullptr, radio_v1_3.get());
diff --git a/radio/1.3/vts/functional/radio_hidl_hal_utils_v1_3.h b/radio/1.3/vts/functional/radio_hidl_hal_utils_v1_3.h
index 893eac5..ffda063 100644
--- a/radio/1.3/vts/functional/radio_hidl_hal_utils_v1_3.h
+++ b/radio/1.3/vts/functional/radio_hidl_hal_utils_v1_3.h
@@ -41,7 +41,15 @@
using ::android::hardware::Void;
#define TIMEOUT_PERIOD 75
-#define RADIO_SERVICE_NAME "slot1"
+
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
class RadioHidlTest_v1_3;
extern ::android::hardware::radio::V1_2::CardStatus cardStatus;
diff --git a/radio/1.4/vts/functional/radio_hidl_hal_test.cpp b/radio/1.4/vts/functional/radio_hidl_hal_test.cpp
index 4ac6cc9..af859ef 100644
--- a/radio/1.4/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.4/vts/functional/radio_hidl_hal_test.cpp
@@ -16,12 +16,41 @@
#include <radio_hidl_hal_utils_v1_4.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest_v1_4::SetUp() {
- radio_v1_4 = ::android::hardware::radio::V1_4::IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+ radio_v1_4 = ::android::hardware::radio::V1_4::IRadio::getService(serviceName);
if (radio_v1_4 == NULL) {
sleep(60);
- radio_v1_4 = ::android::hardware::radio::V1_4::IRadio::getService(GetParam());
+ radio_v1_4 = ::android::hardware::radio::V1_4::IRadio::getService(serviceName);
}
ASSERT_NE(nullptr, radio_v1_4.get());
diff --git a/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h b/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h
index 8eee811..8cad9b1 100644
--- a/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h
+++ b/radio/1.4/vts/functional/radio_hidl_hal_utils_v1_4.h
@@ -47,7 +47,14 @@
#define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3
#define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3
-#define RADIO_SERVICE_NAME "slot1"
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
class RadioHidlTest_v1_4;
extern ::android::hardware::radio::V1_4::CardStatus cardStatus;
diff --git a/radio/1.5/vts/functional/radio_hidl_hal_test.cpp b/radio/1.5/vts/functional/radio_hidl_hal_test.cpp
index 4155550..67dcd7c 100644
--- a/radio/1.5/vts/functional/radio_hidl_hal_test.cpp
+++ b/radio/1.5/vts/functional/radio_hidl_hal_test.cpp
@@ -16,8 +16,38 @@
#include <radio_hidl_hal_utils_v1_5.h>
+bool isServiceValidForDeviceConfiguration(hidl_string& serviceName) {
+ if (isSsSsEnabled()) {
+ // Device is configured as SSSS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME) {
+ ALOGI("%s instance is not valid for SSSS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isDsDsEnabled()) {
+ // Device is configured as DSDS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME) {
+ ALOGI("%s instance is not valid for DSDS device.", serviceName.c_str());
+ return false;
+ }
+ } else if (isTsTsEnabled()) {
+ // Device is configured as TSTS.
+ if (serviceName != RADIO_SERVICE_SLOT1_NAME && serviceName != RADIO_SERVICE_SLOT2_NAME &&
+ serviceName != RADIO_SERVICE_SLOT3_NAME) {
+ ALOGI("%s instance is not valid for TSTS device.", serviceName.c_str());
+ return false;
+ }
+ }
+ return true;
+}
+
void RadioHidlTest_v1_5::SetUp() {
- radio_v1_5 = android::hardware::radio::V1_5::IRadio::getService(GetParam());
+ hidl_string serviceName = GetParam();
+ if (!isServiceValidForDeviceConfiguration(serviceName)) {
+ ALOGI("Skipped the test due to device configuration.");
+ GTEST_SKIP();
+ }
+
+ radio_v1_5 = android::hardware::radio::V1_5::IRadio::getService(serviceName);
ASSERT_NE(nullptr, radio_v1_5.get());
radioRsp_v1_5 = new (std::nothrow) RadioResponse_v1_5(*this);
diff --git a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h
index 65442ca..41eb3b5 100644
--- a/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h
+++ b/radio/1.5/vts/functional/radio_hidl_hal_utils_v1_5.h
@@ -54,7 +54,14 @@
#define VOICE_SERVICE_MAX_WAIT_TIME_SECONDS 10
#define BARRING_INFO_MAX_WAIT_TIME_SECONDS 3
-#define RADIO_SERVICE_NAME "slot1"
+// HAL instance name for SIM slot 1 or single SIM device
+#define RADIO_SERVICE_SLOT1_NAME "slot1"
+
+// HAL instance name for SIM slot 2 on dual SIM device
+#define RADIO_SERVICE_SLOT2_NAME "slot2"
+
+// HAL instance name for SIM slot 3 on triple SIM device
+#define RADIO_SERVICE_SLOT3_NAME "slot3"
class RadioHidlTest_v1_5;
extern ::android::hardware::radio::V1_5::CardStatus cardStatus;
diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
index b146bb6..e07d2ba 100644
--- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
+++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp
@@ -275,7 +275,7 @@
msg.smscPdu = "";
msg.pdu = "01000b916105770203f3000006d4f29c3e9b01";
- radio_v1_6->sendSms(serial, msg);
+ radio_v1_6->sendSms_1_6(serial, msg);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
@@ -303,7 +303,7 @@
msg.smscPdu = "";
msg.pdu = "01000b916105770203f3000006d4f29c3e9b01";
- radio_v1_6->sendSMSExpectMore(serial, msg);
+ radio_v1_6->sendSmsExpectMore_1_6(serial, msg);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
@@ -351,7 +351,7 @@
cdmaSmsMessage.bearerData =
(std::vector<uint8_t>){15, 0, 3, 32, 3, 16, 1, 8, 16, 53, 76, 68, 6, 51, 106, 0};
- radio_v1_6->sendCdmaSms(serial, cdmaSmsMessage);
+ radio_v1_6->sendCdmaSms_1_6(serial, cdmaSmsMessage);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
@@ -398,7 +398,7 @@
cdmaSmsMessage.bearerData =
(std::vector<uint8_t>){15, 0, 3, 32, 3, 16, 1, 8, 16, 53, 76, 68, 6, 51, 106, 0};
- radio_v1_6->sendCdmaSmsExpectMore(serial, cdmaSmsMessage);
+ radio_v1_6->sendCdmaSmsExpectMore_1_6(serial, cdmaSmsMessage);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type);
@@ -464,12 +464,13 @@
radioRsp_v1_6->rspInfo.error,
{::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED}));
} else {
- ASSERT_TRUE(
- CheckAnyOfErrors(radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
- ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR,
- ::android::hardware::radio::V1_6::RadioError::INVALID_STATE,
- ::android::hardware::radio::V1_6::RadioError::NONE}));
+ ASSERT_TRUE(CheckAnyOfErrors(
+ radioRsp_v1_6->rspInfo.error,
+ {::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE,
+ ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR,
+ ::android::hardware::radio::V1_6::RadioError::INVALID_STATE,
+ ::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED,
+ ::android::hardware::radio::V1_6::RadioError::NONE}));
}
}
@@ -514,7 +515,8 @@
if (getRadioHalCapabilities()) {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED}));
+ {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED,
+ ::android::hardware::radio::V1_6::RadioError::NONE}));
} else {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
@@ -536,7 +538,8 @@
if (getRadioHalCapabilities()) {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED}));
+ {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED,
+ ::android::hardware::radio::V1_6::RadioError::NONE}));
} else {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
@@ -558,7 +561,8 @@
if (getRadioHalCapabilities()) {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED}));
+ {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED,
+ ::android::hardware::radio::V1_6::RadioError::NONE}));
} else {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
@@ -579,7 +583,8 @@
if (getRadioHalCapabilities()) {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
- {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED}));
+ {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED,
+ ::android::hardware::radio::V1_6::RadioError::NONE}));
} else {
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_6->rspInfo.error,
diff --git a/radio/aidl/Android.bp b/radio/aidl/Android.bp
index 29d7a58..88bdc2e 100644
--- a/radio/aidl/Android.bp
+++ b/radio/aidl/Android.bp
@@ -1,3 +1,12 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
aidl_interface {
name: "android.hardware.radio",
vendor_available: true,
@@ -18,37 +27,149 @@
},
}
-cc_library {
- name: "android.hardware.radio-translate-ndk",
+aidl_interface {
+ name: "android.hardware.radio.config",
vendor_available: true,
- srcs: ["android/hardware/radio/translate-ndk.cpp"],
- shared_libs: [
- "libbinder_ndk",
- "libhidlbase",
- "android.hardware.radio-V1-ndk_platform",
- "android.hardware.radio@1.0",
- "android.hardware.radio@1.1",
- "android.hardware.radio@1.2",
- "android.hardware.radio@1.3",
- "android.hardware.radio@1.4",
- "android.hardware.radio@1.5",
- "android.hardware.radio@1.6",
- ],
- export_include_dirs: ["include"],
+ srcs: ["android/hardware/radio/config/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
}
-java_library {
- name: "android.hardware.radio-translate-java",
- srcs: ["android/hardware/radio/Translate.java"],
- libs: [
- "android.hardware.radio-V1-java",
- "android.hardware.radio-V1.0-java",
- "android.hardware.radio-V1.1-java",
- "android.hardware.radio-V1.2-java",
- "android.hardware.radio-V1.3-java",
- "android.hardware.radio-V1.4-java",
- "android.hardware.radio-V1.5-java",
- "android.hardware.radio-V1.6-java",
- ],
- sdk_version: "module_current",
+aidl_interface {
+ name: "android.hardware.radio.data",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/data/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+aidl_interface {
+ name: "android.hardware.radio.messaging",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/messaging/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+aidl_interface {
+ name: "android.hardware.radio.modem",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/modem/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+aidl_interface {
+ name: "android.hardware.radio.network",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/network/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+aidl_interface {
+ name: "android.hardware.radio.sim",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/sim/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
+
+aidl_interface {
+ name: "android.hardware.radio.voice",
+ vendor_available: true,
+ srcs: ["android/hardware/radio/voice/*.aidl"],
+ stability: "vintf",
+ imports: ["android.hardware.radio"],
+ backend: {
+ cpp: {
+ enabled: false,
+ },
+ java: {
+ sdk_version: "module_current",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl
new file mode 100644
index 0000000..85106b8
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfig.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * This interface is used by telephony and telecom to talk to cellular radio for the purpose of
+ * radio configuration, and it is not associated with any specific modem or slot.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.config;
+@VintfStability
+interface IRadioConfig {
+ oneway void getHalDeviceCapabilities(in int serial);
+ oneway void getNumOfLiveModems(in int serial);
+ oneway void getPhoneCapability(in int serial);
+ oneway void getSimSlotsStatus(in int serial);
+ oneway void setNumOfLiveModems(in int serial, in byte numOfLiveModems);
+ oneway void setPreferredDataModem(in int serial, in byte modemId);
+ oneway void setResponseFunctions(in android.hardware.radio.config.IRadioConfigResponse radioConfigResponse, in android.hardware.radio.config.IRadioConfigIndication radioConfigIndication);
+ oneway void setSimSlotsMapping(in int serial, in int[] slotMap);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl
new file mode 100644
index 0000000..994e337
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigIndication.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.config;
+@VintfStability
+interface IRadioConfigIndication {
+ oneway void simSlotsStatusChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.config.SimSlotStatus[] slotStatus);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl
new file mode 100644
index 0000000..038b0ae
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/IRadioConfigResponse.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.config;
+@VintfStability
+interface IRadioConfigResponse {
+ oneway void getHalDeviceCapabilitiesResponse(in android.hardware.radio.RadioResponseInfo info, in boolean modemReducedFeatureSet1);
+ oneway void getNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info, in byte numOfLiveModems);
+ oneway void getPhoneCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.config.PhoneCapability phoneCapability);
+ oneway void getSimSlotsStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.config.SimSlotStatus[] slotStatus);
+ oneway void setNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setPreferredDataModemResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setSimSlotsMappingResponse(in android.hardware.radio.RadioResponseInfo info);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl
new file mode 100644
index 0000000..c60200c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/PhoneCapability.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.config;
+@VintfStability
+parcelable PhoneCapability {
+ byte maxActiveData;
+ byte maxActiveInternetData;
+ boolean isInternetLingeringSupported;
+ byte[] logicalModemIds;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl
new file mode 100644
index 0000000..3a716cf
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.config/current/android/hardware/radio/config/SimSlotStatus.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.config;
+@VintfStability
+parcelable SimSlotStatus {
+ boolean cardActive;
+ int cardState;
+ int slotState;
+ String atr;
+ int logicalSlotId;
+ String iccid;
+ String eid;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl
new file mode 100644
index 0000000..929cfe3
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnAuthType.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@Backing(type="int") @VintfStability
+enum ApnAuthType {
+ NO_PAP_NO_CHAP = 0,
+ PAP_NO_CHAP = 1,
+ NO_PAP_CHAP = 2,
+ PAP_CHAP = 3,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl
new file mode 100644
index 0000000..6982d40
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/ApnTypes.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@Backing(type="int") @VintfStability
+enum ApnTypes {
+ NONE = 0,
+ DEFAULT = 1,
+ MMS = 2,
+ SUPL = 4,
+ DUN = 8,
+ HIPRI = 16,
+ FOTA = 32,
+ IMS = 64,
+ CBS = 128,
+ IA = 256,
+ EMERGENCY = 512,
+ MCX = 1024,
+ XCAP = 2048,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl
new file mode 100644
index 0000000..6130e71
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataCallFailCause.aidl
@@ -0,0 +1,377 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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.data;
+@Backing(type="int") @VintfStability
+enum DataCallFailCause {
+ NONE = 0,
+ OPERATOR_BARRED = 8,
+ NAS_SIGNALLING = 14,
+ INSUFFICIENT_RESOURCES = 26,
+ MISSING_UNKNOWN_APN = 27,
+ UNKNOWN_PDP_ADDRESS_TYPE = 28,
+ USER_AUTHENTICATION = 29,
+ ACTIVATION_REJECT_GGSN = 30,
+ ACTIVATION_REJECT_UNSPECIFIED = 31,
+ SERVICE_OPTION_NOT_SUPPORTED = 32,
+ SERVICE_OPTION_NOT_SUBSCRIBED = 33,
+ SERVICE_OPTION_OUT_OF_ORDER = 34,
+ NSAPI_IN_USE = 35,
+ REGULAR_DEACTIVATION = 36,
+ QOS_NOT_ACCEPTED = 37,
+ NETWORK_FAILURE = 38,
+ UMTS_REACTIVATION_REQ = 39,
+ FEATURE_NOT_SUPP = 40,
+ TFT_SEMANTIC_ERROR = 41,
+ TFT_SYTAX_ERROR = 42,
+ UNKNOWN_PDP_CONTEXT = 43,
+ FILTER_SEMANTIC_ERROR = 44,
+ FILTER_SYTAX_ERROR = 45,
+ PDP_WITHOUT_ACTIVE_TFT = 46,
+ ONLY_IPV4_ALLOWED = 50,
+ ONLY_IPV6_ALLOWED = 51,
+ ONLY_SINGLE_BEARER_ALLOWED = 52,
+ ESM_INFO_NOT_RECEIVED = 53,
+ PDN_CONN_DOES_NOT_EXIST = 54,
+ MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55,
+ MAX_ACTIVE_PDP_CONTEXT_REACHED = 65,
+ UNSUPPORTED_APN_IN_CURRENT_PLMN = 66,
+ INVALID_TRANSACTION_ID = 81,
+ MESSAGE_INCORRECT_SEMANTIC = 95,
+ INVALID_MANDATORY_INFO = 96,
+ MESSAGE_TYPE_UNSUPPORTED = 97,
+ MSG_TYPE_NONCOMPATIBLE_STATE = 98,
+ UNKNOWN_INFO_ELEMENT = 99,
+ CONDITIONAL_IE_ERROR = 100,
+ MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101,
+ PROTOCOL_ERRORS = 111,
+ APN_TYPE_CONFLICT = 112,
+ INVALID_PCSCF_ADDR = 113,
+ INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114,
+ EMM_ACCESS_BARRED = 115,
+ EMERGENCY_IFACE_ONLY = 116,
+ IFACE_MISMATCH = 117,
+ COMPANION_IFACE_IN_USE = 118,
+ IP_ADDRESS_MISMATCH = 119,
+ IFACE_AND_POL_FAMILY_MISMATCH = 120,
+ EMM_ACCESS_BARRED_INFINITE_RETRY = 121,
+ AUTH_FAILURE_ON_EMERGENCY_CALL = 122,
+ OEM_DCFAILCAUSE_1 = 4097,
+ OEM_DCFAILCAUSE_2 = 4098,
+ OEM_DCFAILCAUSE_3 = 4099,
+ OEM_DCFAILCAUSE_4 = 4100,
+ OEM_DCFAILCAUSE_5 = 4101,
+ OEM_DCFAILCAUSE_6 = 4102,
+ OEM_DCFAILCAUSE_7 = 4103,
+ OEM_DCFAILCAUSE_8 = 4104,
+ OEM_DCFAILCAUSE_9 = 4105,
+ OEM_DCFAILCAUSE_10 = 4106,
+ OEM_DCFAILCAUSE_11 = 4107,
+ OEM_DCFAILCAUSE_12 = 4108,
+ OEM_DCFAILCAUSE_13 = 4109,
+ OEM_DCFAILCAUSE_14 = 4110,
+ OEM_DCFAILCAUSE_15 = 4111,
+ VOICE_REGISTRATION_FAIL = -1,
+ DATA_REGISTRATION_FAIL = -2,
+ SIGNAL_LOST = -3,
+ PREF_RADIO_TECH_CHANGED = -4,
+ RADIO_POWER_OFF = -5,
+ TETHERED_CALL_ACTIVE = -6,
+ ERROR_UNSPECIFIED = 65535,
+ LLC_SNDCP = 25,
+ ACTIVATION_REJECTED_BCM_VIOLATION = 48,
+ COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56,
+ ONLY_IPV4V6_ALLOWED = 57,
+ ONLY_NON_IP_ALLOWED = 58,
+ UNSUPPORTED_QCI_VALUE = 59,
+ BEARER_HANDLING_NOT_SUPPORTED = 60,
+ INVALID_DNS_ADDR = 123,
+ INVALID_PCSCF_OR_DNS_ADDRESS = 124,
+ CALL_PREEMPT_BY_EMERGENCY_APN = 127,
+ UE_INITIATED_DETACH_OR_DISCONNECT = 128,
+ MIP_FA_REASON_UNSPECIFIED = 2000,
+ MIP_FA_ADMIN_PROHIBITED = 2001,
+ MIP_FA_INSUFFICIENT_RESOURCES = 2002,
+ MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003,
+ MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004,
+ MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005,
+ MIP_FA_MALFORMED_REQUEST = 2006,
+ MIP_FA_MALFORMED_REPLY = 2007,
+ MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008,
+ MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009,
+ MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010,
+ MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011,
+ MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012,
+ MIP_FA_MISSING_NAI = 2013,
+ MIP_FA_MISSING_HOME_AGENT = 2014,
+ MIP_FA_MISSING_HOME_ADDRESS = 2015,
+ MIP_FA_UNKNOWN_CHALLENGE = 2016,
+ MIP_FA_MISSING_CHALLENGE = 2017,
+ MIP_FA_STALE_CHALLENGE = 2018,
+ MIP_HA_REASON_UNSPECIFIED = 2019,
+ MIP_HA_ADMIN_PROHIBITED = 2020,
+ MIP_HA_INSUFFICIENT_RESOURCES = 2021,
+ MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022,
+ MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023,
+ MIP_HA_REGISTRATION_ID_MISMATCH = 2024,
+ MIP_HA_MALFORMED_REQUEST = 2025,
+ MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026,
+ MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027,
+ MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028,
+ MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029,
+ CLOSE_IN_PROGRESS = 2030,
+ NETWORK_INITIATED_TERMINATION = 2031,
+ MODEM_APP_PREEMPTED = 2032,
+ PDN_IPV4_CALL_DISALLOWED = 2033,
+ PDN_IPV4_CALL_THROTTLED = 2034,
+ PDN_IPV6_CALL_DISALLOWED = 2035,
+ PDN_IPV6_CALL_THROTTLED = 2036,
+ MODEM_RESTART = 2037,
+ PDP_PPP_NOT_SUPPORTED = 2038,
+ UNPREFERRED_RAT = 2039,
+ PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040,
+ APN_PENDING_HANDOVER = 2041,
+ PROFILE_BEARER_INCOMPATIBLE = 2042,
+ SIM_CARD_CHANGED = 2043,
+ LOW_POWER_MODE_OR_POWERING_DOWN = 2044,
+ APN_DISABLED = 2045,
+ MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046,
+ IPV6_ADDRESS_TRANSFER_FAILED = 2047,
+ TRAT_SWAP_FAILED = 2048,
+ EHRPD_TO_HRPD_FALLBACK = 2049,
+ MIP_CONFIG_FAILURE = 2050,
+ PDN_INACTIVITY_TIMER_EXPIRED = 2051,
+ MAX_IPV4_CONNECTIONS = 2052,
+ MAX_IPV6_CONNECTIONS = 2053,
+ APN_MISMATCH = 2054,
+ IP_VERSION_MISMATCH = 2055,
+ DUN_CALL_DISALLOWED = 2056,
+ INTERNAL_EPC_NONEPC_TRANSITION = 2057,
+ INTERFACE_IN_USE = 2058,
+ APN_DISALLOWED_ON_ROAMING = 2059,
+ APN_PARAMETERS_CHANGED = 2060,
+ NULL_APN_DISALLOWED = 2061,
+ THERMAL_MITIGATION = 2062,
+ DATA_SETTINGS_DISABLED = 2063,
+ DATA_ROAMING_SETTINGS_DISABLED = 2064,
+ DDS_SWITCHED = 2065,
+ FORBIDDEN_APN_NAME = 2066,
+ DDS_SWITCH_IN_PROGRESS = 2067,
+ CALL_DISALLOWED_IN_ROAMING = 2068,
+ NON_IP_NOT_SUPPORTED = 2069,
+ PDN_NON_IP_CALL_THROTTLED = 2070,
+ PDN_NON_IP_CALL_DISALLOWED = 2071,
+ CDMA_LOCK = 2072,
+ CDMA_INTERCEPT = 2073,
+ CDMA_REORDER = 2074,
+ CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075,
+ CDMA_INCOMING_CALL = 2076,
+ CDMA_ALERT_STOP = 2077,
+ CHANNEL_ACQUISITION_FAILURE = 2078,
+ MAX_ACCESS_PROBE = 2079,
+ CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080,
+ NO_RESPONSE_FROM_BASE_STATION = 2081,
+ REJECTED_BY_BASE_STATION = 2082,
+ CONCURRENT_SERVICES_INCOMPATIBLE = 2083,
+ NO_CDMA_SERVICE = 2084,
+ RUIM_NOT_PRESENT = 2085,
+ CDMA_RETRY_ORDER = 2086,
+ ACCESS_BLOCK = 2087,
+ ACCESS_BLOCK_ALL = 2088,
+ IS707B_MAX_ACCESS_PROBES = 2089,
+ THERMAL_EMERGENCY = 2090,
+ CONCURRENT_SERVICES_NOT_ALLOWED = 2091,
+ INCOMING_CALL_REJECTED = 2092,
+ NO_SERVICE_ON_GATEWAY = 2093,
+ NO_GPRS_CONTEXT = 2094,
+ ILLEGAL_MS = 2095,
+ ILLEGAL_ME = 2096,
+ GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097,
+ GPRS_SERVICES_NOT_ALLOWED = 2098,
+ MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099,
+ IMPLICITLY_DETACHED = 2100,
+ PLMN_NOT_ALLOWED = 2101,
+ LOCATION_AREA_NOT_ALLOWED = 2102,
+ GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103,
+ PDP_DUPLICATE = 2104,
+ UE_RAT_CHANGE = 2105,
+ CONGESTION = 2106,
+ NO_PDP_CONTEXT_ACTIVATED = 2107,
+ ACCESS_CLASS_DSAC_REJECTION = 2108,
+ PDP_ACTIVATE_MAX_RETRY_FAILED = 2109,
+ RADIO_ACCESS_BEARER_FAILURE = 2110,
+ ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111,
+ DRB_RELEASED_BY_RRC = 2112,
+ CONNECTION_RELEASED = 2113,
+ EMM_DETACHED = 2114,
+ EMM_ATTACH_FAILED = 2115,
+ EMM_ATTACH_STARTED = 2116,
+ LTE_NAS_SERVICE_REQUEST_FAILED = 2117,
+ DUPLICATE_BEARER_ID = 2118,
+ ESM_COLLISION_SCENARIOS = 2119,
+ ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120,
+ ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121,
+ ESM_BAD_OTA_MESSAGE = 2122,
+ ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123,
+ ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124,
+ DS_EXPLICIT_DEACTIVATION = 2125,
+ ESM_LOCAL_CAUSE_NONE = 2126,
+ LTE_THROTTLING_NOT_REQUIRED = 2127,
+ ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128,
+ SERVICE_NOT_ALLOWED_ON_PLMN = 2129,
+ EMM_T3417_EXPIRED = 2130,
+ EMM_T3417_EXT_EXPIRED = 2131,
+ RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132,
+ RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133,
+ RRC_UPLINK_CONNECTION_RELEASE = 2134,
+ RRC_UPLINK_RADIO_LINK_FAILURE = 2135,
+ RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136,
+ RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137,
+ RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138,
+ RRC_CONNECTION_ACCESS_BARRED = 2139,
+ RRC_CONNECTION_CELL_RESELECTION = 2140,
+ RRC_CONNECTION_CONFIG_FAILURE = 2141,
+ RRC_CONNECTION_TIMER_EXPIRED = 2142,
+ RRC_CONNECTION_LINK_FAILURE = 2143,
+ RRC_CONNECTION_CELL_NOT_CAMPED = 2144,
+ RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145,
+ RRC_CONNECTION_REJECT_BY_NETWORK = 2146,
+ RRC_CONNECTION_NORMAL_RELEASE = 2147,
+ RRC_CONNECTION_RADIO_LINK_FAILURE = 2148,
+ RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149,
+ RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150,
+ RRC_CONNECTION_ABORT_REQUEST = 2151,
+ RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152,
+ NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153,
+ NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154,
+ ESM_PROCEDURE_TIME_OUT = 2155,
+ INVALID_CONNECTION_ID = 2156,
+ MAXIMIUM_NSAPIS_EXCEEDED = 2157,
+ INVALID_PRIMARY_NSAPI = 2158,
+ CANNOT_ENCODE_OTA_MESSAGE = 2159,
+ RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160,
+ PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161,
+ PDP_MODIFY_TIMEOUT_EXPIRED = 2162,
+ PDP_INACTIVE_TIMEOUT_EXPIRED = 2163,
+ PDP_LOWERLAYER_ERROR = 2164,
+ PDP_MODIFY_COLLISION = 2165,
+ MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166,
+ NAS_REQUEST_REJECTED_BY_NETWORK = 2167,
+ RRC_CONNECTION_INVALID_REQUEST = 2168,
+ RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169,
+ RRC_CONNECTION_RF_UNAVAILABLE = 2170,
+ RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171,
+ RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172,
+ RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173,
+ RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174,
+ RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175,
+ IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176,
+ IMEI_NOT_ACCEPTED = 2177,
+ EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178,
+ EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179,
+ MSC_TEMPORARILY_NOT_REACHABLE = 2180,
+ CS_DOMAIN_NOT_AVAILABLE = 2181,
+ ESM_FAILURE = 2182,
+ MAC_FAILURE = 2183,
+ SYNCHRONIZATION_FAILURE = 2184,
+ UE_SECURITY_CAPABILITIES_MISMATCH = 2185,
+ SECURITY_MODE_REJECTED = 2186,
+ UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187,
+ CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188,
+ NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189,
+ INVALID_EMM_STATE = 2190,
+ NAS_LAYER_FAILURE = 2191,
+ MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192,
+ EMBMS_NOT_ENABLED = 2193,
+ IRAT_HANDOVER_FAILED = 2194,
+ EMBMS_REGULAR_DEACTIVATION = 2195,
+ TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196,
+ LOWER_LAYER_REGISTRATION_FAILURE = 2197,
+ DATA_PLAN_EXPIRED = 2198,
+ UMTS_HANDOVER_TO_IWLAN = 2199,
+ EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200,
+ EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201,
+ EVDO_HDR_CHANGED = 2202,
+ EVDO_HDR_EXITED = 2203,
+ EVDO_HDR_NO_SESSION = 2204,
+ EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205,
+ EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206,
+ FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207,
+ OTASP_COMMIT_IN_PROGRESS = 2208,
+ NO_HYBRID_HDR_SERVICE = 2209,
+ HDR_NO_LOCK_GRANTED = 2210,
+ DBM_OR_SMS_IN_PROGRESS = 2211,
+ HDR_FADE = 2212,
+ HDR_ACCESS_FAILURE = 2213,
+ UNSUPPORTED_1X_PREV = 2214,
+ LOCAL_END = 2215,
+ NO_SERVICE = 2216,
+ FADE = 2217,
+ NORMAL_RELEASE = 2218,
+ ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219,
+ REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220,
+ EMERGENCY_MODE = 2221,
+ PHONE_IN_USE = 2222,
+ INVALID_MODE = 2223,
+ INVALID_SIM_STATE = 2224,
+ NO_COLLOCATED_HDR = 2225,
+ UE_IS_ENTERING_POWERSAVE_MODE = 2226,
+ DUAL_SWITCH = 2227,
+ PPP_TIMEOUT = 2228,
+ PPP_AUTH_FAILURE = 2229,
+ PPP_OPTION_MISMATCH = 2230,
+ PPP_PAP_FAILURE = 2231,
+ PPP_CHAP_FAILURE = 2232,
+ PPP_CLOSE_IN_PROGRESS = 2233,
+ LIMITED_TO_IPV4 = 2234,
+ LIMITED_TO_IPV6 = 2235,
+ VSNCP_TIMEOUT = 2236,
+ VSNCP_GEN_ERROR = 2237,
+ VSNCP_APN_UNAUTHORIZED = 2238,
+ VSNCP_PDN_LIMIT_EXCEEDED = 2239,
+ VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240,
+ VSNCP_PDN_GATEWAY_UNREACHABLE = 2241,
+ VSNCP_PDN_GATEWAY_REJECT = 2242,
+ VSNCP_INSUFFICIENT_PARAMETERS = 2243,
+ VSNCP_RESOURCE_UNAVAILABLE = 2244,
+ VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245,
+ VSNCP_PDN_ID_IN_USE = 2246,
+ VSNCP_SUBSCRIBER_LIMITATION = 2247,
+ VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248,
+ VSNCP_RECONNECT_NOT_ALLOWED = 2249,
+ IPV6_PREFIX_UNAVAILABLE = 2250,
+ HANDOFF_PREFERENCE_CHANGED = 2251,
+ SLICE_REJECTED = 2252,
+ MATCH_ALL_RULE_NOT_ALLOWED = 2253,
+ ALL_MATCHING_RULES_FAILED = 2254,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl
new file mode 100644
index 0000000..cfcd42c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataProfileInfo.aidl
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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.data;
+@VintfStability
+parcelable DataProfileInfo {
+ int profileId;
+ String apn;
+ android.hardware.radio.data.PdpProtocolType protocol;
+ android.hardware.radio.data.PdpProtocolType roamingProtocol;
+ android.hardware.radio.data.ApnAuthType authType;
+ String user;
+ String password;
+ int type;
+ int maxConnsTime;
+ int maxConns;
+ int waitTime;
+ boolean enabled;
+ android.hardware.radio.data.ApnTypes supportedApnTypesBitmap;
+ android.hardware.radio.RadioAccessFamily bearerBitmap;
+ int mtuV4;
+ int mtuV6;
+ boolean preferred;
+ boolean persistent;
+ const int ID_DEFAULT = 0;
+ const int ID_TETHERED = 1;
+ const int ID_IMS = 2;
+ const int ID_FOTA = 3;
+ const int ID_CBS = 4;
+ const int ID_OEM_BASE = 1000;
+ const int ID_INVALID = -1;
+ const int TYPE_COMMON = 0;
+ const int TYPE_THREE_GPP = 1;
+ const int TYPE_THREE_GPP2 = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl
new file mode 100644
index 0000000..c94fa6f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataRequestReason.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@Backing(type="int") @VintfStability
+enum DataRequestReason {
+ NORMAL = 1,
+ SHUTDOWN = 2,
+ HANDOVER = 3,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl
new file mode 100644
index 0000000..c0ade45
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/DataThrottlingAction.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@Backing(type="byte") @VintfStability
+enum DataThrottlingAction {
+ NO_DATA_THROTTLING = 0,
+ THROTTLE_SECONDARY_CARRIER = 1,
+ THROTTLE_ANCHOR_CARRIER = 2,
+ HOLD = 3,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl
new file mode 100644
index 0000000..3636731
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/EpsQos.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable EpsQos {
+ int qci;
+ android.hardware.radio.data.QosBandwidth downlink;
+ android.hardware.radio.data.QosBandwidth uplink;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioData.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioData.aidl
new file mode 100644
index 0000000..a648675
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioData.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+interface IRadioData {
+ oneway void allocatePduSessionId(in int serial);
+ oneway void cancelHandover(in int serial, in int callId);
+ oneway void deactivateDataCall(in int serial, in int cid, in android.hardware.radio.data.DataRequestReason reason);
+ oneway void getDataCallList(in int serial);
+ oneway void getSlicingConfig(in int serial);
+ oneway void releasePduSessionId(in int serial, in int id);
+ oneway void responseAcknowledgement();
+ oneway void setDataAllowed(in int serial, in boolean allow);
+ oneway void setDataProfile(in int serial, in android.hardware.radio.data.DataProfileInfo[] profiles);
+ oneway void setDataThrottling(in int serial, in android.hardware.radio.data.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis);
+ oneway void setInitialAttachApn(in int serial, in android.hardware.radio.data.DataProfileInfo dataProfileInfo);
+ oneway void setResponseFunctions(in android.hardware.radio.data.IRadioDataResponse radioDataResponse, in android.hardware.radio.data.IRadioDataIndication radioDataIndication);
+ oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.data.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.data.DataRequestReason reason, in android.hardware.radio.data.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in @nullable android.hardware.radio.data.SliceInfo sliceInfo, in @nullable android.hardware.radio.data.TrafficDescriptor trafficDescriptor, in boolean matchAllRuleAllowed);
+ oneway void startHandover(in int serial, in int callId);
+ oneway void startKeepalive(in int serial, in android.hardware.radio.data.KeepaliveRequest keepalive);
+ oneway void stopKeepalive(in int serial, in int sessionHandle);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataIndication.aidl
new file mode 100644
index 0000000..e496c7b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataIndication.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+interface IRadioDataIndication {
+ oneway void dataCallListChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.SetupDataCallResult[] dcList);
+ oneway void keepaliveStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.KeepaliveStatus status);
+ oneway void pcoData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.data.PcoDataInfo pco);
+ oneway void unthrottleApn(in android.hardware.radio.RadioIndicationType type, in String apn);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataResponse.aidl
new file mode 100644
index 0000000..4edc17d
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/IRadioDataResponse.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+interface IRadioDataResponse {
+ oneway void acknowledgeRequest(in int serial);
+ oneway void allocatePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info, in int id);
+ oneway void cancelHandoverResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void deactivateDataCallResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void getDataCallListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SetupDataCallResult[] dcResponse);
+ oneway void getSlicingConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SlicingConfig slicingConfig);
+ oneway void releasePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setDataAllowedResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setDataProfileResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setDataThrottlingResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setInitialAttachApnResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setupDataCallResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.SetupDataCallResult dcResponse);
+ oneway void startHandoverResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void startKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.data.KeepaliveStatus status);
+ oneway void stopKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl
new file mode 100644
index 0000000..788adfb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveRequest.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable KeepaliveRequest {
+ int type;
+ byte[] sourceAddress;
+ int sourcePort;
+ byte[] destinationAddress;
+ int destinationPort;
+ int maxKeepaliveIntervalMillis;
+ int cid;
+ const int TYPE_NATT_IPV4 = 0;
+ const int TYPE_NATT_IPV6 = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl
new file mode 100644
index 0000000..4729b8e
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/KeepaliveStatus.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable KeepaliveStatus {
+ int sessionHandle;
+ int code;
+ const int CODE_ACTIVE = 0;
+ const int CODE_INACTIVE = 1;
+ const int CODE_PENDING = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl
new file mode 100644
index 0000000..9aee44c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/LinkAddress.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable LinkAddress {
+ String address;
+ int addressProperties;
+ long deprecationTime;
+ long expirationTime;
+ const int ADDRESS_PROPERTY_NONE = 0;
+ const int ADDRESS_PROPERTY_DEPRECATED = 32;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl
new file mode 100644
index 0000000..a8a1696
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/NrQos.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable NrQos {
+ int fiveQi;
+ android.hardware.radio.data.QosBandwidth downlink;
+ android.hardware.radio.data.QosBandwidth uplink;
+ byte qfi;
+ char averagingWindowMs;
+ const byte FLOW_ID_RANGE_MIN = 1;
+ const byte FLOW_ID_RANGE_MAX = 63;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl
new file mode 100644
index 0000000..205b1e9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/OsAppId.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable OsAppId {
+ byte[] osAppId;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl
new file mode 100644
index 0000000..edfa759
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PcoDataInfo.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable PcoDataInfo {
+ int cid;
+ String bearerProto;
+ int pcoId;
+ byte[] contents;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl
new file mode 100644
index 0000000..363cdf3
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PdpProtocolType.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@Backing(type="int") @VintfStability
+enum PdpProtocolType {
+ UNKNOWN = -1,
+ IP = 0,
+ IPV6 = 1,
+ IPV4V6 = 2,
+ PPP = 3,
+ NON_IP = 4,
+ UNSTRUCTURED = 5,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl
new file mode 100644
index 0000000..f3749ed
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/PortRange.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable PortRange {
+ int start;
+ int end;
+ const int PORT_RANGE_MIN = 20;
+ const int PORT_RANGE_MAX = 65535;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl
new file mode 100644
index 0000000..1981721
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/Qos.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+union Qos {
+ boolean noinit;
+ android.hardware.radio.data.EpsQos eps;
+ android.hardware.radio.data.NrQos nr;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl
new file mode 100644
index 0000000..d7ebe10
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosBandwidth.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable QosBandwidth {
+ int maxBitrateKbps;
+ int guaranteedBitrateKbps;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl
new file mode 100644
index 0000000..b9098f7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilter.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable QosFilter {
+ String[] localAddresses;
+ String[] remoteAddresses;
+ @nullable android.hardware.radio.data.PortRange localPort;
+ @nullable android.hardware.radio.data.PortRange remotePort;
+ byte protocol;
+ android.hardware.radio.data.QosFilterTypeOfService tos;
+ android.hardware.radio.data.QosFilterIpv6FlowLabel flowLabel;
+ android.hardware.radio.data.QosFilterIpsecSpi spi;
+ byte direction;
+ int precedence;
+ const byte DIRECTION_DOWNLINK = 0;
+ const byte DIRECTION_UPLINK = 1;
+ const byte DIRECTION_BIDIRECTIONAL = 2;
+ const byte PROTOCOL_UNSPECIFIED = -1;
+ const byte PROTOCOL_TCP = 6;
+ const byte PROTOCOL_UDP = 17;
+ const byte PROTOCOL_ESP = 50;
+ const byte PROTOCOL_AH = 51;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl
new file mode 100644
index 0000000..565e499
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpsecSpi.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+union QosFilterIpsecSpi {
+ boolean noinit;
+ int value;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl
new file mode 100644
index 0000000..16117b2
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+union QosFilterIpv6FlowLabel {
+ boolean noinit;
+ int value;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl
new file mode 100644
index 0000000..95fda16
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosFilterTypeOfService.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+union QosFilterTypeOfService {
+ boolean noinit;
+ byte value;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl
new file mode 100644
index 0000000..53dcef0
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/QosSession.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable QosSession {
+ int qosSessionId;
+ android.hardware.radio.data.Qos qos;
+ android.hardware.radio.data.QosFilter[] qosFilters;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl
new file mode 100644
index 0000000..02596a1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/RouteSelectionDescriptor.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable RouteSelectionDescriptor {
+ byte precedence;
+ android.hardware.radio.data.PdpProtocolType sessionType;
+ byte sscMode;
+ android.hardware.radio.data.SliceInfo[] sliceInfo;
+ String[] dnn;
+ const byte SSC_MODE_UNKNOWN = -1;
+ const byte SSC_MODE_1 = 1;
+ const byte SSC_MODE_2 = 2;
+ const byte SSC_MODE_3 = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl
new file mode 100644
index 0000000..ff2459c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SetupDataCallResult.aidl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable SetupDataCallResult {
+ android.hardware.radio.data.DataCallFailCause cause;
+ long suggestedRetryTime;
+ int cid;
+ int active;
+ android.hardware.radio.data.PdpProtocolType type;
+ String ifname;
+ android.hardware.radio.data.LinkAddress[] addresses;
+ String[] dnses;
+ String[] gateways;
+ String[] pcscf;
+ int mtuV4;
+ int mtuV6;
+ android.hardware.radio.data.Qos defaultQos;
+ android.hardware.radio.data.QosSession[] qosSessions;
+ byte handoverFailureMode;
+ int pduSessionId;
+ @nullable android.hardware.radio.data.SliceInfo sliceInfo;
+ android.hardware.radio.data.TrafficDescriptor[] trafficDescriptors;
+ const int DATA_CONNECTION_STATUS_INACTIVE = 0;
+ const int DATA_CONNECTION_STATUS_DORMANT = 1;
+ const int DATA_CONNECTION_STATUS_ACTIVE = 2;
+ const byte HANDOVER_FAILURE_MODE_LEGACY = 0;
+ const byte HANDOVER_FAILURE_MODE_DO_FALLBACK = 1;
+ const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2;
+ const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl
new file mode 100644
index 0000000..0febcd1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SliceInfo.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable SliceInfo {
+ byte sliceServiceType;
+ int sliceDifferentiator;
+ byte mappedHplmnSst;
+ int mappedHplmnSD;
+ byte status;
+ const byte SERVICE_TYPE_NONE = 0;
+ const byte SERVICE_TYPE_EMBB = 1;
+ const byte SERVICE_TYPE_URLLC = 2;
+ const byte SERVICE_TYPE_MIOT = 3;
+ const byte STATUS_UNKNOWN = 0;
+ const byte STATUS_CONFIGURED = 1;
+ const byte STATUS_ALLOWED = 2;
+ const byte STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN = 3;
+ const byte STATUS_REJECTED_NOT_AVAILABLE_IN_REG_AREA = 4;
+ const byte STATUS_DEFAULT_CONFIGURED = 5;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl
new file mode 100644
index 0000000..54e2f12
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/SlicingConfig.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable SlicingConfig {
+ android.hardware.radio.data.UrspRule[] urspRules;
+ android.hardware.radio.data.SliceInfo[] sliceInfo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl
new file mode 100644
index 0000000..d5079c1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/TrafficDescriptor.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable TrafficDescriptor {
+ @nullable String dnn;
+ @nullable android.hardware.radio.data.OsAppId osAppId;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl
new file mode 100644
index 0000000..c0be054
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.data/current/android/hardware/radio/data/UrspRule.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.data;
+@VintfStability
+parcelable UrspRule {
+ int precedence;
+ android.hardware.radio.data.TrafficDescriptor[] trafficDescriptors;
+ android.hardware.radio.data.RouteSelectionDescriptor[] routeSelectionDescriptor;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl
new file mode 100644
index 0000000..54e8a7b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaBroadcastSmsConfigInfo {
+ int serviceCategory;
+ int language;
+ boolean selected;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl
new file mode 100644
index 0000000..0de1688
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAck.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaSmsAck {
+ boolean errorClass;
+ int smsCauseCode;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl
new file mode 100644
index 0000000..4a55745
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsAddress.aidl
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaSmsAddress {
+ int digitMode;
+ boolean isNumberModeDataNetwork;
+ int numberType;
+ int numberPlan;
+ byte[] digits;
+ const int DIGIT_MODE_FOUR_BIT = 0;
+ const int DIGIT_MODE_EIGHT_BIT = 1;
+ const int NUMBER_PLAN_UNKNOWN = 0;
+ const int NUMBER_PLAN_TELEPHONY = 1;
+ const int NUMBER_PLAN_RESERVED_2 = 2;
+ const int NUMBER_PLAN_DATA = 3;
+ const int NUMBER_PLAN_TELEX = 4;
+ const int NUMBER_PLAN_RESERVED_5 = 5;
+ const int NUMBER_PLAN_RESERVED_6 = 6;
+ const int NUMBER_PLAN_RESERVED_7 = 7;
+ const int NUMBER_PLAN_RESERVED_8 = 8;
+ const int NUMBER_PLAN_PRIVATE = 9;
+ const int NUMBER_PLAN_RESERVED_10 = 10;
+ const int NUMBER_PLAN_RESERVED_11 = 11;
+ const int NUMBER_PLAN_RESERVED_12 = 12;
+ const int NUMBER_PLAN_RESERVED_13 = 13;
+ const int NUMBER_PLAN_RESERVED_14 = 14;
+ const int NUMBER_PLAN_RESERVED_15 = 15;
+ const int NUMBER_TYPE_UNKNOWN = 0;
+ const int NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP = 1;
+ const int NUMBER_TYPE_NATIONAL_OR_INTERNET_MAIL = 2;
+ const int NUMBER_TYPE_NETWORK = 3;
+ const int NUMBER_TYPE_SUBSCRIBER = 4;
+ const int NUMBER_TYPE_ALPHANUMERIC = 5;
+ const int NUMBER_TYPE_ABBREVIATED = 6;
+ const int NUMBER_TYPE_RESERVED_7 = 7;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl
new file mode 100644
index 0000000..fdb74fb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsMessage.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaSmsMessage {
+ int teleserviceId;
+ boolean isServicePresent;
+ int serviceCategory;
+ android.hardware.radio.messaging.CdmaSmsAddress address;
+ android.hardware.radio.messaging.CdmaSmsSubaddress subAddress;
+ byte[] bearerData;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl
new file mode 100644
index 0000000..deb1102
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaSmsSubaddress {
+ int subaddressType;
+ boolean odd;
+ byte[] digits;
+ const int SUBADDRESS_TYPE_NSAP = 0;
+ const int SUBADDRESS_TYPE_USER_SPECIFIED = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl
new file mode 100644
index 0000000..4969663
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable CdmaSmsWriteArgs {
+ int status;
+ android.hardware.radio.messaging.CdmaSmsMessage message;
+ const int STATUS_REC_UNREAD = 0;
+ const int STATUS_REC_READ = 1;
+ const int STATUS_STO_UNSENT = 2;
+ const int STATUS_STO_SENT = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl
new file mode 100644
index 0000000..6cc7636
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable GsmBroadcastSmsConfigInfo {
+ int fromServiceId;
+ int toServiceId;
+ int fromCodeScheme;
+ int toCodeScheme;
+ boolean selected;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl
new file mode 100644
index 0000000..2937d5c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/GsmSmsMessage.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable GsmSmsMessage {
+ String smscPdu;
+ String pdu;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl
new file mode 100644
index 0000000..b0fc349
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessaging.aidl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+interface IRadioMessaging {
+ oneway void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu);
+ oneway void acknowledgeLastIncomingCdmaSms(in int serial, in android.hardware.radio.messaging.CdmaSmsAck smsAck);
+ oneway void acknowledgeLastIncomingGsmSms(in int serial, in boolean success, in android.hardware.radio.messaging.SmsAcknowledgeFailCause cause);
+ oneway void cancelPendingUssd(in int serial);
+ oneway void deleteSmsOnRuim(in int serial, in int index);
+ oneway void deleteSmsOnSim(in int serial, in int index);
+ oneway void getCdmaBroadcastConfig(in int serial);
+ oneway void getGsmBroadcastConfig(in int serial);
+ oneway void getSmscAddress(in int serial);
+ oneway void reportSmsMemoryStatus(in int serial, in boolean available);
+ oneway void responseAcknowledgement();
+ oneway void sendCdmaSms(in int serial, in android.hardware.radio.messaging.CdmaSmsMessage sms);
+ oneway void sendCdmaSmsExpectMore(in int serial, in android.hardware.radio.messaging.CdmaSmsMessage sms);
+ oneway void sendImsSms(in int serial, in android.hardware.radio.messaging.ImsSmsMessage message);
+ oneway void sendSms(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message);
+ oneway void sendSmsExpectMore(in int serial, in android.hardware.radio.messaging.GsmSmsMessage message);
+ oneway void sendUssd(in int serial, in String ussd);
+ oneway void setCdmaBroadcastActivation(in int serial, in boolean activate);
+ oneway void setCdmaBroadcastConfig(in int serial, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configInfo);
+ oneway void setGsmBroadcastActivation(in int serial, in boolean activate);
+ oneway void setGsmBroadcastConfig(in int serial, in android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo[] configInfo);
+ oneway void setResponseFunctions(in android.hardware.radio.messaging.IRadioMessagingResponse radioMessagingResponse, in android.hardware.radio.messaging.IRadioMessagingIndication radioMessagingIndication);
+ oneway void setSmscAddress(in int serial, in String smsc);
+ oneway void writeSmsToRuim(in int serial, in android.hardware.radio.messaging.CdmaSmsWriteArgs cdmaSms);
+ oneway void writeSmsToSim(in int serial, in android.hardware.radio.messaging.SmsWriteArgs smsWriteArgs);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl
new file mode 100644
index 0000000..89a0f3b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingIndication.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+interface IRadioMessagingIndication {
+ oneway void cdmaNewSms(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.messaging.CdmaSmsMessage msg);
+ oneway void cdmaRuimSmsStorageFull(in android.hardware.radio.RadioIndicationType type);
+ oneway void newBroadcastSms(in android.hardware.radio.RadioIndicationType type, in byte[] data);
+ oneway void newSms(in android.hardware.radio.RadioIndicationType type, in byte[] pdu);
+ oneway void newSmsOnSim(in android.hardware.radio.RadioIndicationType type, in int recordNumber);
+ oneway void newSmsStatusReport(in android.hardware.radio.RadioIndicationType type, in byte[] pdu);
+ oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.messaging.UssdModeType modeType, in String msg);
+ oneway void simSmsStorageFull(in android.hardware.radio.RadioIndicationType type);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl
new file mode 100644
index 0000000..156f24b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/IRadioMessagingResponse.aidl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+interface IRadioMessagingResponse {
+ oneway void acknowledgeIncomingGsmSmsWithPduResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void acknowledgeLastIncomingCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void acknowledgeLastIncomingGsmSmsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void acknowledgeRequest(in int serial);
+ oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void deleteSmsOnRuimResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void deleteSmsOnSimResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void getCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo[] configs);
+ oneway void getGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo[] configs);
+ oneway void getSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info, in String smsc);
+ oneway void reportSmsMemoryStatusResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void sendCdmaSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms);
+ oneway void sendCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms);
+ oneway void sendImsSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms);
+ oneway void sendSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms);
+ oneway void sendSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.messaging.SendSmsResult sms);
+ oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCdmaBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setGsmBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void writeSmsToRuimResponse(in android.hardware.radio.RadioResponseInfo info, in int index);
+ oneway void writeSmsToSimResponse(in android.hardware.radio.RadioResponseInfo info, in int index);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl
new file mode 100644
index 0000000..706bfdd
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/ImsSmsMessage.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable ImsSmsMessage {
+ android.hardware.radio.RadioTechnologyFamily tech;
+ boolean retry;
+ int messageRef;
+ android.hardware.radio.messaging.CdmaSmsMessage[] cdmaMessage;
+ android.hardware.radio.messaging.GsmSmsMessage[] gsmMessage;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl
new file mode 100644
index 0000000..0fbec6f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SendSmsResult.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable SendSmsResult {
+ int messageRef;
+ String ackPDU;
+ int errorCode;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl
new file mode 100644
index 0000000..b1f8ff8
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@Backing(type="int") @VintfStability
+enum SmsAcknowledgeFailCause {
+ MEMORY_CAPACITY_EXCEEDED = 211,
+ UNSPECIFIED_ERROR = 255,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl
new file mode 100644
index 0000000..1748b62
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/SmsWriteArgs.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@VintfStability
+parcelable SmsWriteArgs {
+ int status;
+ String pdu;
+ String smsc;
+ const int STATUS_REC_UNREAD = 0;
+ const int STATUS_REC_READ = 1;
+ const int STATUS_STO_UNSENT = 2;
+ const int STATUS_STO_SENT = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl
new file mode 100644
index 0000000..5395b11
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.messaging/current/android/hardware/radio/messaging/UssdModeType.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.messaging;
+@Backing(type="int") @VintfStability
+enum UssdModeType {
+ NOTIFY = 0,
+ REQUEST = 1,
+ NW_RELEASE = 2,
+ LOCAL_CLIENT = 3,
+ NOT_SUPPORTED = 4,
+ NW_TIMEOUT = 5,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl
new file mode 100644
index 0000000..2da0167
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ActivityStatsInfo.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable ActivityStatsInfo {
+ int sleepModeTimeMs;
+ int idleModeTimeMs;
+ int[] txmModetimeMs;
+ int rxModeTimeMs;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl
new file mode 100644
index 0000000..0f0006d
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/DeviceStateType.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@Backing(type="int") @VintfStability
+enum DeviceStateType {
+ POWER_SAVE_MODE = 0,
+ CHARGING_STATE = 1,
+ LOW_DATA_EXPECTED = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl
new file mode 100644
index 0000000..7593ca7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfig.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable HardwareConfig {
+ int type;
+ String uuid;
+ int state;
+ android.hardware.radio.modem.HardwareConfigModem[] modem;
+ android.hardware.radio.modem.HardwareConfigSim[] sim;
+ const int STATE_ENABLED = 0;
+ const int STATE_STANDBY = 1;
+ const int STATE_DISABLED = 2;
+ const int TYPE_MODEM = 0;
+ const int TYPE_SIM = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl
new file mode 100644
index 0000000..bf70995
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigModem.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable HardwareConfigModem {
+ int rilModel;
+ android.hardware.radio.RadioTechnology rat;
+ int maxVoiceCalls;
+ int maxDataCalls;
+ int maxStandby;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl
new file mode 100644
index 0000000..1b887c2
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/HardwareConfigSim.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable HardwareConfigSim {
+ String modemUuid;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModem.aidl
new file mode 100644
index 0000000..41eff51
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModem.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+interface IRadioModem {
+ oneway void enableModem(in int serial, in boolean on);
+ oneway void getBasebandVersion(in int serial);
+ oneway void getDeviceIdentity(in int serial);
+ oneway void getHardwareConfig(in int serial);
+ oneway void getModemActivityInfo(in int serial);
+ oneway void getModemStackStatus(in int serial);
+ oneway void getRadioCapability(in int serial);
+ oneway void nvReadItem(in int serial, in android.hardware.radio.modem.NvItem itemId);
+ oneway void nvResetConfig(in int serial, in android.hardware.radio.modem.ResetNvType resetType);
+ oneway void nvWriteCdmaPrl(in int serial, in byte[] prl);
+ oneway void nvWriteItem(in int serial, in android.hardware.radio.modem.NvWriteItem item);
+ oneway void requestShutdown(in int serial);
+ oneway void responseAcknowledgement();
+ oneway void sendDeviceState(in int serial, in android.hardware.radio.modem.DeviceStateType deviceStateType, in boolean state);
+ oneway void setRadioCapability(in int serial, in android.hardware.radio.modem.RadioCapability rc);
+ oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, in boolean preferredForEmergencyCall);
+ oneway void setResponseFunctions(in android.hardware.radio.modem.IRadioModemResponse radioModemResponse, in android.hardware.radio.modem.IRadioModemIndication radioModemIndication);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemIndication.aidl
new file mode 100644
index 0000000..514ff9a
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemIndication.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+interface IRadioModemIndication {
+ oneway void hardwareConfigChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.HardwareConfig[] configs);
+ oneway void modemReset(in android.hardware.radio.RadioIndicationType type, in String reason);
+ oneway void radioCapabilityIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.RadioCapability rc);
+ oneway void radioStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.modem.RadioState radioState);
+ oneway void rilConnected(in android.hardware.radio.RadioIndicationType type);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemResponse.aidl
new file mode 100644
index 0000000..dcaff45
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/IRadioModemResponse.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+interface IRadioModemResponse {
+ oneway void acknowledgeRequest(in int serial);
+ oneway void enableModemResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void getBasebandVersionResponse(in android.hardware.radio.RadioResponseInfo info, in String version);
+ oneway void getDeviceIdentityResponse(in android.hardware.radio.RadioResponseInfo info, in String imei, in String imeisv, in String esn, in String meid);
+ oneway void getHardwareConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.HardwareConfig[] config);
+ oneway void getModemActivityInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.ActivityStatsInfo activityInfo);
+ oneway void getModemStackStatusResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
+ oneway void getRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.RadioCapability rc);
+ oneway void nvReadItemResponse(in android.hardware.radio.RadioResponseInfo info, in String result);
+ oneway void nvResetConfigResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void nvWriteCdmaPrlResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void nvWriteItemResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void requestShutdownResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void sendDeviceStateResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.modem.RadioCapability rc);
+ oneway void setRadioPowerResponse(in android.hardware.radio.RadioResponseInfo info);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl
new file mode 100644
index 0000000..bda4ab7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvItem.aidl
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@Backing(type="int") @VintfStability
+enum NvItem {
+ CDMA_MEID = 1,
+ CDMA_MIN = 2,
+ CDMA_MDN = 3,
+ CDMA_ACCOLC = 4,
+ DEVICE_MSL = 11,
+ RTN_RECONDITIONED_STATUS = 12,
+ RTN_ACTIVATION_DATE = 13,
+ RTN_LIFE_TIMER = 14,
+ RTN_LIFE_CALLS = 15,
+ RTN_LIFE_DATA_TX = 16,
+ RTN_LIFE_DATA_RX = 17,
+ OMADM_HFA_LEVEL = 18,
+ MIP_PROFILE_NAI = 31,
+ MIP_PROFILE_HOME_ADDRESS = 32,
+ MIP_PROFILE_AAA_AUTH = 33,
+ MIP_PROFILE_HA_AUTH = 34,
+ MIP_PROFILE_PRI_HA_ADDR = 35,
+ MIP_PROFILE_SEC_HA_ADDR = 36,
+ MIP_PROFILE_REV_TUN_PREF = 37,
+ MIP_PROFILE_HA_SPI = 38,
+ MIP_PROFILE_AAA_SPI = 39,
+ MIP_PROFILE_MN_HA_SS = 40,
+ MIP_PROFILE_MN_AAA_SS = 41,
+ CDMA_PRL_VERSION = 51,
+ CDMA_BC10 = 52,
+ CDMA_BC14 = 53,
+ CDMA_SO68 = 54,
+ CDMA_SO73_COP0 = 55,
+ CDMA_SO73_COP1TO7 = 56,
+ CDMA_1X_ADVANCED_ENABLED = 57,
+ CDMA_EHRPD_ENABLED = 58,
+ CDMA_EHRPD_FORCED = 59,
+ LTE_BAND_ENABLE_25 = 71,
+ LTE_BAND_ENABLE_26 = 72,
+ LTE_BAND_ENABLE_41 = 73,
+ LTE_SCAN_PRIORITY_25 = 74,
+ LTE_SCAN_PRIORITY_26 = 75,
+ LTE_SCAN_PRIORITY_41 = 76,
+ LTE_HIDDEN_BAND_PRIORITY_25 = 77,
+ LTE_HIDDEN_BAND_PRIORITY_26 = 78,
+ LTE_HIDDEN_BAND_PRIORITY_41 = 79,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl
new file mode 100644
index 0000000..58e8498
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/NvWriteItem.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable NvWriteItem {
+ android.hardware.radio.modem.NvItem itemId;
+ String value;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl
new file mode 100644
index 0000000..d5716ac
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioCapability.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@VintfStability
+parcelable RadioCapability {
+ int session;
+ int phase;
+ android.hardware.radio.RadioAccessFamily raf;
+ String logicalModemUuid;
+ int status;
+ const int PHASE_CONFIGURED = 0;
+ const int PHASE_START = 1;
+ const int PHASE_APPLY = 2;
+ const int PHASE_UNSOL_RSP = 3;
+ const int PHASE_FINISH = 4;
+ const int STATUS_NONE = 0;
+ const int STATUS_SUCCESS = 1;
+ const int STATUS_FAIL = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl
new file mode 100644
index 0000000..4bde770
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/RadioState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@Backing(type="int") @VintfStability
+enum RadioState {
+ OFF = 0,
+ UNAVAILABLE = 1,
+ ON = 10,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl
new file mode 100644
index 0000000..81f2254
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.modem/current/android/hardware/radio/modem/ResetNvType.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.modem;
+@Backing(type="int") @VintfStability
+enum ResetNvType {
+ RELOAD = 0,
+ ERASE = 1,
+ FACTORY_RESET = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl
new file mode 100644
index 0000000..4a4a120
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+union AccessTechnologySpecificInfo {
+ boolean noinit;
+ android.hardware.radio.network.Cdma2000RegistrationInfo cdmaInfo;
+ android.hardware.radio.network.EutranRegistrationInfo eutranInfo;
+ android.hardware.radio.network.NrVopsInfo ngranNrVopsInfo;
+ boolean geranDtmSupported;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl
new file mode 100644
index 0000000..a96ef51
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringInfo.aidl
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 BarringInfo {
+ int serviceType;
+ int barringType;
+ @nullable android.hardware.radio.network.BarringTypeSpecificInfo barringTypeSpecificInfo;
+ const int BARRING_TYPE_NONE = 0;
+ const int BARRING_TYPE_CONDITIONAL = 1;
+ const int BARRING_TYPE_UNCONDITIONAL = 2;
+ const int SERVICE_TYPE_CS_SERVICE = 0;
+ const int SERVICE_TYPE_PS_SERVICE = 1;
+ const int SERVICE_TYPE_CS_VOICE = 2;
+ const int SERVICE_TYPE_MO_SIGNALLING = 3;
+ const int SERVICE_TYPE_MO_DATA = 4;
+ const int SERVICE_TYPE_CS_FALLBACK = 5;
+ const int SERVICE_TYPE_MMTEL_VOICE = 6;
+ const int SERVICE_TYPE_MMTEL_VIDEO = 7;
+ const int SERVICE_TYPE_EMERGENCY = 8;
+ const int SERVICE_TYPE_SMS = 9;
+ const int SERVICE_TYPE_OPERATOR_1 = 1001;
+ const int SERVICE_TYPE_OPERATOR_2 = 1002;
+ const int SERVICE_TYPE_OPERATOR_3 = 1003;
+ const int SERVICE_TYPE_OPERATOR_4 = 1004;
+ const int SERVICE_TYPE_OPERATOR_5 = 1005;
+ const int SERVICE_TYPE_OPERATOR_6 = 1006;
+ const int SERVICE_TYPE_OPERATOR_7 = 1007;
+ const int SERVICE_TYPE_OPERATOR_8 = 1008;
+ const int SERVICE_TYPE_OPERATOR_9 = 1009;
+ const int SERVICE_TYPE_OPERATOR_10 = 1010;
+ const int SERVICE_TYPE_OPERATOR_11 = 1011;
+ const int SERVICE_TYPE_OPERATOR_12 = 1012;
+ const int SERVICE_TYPE_OPERATOR_13 = 1013;
+ const int SERVICE_TYPE_OPERATOR_14 = 1014;
+ const int SERVICE_TYPE_OPERATOR_15 = 1015;
+ const int SERVICE_TYPE_OPERATOR_16 = 1016;
+ const int SERVICE_TYPE_OPERATOR_17 = 1017;
+ const int SERVICE_TYPE_OPERATOR_18 = 1018;
+ const int SERVICE_TYPE_OPERATOR_19 = 1019;
+ const int SERVICE_TYPE_OPERATOR_20 = 1020;
+ const int SERVICE_TYPE_OPERATOR_21 = 1021;
+ const int SERVICE_TYPE_OPERATOR_22 = 1022;
+ const int SERVICE_TYPE_OPERATOR_23 = 1023;
+ const int SERVICE_TYPE_OPERATOR_24 = 1024;
+ const int SERVICE_TYPE_OPERATOR_25 = 1025;
+ const int SERVICE_TYPE_OPERATOR_26 = 1026;
+ const int SERVICE_TYPE_OPERATOR_27 = 1027;
+ const int SERVICE_TYPE_OPERATOR_28 = 1028;
+ const int SERVICE_TYPE_OPERATOR_29 = 1029;
+ const int SERVICE_TYPE_OPERATOR_30 = 1030;
+ const int SERVICE_TYPE_OPERATOR_31 = 1031;
+ const int SERVICE_TYPE_OPERATOR_32 = 1032;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl
new file mode 100644
index 0000000..c04cdb5
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/BarringTypeSpecificInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 BarringTypeSpecificInfo {
+ int factor;
+ int timeSeconds;
+ boolean isBarred;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl
new file mode 100644
index 0000000..7d9292d
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 Cdma2000RegistrationInfo {
+ boolean cssSupported;
+ int roamingIndicator;
+ int systemIsInPrl;
+ int defaultRoamingIndicator;
+ const int PRL_INDICATOR_NOT_REGISTERED = -1;
+ const int PRL_INDICATOR_NOT_IN_PRL = 0;
+ const int PRL_INDICATOR_IN_PRL = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl
new file mode 100644
index 0000000..54c431b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaRoamingType.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum CdmaRoamingType {
+ HOME_NETWORK = 0,
+ AFFILIATED_ROAM = 1,
+ ANY_ROAM = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl
new file mode 100644
index 0000000..b4aee1c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CdmaSignalStrength.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaSignalStrength {
+ int dbm;
+ int ecio;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl
new file mode 100644
index 0000000..066cb60
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellConnectionStatus.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum CellConnectionStatus {
+ NONE = 0,
+ PRIMARY_SERVING = 1,
+ SECONDARY_SERVING = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl
new file mode 100644
index 0000000..1c68e8c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentity.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+union CellIdentity {
+ boolean noinit;
+ android.hardware.radio.network.CellIdentityGsm gsm;
+ android.hardware.radio.network.CellIdentityWcdma wcdma;
+ android.hardware.radio.network.CellIdentityTdscdma tdscdma;
+ android.hardware.radio.network.CellIdentityCdma cdma;
+ android.hardware.radio.network.CellIdentityLte lte;
+ android.hardware.radio.network.CellIdentityNr nr;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl
new file mode 100644
index 0000000..7dd1341
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityCdma.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityCdma {
+ int networkId;
+ int systemId;
+ int baseStationId;
+ int longitude;
+ int latitude;
+ android.hardware.radio.network.CellIdentityOperatorNames 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
new file mode 100644
index 0000000..3991af7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityGsm.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityGsm {
+ String mcc;
+ String mnc;
+ int lac;
+ int cid;
+ int arfcn;
+ byte bsic;
+ android.hardware.radio.network.CellIdentityOperatorNames 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
new file mode 100644
index 0000000..9ea0974
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityLte.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityLte {
+ String mcc;
+ String mnc;
+ int ci;
+ int pci;
+ int tac;
+ int earfcn;
+ android.hardware.radio.network.CellIdentityOperatorNames operatorNames;
+ int bandwidth;
+ String[] additionalPlmns;
+ @nullable android.hardware.radio.network.ClosedSubscriberGroupInfo csgInfo;
+ android.hardware.radio.network.EutranBands[] bands;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl
new file mode 100644
index 0000000..865e0dd
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityNr.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityNr {
+ String mcc;
+ String mnc;
+ long nci;
+ int pci;
+ int tac;
+ int nrarfcn;
+ android.hardware.radio.network.CellIdentityOperatorNames 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
new file mode 100644
index 0000000..a03f519
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityOperatorNames.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
new file mode 100644
index 0000000..836b5b5
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityTdscdma.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityTdscdma {
+ String mcc;
+ String mnc;
+ int lac;
+ int cid;
+ int cpid;
+ int uarfcn;
+ android.hardware.radio.network.CellIdentityOperatorNames 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
new file mode 100644
index 0000000..f832449
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellIdentityWcdma.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellIdentityWcdma {
+ String mcc;
+ String mnc;
+ int lac;
+ int cid;
+ int psc;
+ int uarfcn;
+ android.hardware.radio.network.CellIdentityOperatorNames 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/CellInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl
new file mode 100644
index 0000000..38e0a44
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfo {
+ boolean registered;
+ android.hardware.radio.network.CellConnectionStatus connectionStatus;
+ android.hardware.radio.network.CellInfoRatSpecificInfo ratSpecificInfo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl
new file mode 100644
index 0000000..d171a4b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoCdma.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoCdma {
+ android.hardware.radio.network.CellIdentityCdma cellIdentityCdma;
+ android.hardware.radio.network.CdmaSignalStrength signalStrengthCdma;
+ android.hardware.radio.network.EvdoSignalStrength signalStrengthEvdo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl
new file mode 100644
index 0000000..491b686
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoGsm.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoGsm {
+ android.hardware.radio.network.CellIdentityGsm cellIdentityGsm;
+ android.hardware.radio.network.GsmSignalStrength signalStrengthGsm;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl
new file mode 100644
index 0000000..67c5a18
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoLte.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoLte {
+ android.hardware.radio.network.CellIdentityLte cellIdentityLte;
+ android.hardware.radio.network.LteSignalStrength signalStrengthLte;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl
new file mode 100644
index 0000000..a094600
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoNr.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoNr {
+ android.hardware.radio.network.CellIdentityNr cellIdentityNr;
+ android.hardware.radio.network.NrSignalStrength signalStrengthNr;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl
new file mode 100644
index 0000000..4e0719c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+union CellInfoRatSpecificInfo {
+ android.hardware.radio.network.CellInfoGsm gsm;
+ android.hardware.radio.network.CellInfoWcdma wcdma;
+ android.hardware.radio.network.CellInfoTdscdma tdscdma;
+ android.hardware.radio.network.CellInfoLte lte;
+ android.hardware.radio.network.CellInfoNr nr;
+ android.hardware.radio.network.CellInfoCdma cdma;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl
new file mode 100644
index 0000000..d4e0874
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoTdscdma.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoTdscdma {
+ android.hardware.radio.network.CellIdentityTdscdma cellIdentityTdscdma;
+ android.hardware.radio.network.TdscdmaSignalStrength signalStrengthTdscdma;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl
new file mode 100644
index 0000000..da19e37
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/CellInfoWcdma.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CellInfoWcdma {
+ android.hardware.radio.network.CellIdentityWcdma cellIdentityWcdma;
+ android.hardware.radio.network.WcdmaSignalStrength signalStrengthWcdma;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl
new file mode 100644
index 0000000..5c45d93
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 ClosedSubscriberGroupInfo {
+ boolean csgIndication;
+ String homeNodebName;
+ int csgIdentity;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl
new file mode 100644
index 0000000..712bbdb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/Domain.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum Domain {
+ CS = 1,
+ PS = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl
new file mode 100644
index 0000000..6c94d15
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranBands.aidl
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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;
+@Backing(type="int") @VintfStability
+enum EutranBands {
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_4 = 4,
+ BAND_5 = 5,
+ BAND_6 = 6,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_9 = 9,
+ BAND_10 = 10,
+ BAND_11 = 11,
+ BAND_12 = 12,
+ BAND_13 = 13,
+ BAND_14 = 14,
+ BAND_17 = 17,
+ BAND_18 = 18,
+ BAND_19 = 19,
+ BAND_20 = 20,
+ BAND_21 = 21,
+ BAND_22 = 22,
+ BAND_23 = 23,
+ BAND_24 = 24,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ BAND_27 = 27,
+ BAND_28 = 28,
+ BAND_30 = 30,
+ BAND_31 = 31,
+ BAND_33 = 33,
+ BAND_34 = 34,
+ BAND_35 = 35,
+ BAND_36 = 36,
+ BAND_37 = 37,
+ BAND_38 = 38,
+ BAND_39 = 39,
+ BAND_40 = 40,
+ BAND_41 = 41,
+ BAND_42 = 42,
+ BAND_43 = 43,
+ BAND_44 = 44,
+ BAND_45 = 45,
+ BAND_46 = 46,
+ BAND_47 = 47,
+ BAND_48 = 48,
+ BAND_65 = 65,
+ BAND_66 = 66,
+ BAND_68 = 68,
+ BAND_70 = 70,
+ BAND_49 = 49,
+ BAND_50 = 50,
+ BAND_51 = 51,
+ BAND_52 = 52,
+ BAND_53 = 53,
+ BAND_71 = 71,
+ BAND_72 = 72,
+ BAND_73 = 73,
+ BAND_74 = 74,
+ BAND_85 = 85,
+ BAND_87 = 87,
+ BAND_88 = 88,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl
new file mode 100644
index 0000000..098b57e
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EutranRegistrationInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 EutranRegistrationInfo {
+ android.hardware.radio.network.LteVopsInfo lteVopsInfo;
+ android.hardware.radio.network.NrIndicators nrIndicators;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl
new file mode 100644
index 0000000..7ec1635
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/EvdoSignalStrength.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 EvdoSignalStrength {
+ int dbm;
+ int ecio;
+ int signalNoiseRatio;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl
new file mode 100644
index 0000000..7cb0fd5
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GeranBands.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum GeranBands {
+ BAND_T380 = 1,
+ BAND_T410 = 2,
+ BAND_450 = 3,
+ BAND_480 = 4,
+ BAND_710 = 5,
+ BAND_750 = 6,
+ BAND_T810 = 7,
+ BAND_850 = 8,
+ BAND_P900 = 9,
+ BAND_E900 = 10,
+ BAND_R900 = 11,
+ BAND_DCS1800 = 12,
+ BAND_PCS1900 = 13,
+ BAND_ER900 = 14,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl
new file mode 100644
index 0000000..4142ae7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/GsmSignalStrength.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 GsmSignalStrength {
+ int signalStrength;
+ int bitErrorRate;
+ int timingAdvance;
+}
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
new file mode 100644
index 0000000..bfb8061
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetwork.aidl
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioNetwork {
+ oneway void getAllowedNetworkTypesBitmap(in int serial);
+ oneway void getAvailableBandModes(in int serial);
+ oneway void getAvailableNetworks(in int serial);
+ oneway void getBarringInfo(in int serial);
+ oneway void getCdmaRoamingPreference(in int serial);
+ oneway void getCellInfoList(in int serial);
+ oneway void getDataRegistrationState(in int serial);
+ 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);
+ oneway void getSystemSelectionChannels(in int serial);
+ oneway void getVoiceRadioTechnology(in int serial);
+ oneway void getVoiceRegistrationState(in int serial);
+ oneway void isNrDualConnectivityEnabled(in int serial);
+ oneway void 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);
+ oneway void setBarringPassword(in int serial, in String facility, in String oldPassword, in String newPassword);
+ oneway void setCdmaRoamingPreference(in int serial, in android.hardware.radio.network.CdmaRoamingType type);
+ oneway void setCellInfoListRate(in int serial, in int rate);
+ oneway void setIndicationFilter(in int serial, in android.hardware.radio.network.IndicationFilter indicationFilter);
+ oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, in int[] thresholdsUplinkKbps, in android.hardware.radio.AccessNetwork accessNetwork);
+ oneway void setLocationUpdates(in int serial, in boolean enable);
+ oneway void setNetworkSelectionModeAutomatic(in int serial);
+ oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.AccessNetwork ran);
+ oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.network.NrDualConnectivityState nrDualConnectivityState);
+ oneway void setResponseFunctions(in android.hardware.radio.network.IRadioNetworkResponse radioNetworkResponse, in android.hardware.radio.network.IRadioNetworkIndication radioNetworkIndication);
+ oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.network.SignalThresholdInfo[] signalThresholdInfos);
+ oneway void setSuppServiceNotifications(in int serial, in boolean enable);
+ oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers);
+ oneway void startNetworkScan(in int serial, in android.hardware.radio.network.NetworkScanRequest request);
+ oneway void stopNetworkScan(in int serial);
+ oneway void supplyNetworkDepersonalization(in int serial, in String netPin);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkIndication.aidl
new file mode 100644
index 0000000..71b1765
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkIndication.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioNetworkIndication {
+ oneway void barringInfoChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellIdentity cellIdentity, in android.hardware.radio.network.BarringInfo[] barringInfos);
+ oneway void cdmaPrlChanged(in android.hardware.radio.RadioIndicationType type, in int version);
+ oneway void cellInfoList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellInfo[] records);
+ oneway void currentLinkCapacityEstimate(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.LinkCapacityEstimate lce);
+ oneway void currentPhysicalChannelConfigs(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.PhysicalChannelConfig[] configs);
+ oneway void currentSignalStrength(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.SignalStrength signalStrength);
+ oneway void imsNetworkStateChanged(in android.hardware.radio.RadioIndicationType type);
+ oneway void networkScanResult(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.NetworkScanResult result);
+ oneway void networkStateChanged(in android.hardware.radio.RadioIndicationType type);
+ oneway void nitzTimeReceived(in android.hardware.radio.RadioIndicationType type, in String nitzTime, in long receivedTime);
+ oneway void registrationFailed(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.CellIdentity cellIdentity, in String chosenPlmn, in android.hardware.radio.network.Domain domain, in int causeCode, in int additionalCauseCode);
+ oneway void restrictedStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.PhoneRestrictedState state);
+ oneway void suppSvcNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.network.SuppSvcNotification suppSvc);
+ oneway void voiceRadioTechChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioTechnology rat);
+}
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
new file mode 100644
index 0000000..e03e4df
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IRadioNetworkResponse.aidl
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioNetworkResponse {
+ oneway void acknowledgeRequest(in int serial);
+ oneway void getAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
+ oneway void getAvailableBandModesResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RadioBandMode[] bandModes);
+ oneway void getAvailableNetworksResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.OperatorInfo[] networkInfos);
+ oneway void getBarringInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CellIdentity cellIdentity, in android.hardware.radio.network.BarringInfo[] barringInfos);
+ oneway void getCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CdmaRoamingType type);
+ oneway void getCellInfoListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.CellInfo[] cellInfo);
+ oneway void getDataRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult dataRegResponse);
+ 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);
+ oneway void getSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RadioAccessSpecifier[] specifiers);
+ oneway void getVoiceRadioTechnologyResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioTechnology rat);
+ oneway void getVoiceRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.network.RegStateResult voiceRegResponse);
+ oneway void isNrDualConnectivityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
+ oneway void 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);
+ oneway void setCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCellInfoListRateResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setIndicationFilterResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setLinkCapacityReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setLocationUpdatesResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setNetworkSelectionModeAutomaticResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setNetworkSelectionModeManualResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setNrDualConnectivityStateResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setSignalStrengthReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setSuppServiceNotificationsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void startNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void stopNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void supplyNetworkDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl
new file mode 100644
index 0000000..f79ff2a
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/IndicationFilter.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum IndicationFilter {
+ NONE = 0,
+ ALL = -1,
+ SIGNAL_STRENGTH = 1,
+ FULL_NETWORK_STATE = 2,
+ DATA_CALL_DORMANCY_CHANGED = 4,
+ LINK_CAPACITY_ESTIMATE = 8,
+ PHYSICAL_CHANNEL_CONFIG = 16,
+ REGISTRATION_FAILURE = 32,
+ BARRING_INFO = 64,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl
new file mode 100644
index 0000000..1876465
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LceDataInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 LceDataInfo {
+ int lastHopCapacityKbps;
+ byte confidenceLevel;
+ boolean lceSuspended;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl
new file mode 100644
index 0000000..c34f177
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LinkCapacityEstimate.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 LinkCapacityEstimate {
+ int downlinkCapacityKbps;
+ int uplinkCapacityKbps;
+ int secondaryDownlinkCapacityKbps;
+ int secondaryUplinkCapacityKbps;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl
new file mode 100644
index 0000000..c7b41f1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteSignalStrength.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 LteSignalStrength {
+ int signalStrength;
+ int rsrp;
+ int rsrq;
+ int rssnr;
+ int cqi;
+ int timingAdvance;
+ int cqiTableIndex;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl
new file mode 100644
index 0000000..9f20b10
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/LteVopsInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 LteVopsInfo {
+ boolean isVopsSupported;
+ boolean isEmcBearerSupported;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl
new file mode 100644
index 0000000..4f29c0b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NeighboringCell.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NeighboringCell {
+ String cid;
+ int rssi;
+}
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
new file mode 100644
index 0000000..948a1f6
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanRequest.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NetworkScanRequest {
+ int type;
+ int interval;
+ android.hardware.radio.network.RadioAccessSpecifier[] specifiers;
+ int maxSearchTime;
+ boolean incrementalResults;
+ int incrementalResultsPeriodicity;
+ String[] mccMncs;
+ const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN = 1;
+ const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX = 10;
+ const int MAX_SEARCH_TIME_RANGE_MIN = 60;
+ const int MAX_SEARCH_TIME_RANGE_MAX = 3600;
+ const int SCAN_INTERVAL_RANGE_MIN = 5;
+ const int SCAN_INTERVAL_RANGE_MAX = 300;
+ const int SCAN_TYPE_ONE_SHOT = 0;
+ const int SCAN_TYPE_PERIODIC = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl
new file mode 100644
index 0000000..3dc3940
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NetworkScanResult.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NetworkScanResult {
+ int status;
+ android.hardware.radio.RadioError error;
+ android.hardware.radio.network.CellInfo[] networkInfos;
+ const int SCAN_STATUS_PARTIAL = 1;
+ const int SCAN_STATUS_COMPLETE = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl
new file mode 100644
index 0000000..aa60cde
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NgranBands.aidl
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum NgranBands {
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_5 = 5,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_12 = 12,
+ BAND_14 = 14,
+ BAND_18 = 18,
+ BAND_20 = 20,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ BAND_28 = 28,
+ BAND_29 = 29,
+ BAND_30 = 30,
+ BAND_34 = 34,
+ BAND_38 = 38,
+ BAND_39 = 39,
+ BAND_40 = 40,
+ BAND_41 = 41,
+ BAND_46 = 46,
+ BAND_48 = 48,
+ BAND_50 = 50,
+ BAND_51 = 51,
+ BAND_53 = 53,
+ BAND_65 = 65,
+ BAND_66 = 66,
+ BAND_70 = 70,
+ BAND_71 = 71,
+ BAND_74 = 74,
+ BAND_75 = 75,
+ BAND_76 = 76,
+ BAND_77 = 77,
+ BAND_78 = 78,
+ BAND_79 = 79,
+ BAND_80 = 80,
+ BAND_81 = 81,
+ BAND_82 = 82,
+ BAND_83 = 83,
+ BAND_84 = 84,
+ BAND_86 = 86,
+ BAND_89 = 89,
+ BAND_90 = 90,
+ BAND_91 = 91,
+ BAND_92 = 92,
+ BAND_93 = 93,
+ BAND_94 = 94,
+ BAND_95 = 95,
+ BAND_96 = 96,
+ BAND_257 = 257,
+ BAND_258 = 258,
+ BAND_260 = 260,
+ BAND_261 = 261,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl
new file mode 100644
index 0000000..6ee526f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrDualConnectivityState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="byte") @VintfStability
+enum NrDualConnectivityState {
+ ENABLE = 1,
+ DISABLE = 2,
+ DISABLE_IMMEDIATE = 3,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl
new file mode 100644
index 0000000..54f9b8f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrIndicators.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NrIndicators {
+ boolean isEndcAvailable;
+ boolean isDcNrRestricted;
+ boolean isNrAvailable;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl
new file mode 100644
index 0000000..14b60a6
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrSignalStrength.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NrSignalStrength {
+ int ssRsrp;
+ int ssRsrq;
+ int ssSinr;
+ int csiRsrp;
+ int csiRsrq;
+ int csiSinr;
+ int csiCqiTableIndex;
+ byte[] csiCqiReport;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl
new file mode 100644
index 0000000..7f58ee1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/NrVopsInfo.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 NrVopsInfo {
+ byte vopsSupported;
+ byte emcSupported;
+ byte emfSupported;
+ const byte EMC_INDICATOR_NOT_SUPPORTED = 0;
+ const byte EMC_INDICATOR_NR_CONNECTED_TO_5GCN = 1;
+ const byte EMC_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2;
+ const byte EMC_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3;
+ const byte EMF_INDICATOR_NOT_SUPPORTED = 0;
+ const byte EMF_INDICATOR_NR_CONNECTED_TO_5GCN = 1;
+ const byte EMF_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2;
+ const byte EMF_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3;
+ const byte VOPS_INDICATOR_VOPS_NOT_SUPPORTED = 0;
+ const byte VOPS_INDICATOR_VOPS_OVER_3GPP = 1;
+ const byte VOPS_INDICATOR_VOPS_OVER_NON_3GPP = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl
new file mode 100644
index 0000000..c3658d9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/OperatorInfo.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 OperatorInfo {
+ String alphaLong;
+ String alphaShort;
+ String operatorNumeric;
+ int status;
+ const int STATUS_UNKNOWN = 0;
+ const int STATUS_AVAILABLE = 1;
+ const int STATUS_CURRENT = 2;
+ const int STATUS_FORBIDDEN = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl
new file mode 100644
index 0000000..dff8be0
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhoneRestrictedState.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum PhoneRestrictedState {
+ NONE = 0,
+ CS_EMERGENCY = 1,
+ CS_NORMAL = 2,
+ CS_ALL = 4,
+ PS_ALL = 16,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl
new file mode 100644
index 0000000..8db6bc4
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfig.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 PhysicalChannelConfig {
+ android.hardware.radio.network.CellConnectionStatus status;
+ android.hardware.radio.RadioTechnology rat;
+ int downlinkChannelNumber;
+ int uplinkChannelNumber;
+ int cellBandwidthDownlinkKhz;
+ int cellBandwidthUplinkKhz;
+ int[] contextIds;
+ int physicalCellId;
+ android.hardware.radio.network.PhysicalChannelConfigBand band;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
new file mode 100644
index 0000000..50af816
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+union PhysicalChannelConfigBand {
+ boolean noinit;
+ android.hardware.radio.network.GeranBands geranBand;
+ android.hardware.radio.network.UtranBands utranBand;
+ android.hardware.radio.network.EutranBands eutranBand;
+ android.hardware.radio.network.NgranBands ngranBand;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl
new file mode 100644
index 0000000..b412f63
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifier.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 RadioAccessSpecifier {
+ android.hardware.radio.AccessNetwork accessNetwork;
+ android.hardware.radio.network.RadioAccessSpecifierBands bands;
+ int[] channels;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
new file mode 100644
index 0000000..d44a883
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+union RadioAccessSpecifierBands {
+ boolean noinit;
+ android.hardware.radio.network.GeranBands[] geranBands;
+ android.hardware.radio.network.UtranBands[] utranBands;
+ android.hardware.radio.network.EutranBands[] eutranBands;
+ android.hardware.radio.network.NgranBands[] ngranBands;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl
new file mode 100644
index 0000000..7266fd5
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RadioBandMode.aidl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum RadioBandMode {
+ BAND_MODE_UNSPECIFIED = 0,
+ BAND_MODE_EURO = 1,
+ BAND_MODE_USA = 2,
+ BAND_MODE_JPN = 3,
+ BAND_MODE_AUS = 4,
+ BAND_MODE_AUS_2 = 5,
+ BAND_MODE_CELL_800 = 6,
+ BAND_MODE_PCS = 7,
+ BAND_MODE_JTACS = 8,
+ BAND_MODE_KOREA_PCS = 9,
+ BAND_MODE_5_450M = 10,
+ BAND_MODE_IMT2000 = 11,
+ BAND_MODE_7_700M_2 = 12,
+ BAND_MODE_8_1800M = 13,
+ BAND_MODE_9_900M = 14,
+ BAND_MODE_10_800M_2 = 15,
+ BAND_MODE_EURO_PAMR_400M = 16,
+ BAND_MODE_AWS = 17,
+ BAND_MODE_USA_2500M = 18,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl
new file mode 100644
index 0000000..d10f413
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegState.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum RegState {
+ NOT_REG_MT_NOT_SEARCHING_OP = 0,
+ REG_HOME = 1,
+ NOT_REG_MT_SEARCHING_OP = 2,
+ REG_DENIED = 3,
+ UNKNOWN = 4,
+ REG_ROAMING = 5,
+ NOT_REG_MT_NOT_SEARCHING_OP_EM = 10,
+ NOT_REG_MT_SEARCHING_OP_EM = 12,
+ REG_DENIED_EM = 13,
+ UNKNOWN_EM = 14,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl
new file mode 100644
index 0000000..eff2216
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegStateResult.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 RegStateResult {
+ android.hardware.radio.network.RegState regState;
+ android.hardware.radio.RadioTechnology rat;
+ android.hardware.radio.network.RegistrationFailCause reasonForDenial;
+ android.hardware.radio.network.CellIdentity cellIdentity;
+ String registeredPlmn;
+ android.hardware.radio.network.AccessTechnologySpecificInfo accessTechnologySpecificInfo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl
new file mode 100644
index 0000000..75fcdf4
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/RegistrationFailCause.aidl
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum RegistrationFailCause {
+ NONE = 0,
+ IMSI_UNKNOWN_IN_HLR = 2,
+ ILLEGAL_MS = 3,
+ IMSI_UNKNOWN_IN_VLR = 4,
+ IMEI_NOT_ACCEPTED = 5,
+ ILLEGAL_ME = 6,
+ GPRS_SERVICES_NOT_ALLOWED = 7,
+ GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8,
+ MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9,
+ IMPLICITLY_DETACHED = 10,
+ PLMN_NOT_ALLOWED = 11,
+ LOCATION_AREA_NOT_ALLOWED = 12,
+ ROAMING_NOT_ALLOWED = 13,
+ GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14,
+ NO_SUITABLE_CELLS = 15,
+ MSC_TEMPORARILY_NOT_REACHABLE = 15,
+ NETWORK_FAILURE = 17,
+ MAC_FAILURE = 20,
+ SYNC_FAILURE = 21,
+ CONGESTION = 22,
+ GSM_AUTHENTICATION_UNACCEPTABLE = 23,
+ NOT_AUTHORIZED_FOR_THIS_CSG = 25,
+ SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA = 26,
+ SERVICE_OPTION_NOT_SUPPORTED = 32,
+ SERVICE_OPTION_NOT_SUBSCRIBED = 33,
+ SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
+ CALL_CANNOT_BE_IDENTIFIED = 38,
+ NO_PDP_CONTEXT_ACTIVATED = 40,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63,
+ SEMANTICALLY_INCORRECT_MESSAGE = 95,
+ INVALID_MANDATORY_INFORMATION = 96,
+ MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
+ MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
+ INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
+ CONDITIONAL_IE_ERROR = 100,
+ MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
+ PROTOCOL_ERROR_UNSPECIFIED = 111,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl
new file mode 100644
index 0000000..7187116
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalStrength.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 SignalStrength {
+ android.hardware.radio.network.GsmSignalStrength gsm;
+ android.hardware.radio.network.CdmaSignalStrength cdma;
+ android.hardware.radio.network.EvdoSignalStrength evdo;
+ android.hardware.radio.network.LteSignalStrength lte;
+ android.hardware.radio.network.TdscdmaSignalStrength tdscdma;
+ android.hardware.radio.network.WcdmaSignalStrength wcdma;
+ android.hardware.radio.network.NrSignalStrength nr;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl
new file mode 100644
index 0000000..159d9c1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SignalThresholdInfo.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 SignalThresholdInfo {
+ int signalMeasurement;
+ int hysteresisMs;
+ int hysteresisDb;
+ int[] thresholds;
+ boolean isEnabled;
+ android.hardware.radio.AccessNetwork ran;
+ const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1;
+ const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2;
+ const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3;
+ const int SIGNAL_MEASUREMENT_TYPE_RSRQ = 4;
+ const int SIGNAL_MEASUREMENT_TYPE_RSSNR = 5;
+ const int SIGNAL_MEASUREMENT_TYPE_SSRSRP = 6;
+ const int SIGNAL_MEASUREMENT_TYPE_SSRSRQ = 7;
+ const int SIGNAL_MEASUREMENT_TYPE_SSSINR = 8;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl
new file mode 100644
index 0000000..541754e
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/SuppSvcNotification.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 SuppSvcNotification {
+ boolean isMT;
+ int code;
+ int index;
+ int type;
+ String number;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl
new file mode 100644
index 0000000..a00345f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/TdscdmaSignalStrength.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 TdscdmaSignalStrength {
+ int signalStrength;
+ int bitErrorRate;
+ int rscp;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl
new file mode 100644
index 0000000..87d5b85
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/UtranBands.aidl
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum UtranBands {
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_4 = 4,
+ BAND_5 = 5,
+ BAND_6 = 6,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_9 = 9,
+ BAND_10 = 10,
+ BAND_11 = 11,
+ BAND_12 = 12,
+ BAND_13 = 13,
+ BAND_14 = 14,
+ BAND_19 = 19,
+ BAND_20 = 20,
+ BAND_21 = 21,
+ BAND_22 = 22,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ BAND_A = 101,
+ BAND_B = 102,
+ BAND_C = 103,
+ BAND_D = 104,
+ BAND_E = 105,
+ BAND_F = 106,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl
new file mode 100644
index 0000000..678ace9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.network/current/android/hardware/radio/network/WcdmaSignalStrength.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 WcdmaSignalStrength {
+ int signalStrength;
+ int bitErrorRate;
+ int rscp;
+ int ecno;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl
new file mode 100644
index 0000000..89d8f9a
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/AppStatus.aidl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable AppStatus {
+ int appType;
+ int appState;
+ android.hardware.radio.sim.PersoSubstate persoSubstate;
+ String aidPtr;
+ String appLabelPtr;
+ boolean pin1Replaced;
+ android.hardware.radio.sim.PinState pin1;
+ android.hardware.radio.sim.PinState pin2;
+ const int APP_STATE_UNKNOWN = 0;
+ const int APP_STATE_DETECTED = 1;
+ const int APP_STATE_PIN = 2;
+ const int APP_STATE_PUK = 3;
+ const int APP_STATE_SUBSCRIPTION_PERSO = 4;
+ const int APP_STATE_READY = 5;
+ const int APP_TYPE_UNKNOWN = 0;
+ const int APP_TYPE_SIM = 1;
+ const int APP_TYPE_USIM = 2;
+ const int APP_TYPE_RUIM = 3;
+ const int APP_TYPE_CSIM = 4;
+ const int APP_TYPE_ISIM = 5;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl
new file mode 100644
index 0000000..c0026ba
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardPowerState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="int") @VintfStability
+enum CardPowerState {
+ POWER_DOWN = 0,
+ POWER_UP = 1,
+ POWER_UP_PASS_THROUGH = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl
new file mode 100644
index 0000000..2d95b97
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CardStatus.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable CardStatus {
+ int cardState;
+ android.hardware.radio.sim.PinState universalPinState;
+ int gsmUmtsSubscriptionAppIndex;
+ int cdmaSubscriptionAppIndex;
+ int imsSubscriptionAppIndex;
+ android.hardware.radio.sim.AppStatus[] applications;
+ int physicalSlotId;
+ String atr;
+ String iccid;
+ String eid;
+ const int STATE_ABSENT = 0;
+ const int STATE_PRESENT = 1;
+ const int STATE_ERROR = 2;
+ const int STATE_RESTRICTED = 3;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl
new file mode 100644
index 0000000..c7fced1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/Carrier.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable Carrier {
+ String mcc;
+ String mnc;
+ int matchType;
+ String matchData;
+ const int MATCH_TYPE_ALL = 0;
+ const int MATCH_TYPE_SPN = 1;
+ const int MATCH_TYPE_IMSI_PREFIX = 2;
+ const int MATCH_TYPE_GID1 = 3;
+ const int MATCH_TYPE_GID2 = 4;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl
new file mode 100644
index 0000000..ef9c779
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable CarrierRestrictions {
+ android.hardware.radio.sim.Carrier[] allowedCarriers;
+ android.hardware.radio.sim.Carrier[] excludedCarriers;
+ boolean priority;
+ boolean allowedCarriersPrioritized;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
new file mode 100644
index 0000000..50e768c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="int") @VintfStability
+enum CdmaSubscriptionSource {
+ RUIM_SIM = 0,
+ NV = 1,
+}
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
new file mode 100644
index 0000000..cc5a53e
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSim.aidl
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+interface IRadioSim {
+ oneway void areUiccApplicationsEnabled(in int serial);
+ oneway void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid);
+ oneway void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid);
+ oneway void enableUiccApplications(in int serial, in boolean enable);
+ oneway void getAllowedCarriers(in int serial);
+ oneway void getCdmaSubscription(in int serial);
+ oneway void getCdmaSubscriptionSource(in int serial);
+ oneway void getFacilityLockForApp(in int serial, in String facility, in String password, in int serviceClass, in String appId);
+ oneway void getIccCardStatus(in int serial);
+ oneway void getImsiForApp(in int serial, in String aid);
+ oneway void getSimPhonebookCapacity(in int serial);
+ oneway void getSimPhonebookRecords(in int serial);
+ oneway void iccCloseLogicalChannel(in int serial, in int channelId);
+ oneway void iccIoForApp(in int serial, in android.hardware.radio.sim.IccIo iccIo);
+ oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2);
+ oneway void iccTransmitApduBasicChannel(in int serial, in android.hardware.radio.sim.SimApdu message);
+ oneway void iccTransmitApduLogicalChannel(in int serial, in android.hardware.radio.sim.SimApdu message);
+ oneway void reportStkServiceIsRunning(in int serial);
+ oneway void requestIccSimAuthentication(in int serial, in int authContext, in String authData, in String aid);
+ oneway void requestIsimAuthentication(in int serial, in String challenge);
+ oneway void responseAcknowledgement();
+ oneway void sendEnvelope(in int serial, in String command);
+ oneway void sendEnvelopeWithStatus(in int serial, in String contents);
+ oneway void sendTerminalResponseToSim(in int serial, in String commandResponse);
+ oneway void setAllowedCarriers(in int serial, in android.hardware.radio.sim.CarrierRestrictions carriers, in android.hardware.radio.sim.SimLockMultiSimPolicy multiSimPolicy);
+ oneway void setCarrierInfoForImsiEncryption(in int serial, in android.hardware.radio.sim.ImsiEncryptionInfo imsiEncryptionInfo);
+ oneway void setCdmaSubscriptionSource(in int serial, in android.hardware.radio.sim.CdmaSubscriptionSource cdmaSub);
+ oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState, in String password, in int serviceClass, in String appId);
+ oneway void setResponseFunctions(in android.hardware.radio.sim.IRadioSimResponse radioSimResponse, in android.hardware.radio.sim.IRadioSimIndication radioSimIndication);
+ oneway void setSimCardPower(in int serial, in android.hardware.radio.sim.CardPowerState powerUp);
+ oneway void setUiccSubscription(in int serial, in android.hardware.radio.sim.SelectUiccSub uiccSub);
+ oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid);
+ oneway void supplyIccPinForApp(in int serial, in String pin, in String aid);
+ oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid);
+ oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid);
+ oneway void supplySimDepersonalization(in int serial, in android.hardware.radio.sim.PersoSubstate persoType, in String controlKey);
+ oneway void updateSimPhonebookRecords(in int serial, in android.hardware.radio.sim.PhonebookRecordInfo recordInfo);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimIndication.aidl
new file mode 100644
index 0000000..d4371b8
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimIndication.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+interface IRadioSimIndication {
+ oneway void carrierInfoForImsiEncryption(in android.hardware.radio.RadioIndicationType info);
+ oneway void cdmaSubscriptionSourceChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.CdmaSubscriptionSource cdmaSource);
+ oneway void simPhonebookChanged(in android.hardware.radio.RadioIndicationType type);
+ oneway void simPhonebookRecordsReceived(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.PbReceivedStatus status, in android.hardware.radio.sim.PhonebookRecordInfo[] records);
+ oneway void simRefresh(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.sim.SimRefreshResult refreshResult);
+ oneway void simStatusChanged(in android.hardware.radio.RadioIndicationType type);
+ oneway void stkEventNotify(in android.hardware.radio.RadioIndicationType type, in String cmd);
+ oneway void stkProactiveCommand(in android.hardware.radio.RadioIndicationType type, in String cmd);
+ oneway void stkSessionEnd(in android.hardware.radio.RadioIndicationType type);
+ oneway void subscriptionStatusChanged(in android.hardware.radio.RadioIndicationType type, in boolean activate);
+ oneway void uiccApplicationsEnablementChanged(in android.hardware.radio.RadioIndicationType type, in boolean enabled);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl
new file mode 100644
index 0000000..e164257
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IRadioSimResponse.aidl
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+interface IRadioSimResponse {
+ oneway void acknowledgeRequest(in int serial);
+ oneway void areUiccApplicationsEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enabled);
+ oneway void changeIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void changeIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void enableUiccApplicationsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void getAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CarrierRestrictions carriers, in android.hardware.radio.sim.SimLockMultiSimPolicy multiSimPolicy);
+ oneway void getCdmaSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info, in String mdn, in String hSid, in String hNid, in String min, in String prl);
+ oneway void getCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CdmaSubscriptionSource source);
+ oneway void getFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int response);
+ oneway void getIccCardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.CardStatus cardStatus);
+ oneway void getImsiForAppResponse(in android.hardware.radio.RadioResponseInfo info, in String imsi);
+ oneway void getSimPhonebookCapacityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.PhonebookCapacity capacity);
+ oneway void getSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void iccCloseLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void iccIoForAppResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult iccIo);
+ oneway void iccOpenLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in int channelId, in byte[] selectResponse);
+ oneway void iccTransmitApduBasicChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result);
+ oneway void iccTransmitApduLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result);
+ oneway void reportStkServiceIsRunningResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void requestIccSimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.IccIoResult result);
+ oneway void 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);
+ oneway void setAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCarrierInfoForImsiEncryptionResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int retry);
+ oneway void setSimCardPowerResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setUiccSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void supplyIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void supplyIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void supplyIccPuk2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void supplyIccPukForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
+ oneway void supplySimDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.sim.PersoSubstate persoType, in int remainingRetries);
+ oneway void updateSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info, in int updatedRecordIndex);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl
new file mode 100644
index 0000000..3e4dcf6
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIo.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable IccIo {
+ int command;
+ int fileId;
+ String path;
+ int p1;
+ int p2;
+ int p3;
+ String data;
+ String pin2;
+ String aid;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl
new file mode 100644
index 0000000..58e43eb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/IccIoResult.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable IccIoResult {
+ int sw1;
+ int sw2;
+ String simResponse;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
new file mode 100644
index 0000000..087f399
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable ImsiEncryptionInfo {
+ String mcc;
+ String mnc;
+ byte[] carrierKey;
+ String keyIdentifier;
+ long expirationTime;
+ byte keyType;
+ const byte PUBLIC_KEY_TYPE_EPDG = 1;
+ const byte PUBLIC_KEY_TYPE_WLAN = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl
new file mode 100644
index 0000000..61babac
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PbReceivedStatus.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="byte") @VintfStability
+enum PbReceivedStatus {
+ PB_RECEIVED_OK = 1,
+ PB_RECEIVED_ERROR = 2,
+ PB_RECEIVED_ABORT = 3,
+ PB_RECEIVED_FINAL = 4,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl
new file mode 100644
index 0000000..a09d781
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PersoSubstate.aidl
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="int") @VintfStability
+enum PersoSubstate {
+ UNKNOWN = 0,
+ IN_PROGRESS = 1,
+ READY = 2,
+ SIM_NETWORK = 3,
+ SIM_NETWORK_SUBSET = 4,
+ SIM_CORPORATE = 5,
+ SIM_SERVICE_PROVIDER = 6,
+ SIM_SIM = 7,
+ SIM_NETWORK_PUK = 8,
+ SIM_NETWORK_SUBSET_PUK = 9,
+ SIM_CORPORATE_PUK = 10,
+ SIM_SERVICE_PROVIDER_PUK = 11,
+ SIM_SIM_PUK = 12,
+ RUIM_NETWORK1 = 13,
+ RUIM_NETWORK2 = 14,
+ RUIM_HRPD = 15,
+ RUIM_CORPORATE = 16,
+ RUIM_SERVICE_PROVIDER = 17,
+ RUIM_RUIM = 18,
+ RUIM_NETWORK1_PUK = 19,
+ RUIM_NETWORK2_PUK = 20,
+ RUIM_HRPD_PUK = 21,
+ RUIM_CORPORATE_PUK = 22,
+ RUIM_SERVICE_PROVIDER_PUK = 23,
+ RUIM_RUIM_PUK = 24,
+ SIM_SPN = 25,
+ SIM_SPN_PUK = 26,
+ SIM_SP_EHPLMN = 27,
+ SIM_SP_EHPLMN_PUK = 28,
+ SIM_ICCID = 29,
+ SIM_ICCID_PUK = 30,
+ SIM_IMPI = 31,
+ SIM_IMPI_PUK = 32,
+ SIM_NS_SP = 33,
+ SIM_NS_SP_PUK = 34,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl
new file mode 100644
index 0000000..c1fa765
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookCapacity.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable PhonebookCapacity {
+ int maxAdnRecords;
+ int usedAdnRecords;
+ int maxEmailRecords;
+ int usedEmailRecords;
+ int maxAdditionalNumberRecords;
+ int usedAdditionalNumberRecords;
+ int maxNameLen;
+ int maxNumberLen;
+ int maxEmailLen;
+ int maxAdditionalNumberLen;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl
new file mode 100644
index 0000000..36bc920
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PhonebookRecordInfo.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable PhonebookRecordInfo {
+ int recordId;
+ String name;
+ String number;
+ String[] emails;
+ String[] additionalNumbers;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl
new file mode 100644
index 0000000..c78b92c
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/PinState.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="int") @VintfStability
+enum PinState {
+ UNKNOWN = 0,
+ ENABLED_NOT_VERIFIED = 1,
+ ENABLED_VERIFIED = 2,
+ DISABLED = 3,
+ ENABLED_BLOCKED = 4,
+ ENABLED_PERM_BLOCKED = 5,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl
new file mode 100644
index 0000000..4842fbe
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SelectUiccSub.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable SelectUiccSub {
+ int slot;
+ int appIndex;
+ int subType;
+ int actStatus;
+ const int SUBSCRIPTION_TYPE_1 = 0;
+ const int SUBSCRIPTION_TYPE_2 = 1;
+ const int SUBSCRIPTION_TYPE_3 = 2;
+ const int ACT_STATUS_DEACTIVATE = 0;
+ const int ACT_STATUS_ACTIVATE = 1;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl
new file mode 100644
index 0000000..d8e1dde
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimApdu.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable SimApdu {
+ int sessionId;
+ int cla;
+ int instruction;
+ int p1;
+ int p2;
+ int p3;
+ String data;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
new file mode 100644
index 0000000..6fd89d5
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@Backing(type="int") @VintfStability
+enum SimLockMultiSimPolicy {
+ NO_MULTISIM_POLICY = 0,
+ ONE_VALID_SIM_MUST_BE_PRESENT = 1,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl
new file mode 100644
index 0000000..dd3c1f2
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/SimRefreshResult.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.sim;
+@VintfStability
+parcelable SimRefreshResult {
+ int type;
+ int efId;
+ String aid;
+ const int TYPE_SIM_FILE_UPDATE = 0;
+ const int TYPE_SIM_INIT = 1;
+ const int TYPE_SIM_RESET = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl
new file mode 100644
index 0000000..89bd2dc
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/AudioQuality.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum AudioQuality {
+ UNSPECIFIED = 0,
+ AMR = 1,
+ AMR_WB = 2,
+ GSM_EFR = 3,
+ GSM_FR = 4,
+ GSM_HR = 5,
+ EVRC = 6,
+ EVRC_B = 7,
+ EVRC_WB = 8,
+ EVRC_NW = 9,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl
new file mode 100644
index 0000000..7f44531
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Call.aidl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 Call {
+ int state;
+ int index;
+ int toa;
+ boolean isMpty;
+ boolean isMT;
+ byte als;
+ boolean isVoice;
+ boolean isVoicePrivacy;
+ String number;
+ int numberPresentation;
+ String name;
+ int namePresentation;
+ android.hardware.radio.voice.UusInfo[] uusInfo;
+ android.hardware.radio.voice.AudioQuality audioQuality;
+ String forwardedNumber;
+ const int PRESENTATION_ALLOWED = 0;
+ const int PRESENTATION_RESTRICTED = 1;
+ const int PRESENTATION_UNKNOWN = 2;
+ const int PRESENTATION_PAYPHONE = 3;
+ const int STATE_ACTIVE = 0;
+ const int STATE_HOLDING = 1;
+ const int STATE_DIALING = 2;
+ const int STATE_ALERTING = 3;
+ const int STATE_INCOMING = 4;
+ const int STATE_WAITING = 5;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl
new file mode 100644
index 0000000..7ef9e46
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CallForwardInfo.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CallForwardInfo {
+ int status;
+ int reason;
+ int serviceClass;
+ int toa;
+ String number;
+ int timeSeconds;
+ const int STATUS_DISABLE = 0;
+ const int STATUS_ENABLE = 1;
+ const int STATUS_INTERROGATE = 2;
+ const int STATUS_REGISTRATION = 3;
+ const int STATUS_ERASURE = 4;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl
new file mode 100644
index 0000000..9edf1e7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaCallWaiting.aidl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaCallWaiting {
+ String number;
+ int numberPresentation;
+ String name;
+ android.hardware.radio.voice.CdmaSignalInfoRecord signalInfoRecord;
+ int numberType;
+ int numberPlan;
+ const int NUMBER_PLAN_UNKNOWN = 0;
+ const int NUMBER_PLAN_ISDN = 1;
+ const int NUMBER_PLAN_DATA = 3;
+ const int NUMBER_PLAN_TELEX = 4;
+ const int NUMBER_PLAN_NATIONAL = 8;
+ const int NUMBER_PLAN_PRIVATE = 9;
+ const int NUMBER_PRESENTATION_ALLOWED = 0;
+ const int NUMBER_PRESENTATION_RESTRICTED = 1;
+ const int NUMBER_PRESENTATION_UNKNOWN = 2;
+ const int NUMBER_TYPE_UNKNOWN = 0;
+ const int NUMBER_TYPE_INTERNATIONAL = 1;
+ const int NUMBER_TYPE_NATIONAL = 2;
+ const int NUMBER_TYPE_NETWORK_SPECIFIC = 3;
+ const int NUMBER_TYPE_SUBSCRIBER = 4;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
new file mode 100644
index 0000000..579dd29
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaDisplayInfoRecord {
+ String alphaBuf;
+}
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
new file mode 100644
index 0000000..6648358
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecord.aidl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaInformationRecord {
+ int name;
+ android.hardware.radio.voice.CdmaDisplayInfoRecord[] display;
+ android.hardware.radio.voice.CdmaNumberInfoRecord[] number;
+ android.hardware.radio.voice.CdmaSignalInfoRecord[] signal;
+ android.hardware.radio.voice.CdmaRedirectingNumberInfoRecord[] redir;
+ android.hardware.radio.voice.CdmaLineControlInfoRecord[] lineCtrl;
+ android.hardware.radio.voice.CdmaT53ClirInfoRecord[] clir;
+ android.hardware.radio.voice.CdmaT53AudioControlInfoRecord[] audioCtrl;
+ const int NAME_DISPLAY = 0;
+ const int NAME_CALLED_PARTY_NUMBER = 1;
+ const int NAME_CALLING_PARTY_NUMBER = 2;
+ const int NAME_CONNECTED_NUMBER = 3;
+ const int NAME_SIGNAL = 4;
+ const int NAME_REDIRECTING_NUMBER = 5;
+ const int NAME_LINE_CONTROL = 6;
+ const int NAME_EXTENDED_DISPLAY = 7;
+ const int NAME_T53_CLIR = 8;
+ const int NAME_T53_RELEASE = 9;
+ const int NAME_T53_AUDIO_CONTROL = 10;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl
new file mode 100644
index 0000000..d7eecbb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaInformationRecords.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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/CdmaLineControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
new file mode 100644
index 0000000..d7f6cd4
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaLineControlInfoRecord {
+ byte lineCtrlPolarityIncluded;
+ byte lineCtrlToggle;
+ byte lineCtrlReverse;
+ byte lineCtrlPowerDenial;
+}
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
new file mode 100644
index 0000000..f3fcb2f
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaNumberInfoRecord {
+ String number;
+ byte numberType;
+ byte numberPlan;
+ byte pi;
+ byte si;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
new file mode 100644
index 0000000..5ea4e50
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum CdmaOtaProvisionStatus {
+ SPL_UNLOCKED = 0,
+ SPC_RETRIES_EXCEEDED = 1,
+ A_KEY_EXCHANGED = 2,
+ SSD_UPDATED = 3,
+ NAM_DOWNLOADED = 4,
+ MDN_DOWNLOADED = 5,
+ IMSI_DOWNLOADED = 6,
+ PRL_DOWNLOADED = 7,
+ COMMITTED = 8,
+ OTAPA_STARTED = 9,
+ OTAPA_STOPPED = 10,
+ OTAPA_ABORTED = 11,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
new file mode 100644
index 0000000..f0f2b04
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaRedirectingNumberInfoRecord {
+ android.hardware.radio.voice.CdmaNumberInfoRecord redirectingNumber;
+ int redirectingReason;
+ const int REDIRECTING_REASON_UNKNOWN = 0;
+ const int REDIRECTING_REASON_CALL_FORWARDING_BUSY = 1;
+ const int REDIRECTING_REASON_CALL_FORWARDING_NO_REPLY = 2;
+ const int REDIRECTING_REASON_CALLED_DTE_OUT_OF_ORDER = 9;
+ const int REDIRECTING_REASON_CALL_FORWARDING_BY_THE_CALLED_DTE = 10;
+ const int REDIRECTING_REASON_CALL_FORWARDING_UNCONDITIONAL = 15;
+ const int REDIRECTING_REASON_RESERVED = 16;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
new file mode 100644
index 0000000..2ebb396
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaSignalInfoRecord {
+ boolean isPresent;
+ byte signalType;
+ byte alertPitch;
+ byte signal;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
new file mode 100644
index 0000000..33e2c2b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaT53AudioControlInfoRecord {
+ byte upLink;
+ byte downLink;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
new file mode 100644
index 0000000..457fd18
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CdmaT53ClirInfoRecord {
+ byte cause;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl
new file mode 100644
index 0000000..d48102b
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/CfData.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 CfData {
+ android.hardware.radio.voice.CallForwardInfo[] cfInfo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl
new file mode 100644
index 0000000..dafc2b9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/ClipStatus.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum ClipStatus {
+ CLIP_PROVISIONED = 0,
+ CLIP_UNPROVISIONED = 1,
+ UNKNOWN = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl
new file mode 100644
index 0000000..c9a02a9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/Dial.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 Dial {
+ String address;
+ int clir;
+ android.hardware.radio.voice.UusInfo[] uusInfo;
+ const int CLIR_DEFAULT = 0;
+ const int CLIR_INVOCATION = 1;
+ const int CLIR_SUPPRESSION = 2;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl
new file mode 100644
index 0000000..b31a661
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyCallRouting.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum EmergencyCallRouting {
+ UNKNOWN = 0,
+ EMERGENCY = 1,
+ NORMAL = 2,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl
new file mode 100644
index 0000000..4f415ee
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyNumber.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 EmergencyNumber {
+ String number;
+ String mcc;
+ String mnc;
+ android.hardware.radio.voice.EmergencyServiceCategory categories;
+ String[] urns;
+ int sources;
+ const int SOURCE_NETWORK_SIGNALING = 1;
+ const int SOURCE_SIM = 2;
+ const int SOURCE_MODEM_CONFIG = 4;
+ const int SOURCE_DEFAULT = 8;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl
new file mode 100644
index 0000000..34d3c40
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/EmergencyServiceCategory.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum EmergencyServiceCategory {
+ UNSPECIFIED = 0,
+ POLICE = 1,
+ AMBULANCE = 2,
+ FIRE_BRIGADE = 4,
+ MARINE_GUARD = 8,
+ MOUNTAIN_RESCUE = 16,
+ MIEC = 32,
+ AIEC = 64,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl
new file mode 100644
index 0000000..4cac560
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoice.aidl
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioVoice {
+ oneway void acceptCall(in int serial);
+ oneway void conference(in int serial);
+ oneway void dial(in int serial, in android.hardware.radio.voice.Dial dialInfo);
+ oneway void emergencyDial(in int serial, in android.hardware.radio.voice.Dial dialInfo, in android.hardware.radio.voice.EmergencyServiceCategory categories, in String[] urns, in android.hardware.radio.voice.EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, in boolean isTesting);
+ oneway void exitEmergencyCallbackMode(in int serial);
+ oneway void explicitCallTransfer(in int serial);
+ oneway void getCallForwardStatus(in int serial, in android.hardware.radio.voice.CallForwardInfo callInfo);
+ oneway void getCallWaiting(in int serial, in int serviceClass);
+ oneway void getClip(in int serial);
+ oneway void getClir(in int serial);
+ oneway void getCurrentCalls(in int serial);
+ oneway void getLastCallFailCause(in int serial);
+ oneway void getMute(in int serial);
+ oneway void getPreferredVoicePrivacy(in int serial);
+ oneway void getTtyMode(in int serial);
+ oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept);
+ oneway void hangup(in int serial, in int gsmIndex);
+ oneway void hangupForegroundResumeBackground(in int serial);
+ oneway void hangupWaitingOrBackground(in int serial);
+ oneway void rejectCall(in int serial);
+ oneway void responseAcknowledgement();
+ oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off);
+ oneway void sendCdmaFeatureCode(in int serial, in String featureCode);
+ oneway void sendDtmf(in int serial, in String s);
+ oneway void separateConnection(in int serial, in int gsmIndex);
+ oneway void setCallForward(in int serial, in android.hardware.radio.voice.CallForwardInfo callInfo);
+ oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass);
+ oneway void setClir(in int serial, in int status);
+ oneway void setMute(in int serial, in boolean enable);
+ oneway void setPreferredVoicePrivacy(in int serial, in boolean enable);
+ oneway void setResponseFunctions(in android.hardware.radio.voice.IRadioVoiceResponse radioVoiceResponse, in android.hardware.radio.voice.IRadioVoiceIndication radioVoiceIndication);
+ oneway void setTtyMode(in int serial, in android.hardware.radio.voice.TtyMode mode);
+ oneway void startDtmf(in int serial, in String s);
+ oneway void stopDtmf(in int serial);
+ oneway void switchWaitingOrHoldingAndActive(in int serial);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl
new file mode 100644
index 0000000..4f87c12
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceIndication.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioVoiceIndication {
+ oneway void callRing(in android.hardware.radio.RadioIndicationType type, in boolean isGsm, in android.hardware.radio.voice.CdmaSignalInfoRecord record);
+ oneway void callStateChanged(in android.hardware.radio.RadioIndicationType type);
+ oneway void cdmaCallWaiting(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaCallWaiting callWaitingRecord);
+ oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaInformationRecords records);
+ oneway void cdmaOtaProvisionStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.CdmaOtaProvisionStatus status);
+ oneway void currentEmergencyNumberList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.EmergencyNumber[] emergencyNumberList);
+ oneway void enterEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type);
+ oneway void exitEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type);
+ oneway void indicateRingbackTone(in android.hardware.radio.RadioIndicationType type, in boolean start);
+ oneway void onSupplementaryServiceIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.StkCcUnsolSsResult ss);
+ oneway void resendIncallMute(in android.hardware.radio.RadioIndicationType type);
+ oneway void srvccStateNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.voice.SrvccState state);
+ oneway void stkCallControlAlphaNotify(in android.hardware.radio.RadioIndicationType type, in String alpha);
+ oneway void stkCallSetup(in android.hardware.radio.RadioIndicationType type, in long timeout);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl
new file mode 100644
index 0000000..9f490a8
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/IRadioVoiceResponse.aidl
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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
+interface IRadioVoiceResponse {
+ oneway void acceptCallResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void acknowledgeRequest(in int serial);
+ oneway void conferenceResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void dialResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void emergencyDialResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void exitEmergencyCallbackModeResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void explicitCallTransferResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void getCallForwardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.CallForwardInfo[] callForwardInfos);
+ oneway void getCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable, in int serviceClass);
+ oneway void getClipResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.ClipStatus status);
+ oneway void getClirResponse(in android.hardware.radio.RadioResponseInfo info, in int n, in int m);
+ oneway void getCurrentCallsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.Call[] calls);
+ oneway void getLastCallFailCauseResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.LastCallFailCauseInfo failCauseinfo);
+ oneway void getMuteResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable);
+ oneway void getPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable);
+ oneway void getTtyModeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.voice.TtyMode mode);
+ oneway void handleStkCallSetupRequestFromSimResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void hangupConnectionResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void hangupForegroundResumeBackgroundResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void hangupWaitingOrBackgroundResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void rejectCallResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void sendBurstDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void sendCdmaFeatureCodeResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void sendDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void separateConnectionResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCallForwardResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setClirResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setMuteResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void setTtyModeResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void startDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void stopDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
+ oneway void switchWaitingOrHoldingAndActiveResponse(in android.hardware.radio.RadioResponseInfo info);
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl
new file mode 100644
index 0000000..3e17840
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCause.aidl
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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;
+@Backing(type="int") @VintfStability
+enum LastCallFailCause {
+ UNOBTAINABLE_NUMBER = 1,
+ NO_ROUTE_TO_DESTINATION = 3,
+ CHANNEL_UNACCEPTABLE = 6,
+ OPERATOR_DETERMINED_BARRING = 8,
+ NORMAL = 16,
+ BUSY = 17,
+ NO_USER_RESPONDING = 18,
+ NO_ANSWER_FROM_USER = 19,
+ CALL_REJECTED = 21,
+ NUMBER_CHANGED = 22,
+ PREEMPTION = 25,
+ DESTINATION_OUT_OF_ORDER = 27,
+ INVALID_NUMBER_FORMAT = 28,
+ FACILITY_REJECTED = 29,
+ RESP_TO_STATUS_ENQUIRY = 30,
+ NORMAL_UNSPECIFIED = 31,
+ CONGESTION = 34,
+ NETWORK_OUT_OF_ORDER = 38,
+ TEMPORARY_FAILURE = 41,
+ SWITCHING_EQUIPMENT_CONGESTION = 42,
+ ACCESS_INFORMATION_DISCARDED = 43,
+ REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44,
+ RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47,
+ QOS_UNAVAILABLE = 49,
+ REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
+ INCOMING_CALLS_BARRED_WITHIN_CUG = 55,
+ BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
+ BEARER_CAPABILITY_UNAVAILABLE = 58,
+ SERVICE_OPTION_NOT_AVAILABLE = 63,
+ BEARER_SERVICE_NOT_IMPLEMENTED = 65,
+ ACM_LIMIT_EXCEEDED = 68,
+ REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
+ ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70,
+ SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79,
+ INVALID_TRANSACTION_IDENTIFIER = 81,
+ USER_NOT_MEMBER_OF_CUG = 87,
+ INCOMPATIBLE_DESTINATION = 88,
+ INVALID_TRANSIT_NW_SELECTION = 91,
+ SEMANTICALLY_INCORRECT_MESSAGE = 95,
+ INVALID_MANDATORY_INFORMATION = 96,
+ MESSAGE_TYPE_NON_IMPLEMENTED = 97,
+ MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
+ INFORMATION_ELEMENT_NON_EXISTENT = 99,
+ CONDITIONAL_IE_ERROR = 100,
+ MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
+ RECOVERY_ON_TIMER_EXPIRED = 102,
+ PROTOCOL_ERROR_UNSPECIFIED = 111,
+ INTERWORKING_UNSPECIFIED = 127,
+ CALL_BARRED = 240,
+ FDN_BLOCKED = 241,
+ IMSI_UNKNOWN_IN_VLR = 242,
+ IMEI_NOT_ACCEPTED = 243,
+ DIAL_MODIFIED_TO_USSD = 244,
+ DIAL_MODIFIED_TO_SS = 245,
+ DIAL_MODIFIED_TO_DIAL = 246,
+ RADIO_OFF = 247,
+ OUT_OF_SERVICE = 248,
+ NO_VALID_SIM = 249,
+ RADIO_INTERNAL_ERROR = 250,
+ NETWORK_RESP_TIMEOUT = 251,
+ NETWORK_REJECT = 252,
+ RADIO_ACCESS_FAILURE = 253,
+ RADIO_LINK_FAILURE = 254,
+ RADIO_LINK_LOST = 255,
+ RADIO_UPLINK_FAILURE = 256,
+ RADIO_SETUP_FAILURE = 257,
+ RADIO_RELEASE_NORMAL = 258,
+ RADIO_RELEASE_ABNORMAL = 259,
+ ACCESS_CLASS_BLOCKED = 260,
+ NETWORK_DETACH = 261,
+ CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
+ CDMA_DROP = 1001,
+ CDMA_INTERCEPT = 1002,
+ CDMA_REORDER = 1003,
+ CDMA_SO_REJECT = 1004,
+ CDMA_RETRY_ORDER = 1005,
+ CDMA_ACCESS_FAILURE = 1006,
+ CDMA_PREEMPTED = 1007,
+ CDMA_NOT_EMERGENCY = 1008,
+ CDMA_ACCESS_BLOCKED = 1009,
+ OEM_CAUSE_1 = 61441,
+ OEM_CAUSE_2 = 61442,
+ OEM_CAUSE_3 = 61443,
+ OEM_CAUSE_4 = 61444,
+ OEM_CAUSE_5 = 61445,
+ OEM_CAUSE_6 = 61446,
+ OEM_CAUSE_7 = 61447,
+ OEM_CAUSE_8 = 61448,
+ OEM_CAUSE_9 = 61449,
+ OEM_CAUSE_10 = 61450,
+ OEM_CAUSE_11 = 61451,
+ OEM_CAUSE_12 = 61452,
+ OEM_CAUSE_13 = 61453,
+ OEM_CAUSE_14 = 61454,
+ OEM_CAUSE_15 = 61455,
+ ERROR_UNSPECIFIED = 65535,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl
new file mode 100644
index 0000000..af75a40
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/LastCallFailCauseInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 LastCallFailCauseInfo {
+ android.hardware.radio.voice.LastCallFailCause causeCode;
+ String vendorCause;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl
new file mode 100644
index 0000000..8e7e9fb
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SrvccState.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum SrvccState {
+ HANDOVER_STARTED = 0,
+ HANDOVER_COMPLETED = 1,
+ HANDOVER_FAILED = 2,
+ HANDOVER_CANCELED = 3,
+}
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
new file mode 100644
index 0000000..c5ba293
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/SsInfoData.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 SsInfoData {
+ int[] ssInfo;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl
new file mode 100644
index 0000000..71ef7a7
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/StkCcUnsolSsResult.aidl
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make 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 StkCcUnsolSsResult {
+ int serviceType;
+ int requestType;
+ int teleserviceType;
+ int serviceClass;
+ android.hardware.radio.RadioError result;
+ android.hardware.radio.voice.SsInfoData[] ssInfo;
+ android.hardware.radio.voice.CfData[] cfData;
+ const int REQUEST_TYPE_ACTIVATION = 0;
+ const int REQUEST_TYPE_DEACTIVATION = 1;
+ const int REQUEST_TYPE_INTERROGATION = 2;
+ const int REQUEST_TYPE_REGISTRATION = 3;
+ const int REQUEST_TYPE_ERASURE = 4;
+ const int SERVICE_TYPE_CFU = 0;
+ const int SERVICE_TYPE_CF_BUSY = 1;
+ const int SERVICE_TYPE_CF_NO_REPLY = 2;
+ const int SERVICE_TYPE_CF_NOT_REACHABLE = 3;
+ const int SERVICE_TYPE_CF_ALL = 4;
+ const int SERVICE_TYPE_CF_ALL_CONDITIONAL = 5;
+ const int SERVICE_TYPE_CLIP = 6;
+ const int SERVICE_TYPE_CLIR = 7;
+ const int SERVICE_TYPE_COLP = 8;
+ const int SERVICE_TYPE_COLR = 9;
+ const int SERVICE_TYPE_WAIT = 10;
+ const int SERVICE_TYPE_BAOC = 11;
+ const int SERVICE_TYPE_BAOIC = 12;
+ const int SERVICE_TYPE_BAOIC_EXC_HOME = 13;
+ const int SERVICE_TYPE_BAIC = 14;
+ const int SERVICE_TYPE_BAIC_ROAMING = 15;
+ const int SERVICE_TYPE_ALL_BARRING = 16;
+ const int SERVICE_TYPE_OUTGOING_BARRING = 17;
+ const int SERVICE_TYPE_INCOMING_BARRING = 18;
+ const int TELESERVICE_TYPE_ALL_TELE_AND_BEARER_SERVICES = 0;
+ const int TELESERVICE_TYPE_ALL_TELESEVICES = 1;
+ const int TELESERVICE_TYPE_TELEPHONY = 2;
+ const int TELESERVICE_TYPE_ALL_DATA_TELESERVICES = 3;
+ const int TELESERVICE_TYPE_SMS_SERVICES = 4;
+ const int TELESERVICE_TYPE_ALL_TELESERVICES_EXCEPT_SMS = 5;
+ const int SUPP_SERVICE_CLASS_NONE = 0;
+ const int SUPP_SERVICE_CLASS_VOICE = 1;
+ const int SUPP_SERVICE_CLASS_DATA = 2;
+ const int SUPP_SERVICE_CLASS_FAX = 4;
+ const int SUPP_SERVICE_CLASS_SMS = 8;
+ const int SUPP_SERVICE_CLASS_DATA_SYNC = 16;
+ const int SUPP_SERVICE_CLASS_DATA_ASYNC = 32;
+ const int SUPP_SERVICE_CLASS_PACKET = 64;
+ const int SUPP_SERVICE_CLASS_PAD = 128;
+ const int SUPP_SERVICE_CLASS_MAX = 128;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl
new file mode 100644
index 0000000..bb0a9f1
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/TtyMode.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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;
+@Backing(type="int") @VintfStability
+enum TtyMode {
+ OFF = 0,
+ FULL = 1,
+ HCO = 2,
+ VCO = 3,
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl
new file mode 100644
index 0000000..0198de9
--- /dev/null
+++ b/radio/aidl/aidl_api/android.hardware.radio.voice/current/android/hardware/radio/voice/UusInfo.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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 UusInfo {
+ int uusType;
+ int uusDcs;
+ String uusData;
+ const int UUS_DCS_USP = 0;
+ const int UUS_DCS_OSIHLP = 1;
+ const int UUS_DCS_X244 = 2;
+ const int UUS_DCS_RMCF = 3;
+ const int UUS_DCS_IA5C = 4;
+ const int UUS_TYPE_TYPE1_IMPLICIT = 0;
+ const int UUS_TYPE_TYPE1_REQUIRED = 1;
+ const int UUS_TYPE_TYPE1_NOT_REQUIRED = 2;
+ const int UUS_TYPE_TYPE2_REQUIRED = 3;
+ const int UUS_TYPE_TYPE2_NOT_REQUIRED = 4;
+ const int UUS_TYPE_TYPE3_REQUIRED = 5;
+ const int UUS_TYPE_TYPE3_NOT_REQUIRED = 6;
+}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl
deleted file mode 100644
index f9ef742..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable ActivityStatsInfo {
- int sleepModeTimeMs;
- int idleModeTimeMs;
- int[] txmModetimeMs;
- int rxModeTimeMs;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl
deleted file mode 100644
index dd6e79a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.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 AddressProperty {
- NONE = 0,
- DEPRECATED = 32,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl
deleted file mode 100644
index bae7d1f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl
+++ /dev/null
@@ -1,41 +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 ApnAuthType {
- NO_PAP_NO_CHAP = 0,
- PAP_NO_CHAP = 1,
- NO_PAP_CHAP = 2,
- PAP_CHAP = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl
deleted file mode 100644
index 0829fa6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl
+++ /dev/null
@@ -1,51 +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 ApnTypes {
- NONE = 0,
- DEFAULT = 1,
- MMS = 2,
- SUPL = 4,
- DUN = 8,
- HIPRI = 16,
- FOTA = 32,
- IMS = 64,
- CBS = 128,
- IA = 256,
- EMERGENCY = 512,
- ALL = 1023,
- MCX = 1024,
- XCAP = 2048,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl
deleted file mode 100644
index 59e2bd4..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.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 AppState {
- UNKNOWN = 0,
- DETECTED = 1,
- PIN = 2,
- PUK = 3,
- SUBSCRIPTION_PERSO = 4,
- READY = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl
deleted file mode 100644
index c9abe32..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.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;
-@VintfStability
-parcelable AppStatus {
- android.hardware.radio.AppType appType;
- android.hardware.radio.AppState appState;
- android.hardware.radio.PersoSubstate persoSubstate;
- String aidPtr;
- String appLabelPtr;
- int pin1Replaced;
- android.hardware.radio.PinState pin1;
- android.hardware.radio.PinState pin2;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl
deleted file mode 100644
index adbbe9f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.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 AppType {
- UNKNOWN = 0,
- SIM = 1,
- USIM = 2,
- RUIM = 3,
- CSIM = 4,
- ISIM = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl
deleted file mode 100644
index a596969..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl
+++ /dev/null
@@ -1,47 +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 AudioQuality {
- UNSPECIFIED = 0,
- AMR = 1,
- AMR_WB = 2,
- GSM_EFR = 3,
- GSM_FR = 4,
- GSM_HR = 5,
- EVRC = 6,
- EVRC_B = 7,
- EVRC_WB = 8,
- EVRC_NW = 9,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl
deleted file mode 100644
index ac0b4aa..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable BarringInfo {
- android.hardware.radio.BarringInfoServiceType serviceType;
- android.hardware.radio.BarringInfoBarringType barringType;
- android.hardware.radio.BarringInfoBarringTypeSpecificInfo barringTypeSpecificInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl
deleted file mode 100644
index 6b8006e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl
+++ /dev/null
@@ -1,40 +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 BarringInfoBarringType {
- NONE = 0,
- CONDITIONAL = 1,
- UNCONDITIONAL = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl
deleted file mode 100644
index c2ba1d2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.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;
-@VintfStability
-union BarringInfoBarringTypeSpecificInfo {
- boolean noinit;
- android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional conditional;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl
deleted file mode 100644
index 8c079e2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable BarringInfoBarringTypeSpecificInfoConditional {
- int factor;
- int timeSeconds;
- boolean isBarred;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl
deleted file mode 100644
index faea9b9..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl
+++ /dev/null
@@ -1,79 +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 BarringInfoServiceType {
- CS_SERVICE = 0,
- PS_SERVICE = 1,
- CS_VOICE = 2,
- MO_SIGNALLING = 3,
- MO_DATA = 4,
- CS_FALLBACK = 5,
- MMTEL_VOICE = 6,
- MMTEL_VIDEO = 7,
- EMERGENCY = 8,
- SMS = 9,
- OPERATOR_1 = 1001,
- OPERATOR_2 = 1002,
- OPERATOR_3 = 1003,
- OPERATOR_4 = 1004,
- OPERATOR_5 = 1005,
- OPERATOR_6 = 1006,
- OPERATOR_7 = 1007,
- OPERATOR_8 = 1008,
- OPERATOR_9 = 1009,
- OPERATOR_10 = 1010,
- OPERATOR_11 = 1011,
- OPERATOR_12 = 1012,
- OPERATOR_13 = 1013,
- OPERATOR_14 = 1014,
- OPERATOR_15 = 1015,
- OPERATOR_16 = 1016,
- OPERATOR_17 = 1017,
- OPERATOR_18 = 1018,
- OPERATOR_19 = 1019,
- OPERATOR_20 = 1020,
- OPERATOR_21 = 1021,
- OPERATOR_22 = 1022,
- OPERATOR_23 = 1023,
- OPERATOR_24 = 1024,
- OPERATOR_25 = 1025,
- OPERATOR_26 = 1026,
- OPERATOR_27 = 1027,
- OPERATOR_28 = 1028,
- OPERATOR_29 = 1029,
- OPERATOR_30 = 1030,
- OPERATOR_31 = 1031,
- OPERATOR_32 = 1032,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl
deleted file mode 100644
index 36e1ae3..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl
+++ /dev/null
@@ -1,52 +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
-parcelable Call {
- android.hardware.radio.CallState state;
- int index;
- int toa;
- boolean isMpty;
- boolean isMT;
- byte als;
- boolean isVoice;
- boolean isVoicePrivacy;
- String number;
- android.hardware.radio.CallPresentation numberPresentation;
- String name;
- android.hardware.radio.CallPresentation namePresentation;
- android.hardware.radio.UusInfo[] uusInfo;
- android.hardware.radio.AudioQuality audioQuality;
- String forwardedNumber;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl
deleted file mode 100644
index bcfa90f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.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;
-@VintfStability
-parcelable CallForwardInfo {
- android.hardware.radio.CallForwardInfoStatus status;
- int reason;
- int serviceClass;
- int toa;
- String number;
- int timeSeconds;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl
deleted file mode 100644
index 5ac129a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.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 CallForwardInfoStatus {
- DISABLE = 0,
- ENABLE = 1,
- INTERROGATE = 2,
- REGISTRATION = 3,
- ERASURE = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl
deleted file mode 100644
index c32cd08..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl
+++ /dev/null
@@ -1,41 +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 CallPresentation {
- ALLOWED = 0,
- RESTRICTED = 1,
- UNKNOWN = 2,
- PAYPHONE = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl
deleted file mode 100644
index 375ca2c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.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 CallState {
- ACTIVE = 0,
- HOLDING = 1,
- DIALING = 2,
- ALERTING = 3,
- INCOMING = 4,
- WAITING = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl
deleted file mode 100644
index 1a3b4c6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl
+++ /dev/null
@@ -1,40 +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 CardPowerState {
- POWER_DOWN = 0,
- POWER_UP = 1,
- POWER_UP_PASS_THROUGH = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl
deleted file mode 100644
index d200b97..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl
+++ /dev/null
@@ -1,41 +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 CardState {
- ABSENT = 0,
- PRESENT = 1,
- ERROR = 2,
- RESTRICTED = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl
deleted file mode 100644
index e11bb21..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl
+++ /dev/null
@@ -1,47 +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
-parcelable CardStatus {
- android.hardware.radio.CardState cardState;
- android.hardware.radio.PinState universalPinState;
- int gsmUmtsSubscriptionAppIndex;
- int cdmaSubscriptionAppIndex;
- int imsSubscriptionAppIndex;
- android.hardware.radio.AppStatus[] applications;
- int physicalSlotId;
- String atr;
- String iccid;
- String eid;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl
deleted file mode 100644
index bbf777f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable Carrier {
- String mcc;
- String mnc;
- android.hardware.radio.CarrierMatchType matchType;
- String matchData;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl
deleted file mode 100644
index c3596cd..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.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 CarrierMatchType {
- ALL = 0,
- SPN = 1,
- IMSI_PREFIX = 2,
- GID1 = 3,
- GID2 = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl
deleted file mode 100644
index f8cafb5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.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;
-@VintfStability
-parcelable CarrierRestrictions {
- android.hardware.radio.Carrier[] allowedCarriers;
- android.hardware.radio.Carrier[] excludedCarriers;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl
deleted file mode 100644
index 1f06980..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable CarrierRestrictionsWithPriority {
- android.hardware.radio.Carrier[] allowedCarriers;
- android.hardware.radio.Carrier[] excludedCarriers;
- boolean allowedCarriersPrioritized;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl
deleted file mode 100644
index 73c7fae..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable CdmaBroadcastSmsConfigInfo {
- int serviceCategory;
- int language;
- boolean selected;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl
deleted file mode 100644
index 564433f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.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;
-@VintfStability
-parcelable CdmaCallWaiting {
- String number;
- android.hardware.radio.CdmaCallWaitingNumberPresentation numberPresentation;
- String name;
- android.hardware.radio.CdmaSignalInfoRecord signalInfoRecord;
- android.hardware.radio.CdmaCallWaitingNumberType numberType;
- android.hardware.radio.CdmaCallWaitingNumberPlan numberPlan;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl
deleted file mode 100644
index 6dcd594..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.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 CdmaCallWaitingNumberPlan {
- UNKNOWN = 0,
- ISDN = 1,
- DATA = 3,
- TELEX = 4,
- NATIONAL = 8,
- PRIVATE = 9,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl
deleted file mode 100644
index 22eaf6b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl
+++ /dev/null
@@ -1,40 +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 CdmaCallWaitingNumberPresentation {
- ALLOWED = 0,
- RESTRICTED = 1,
- UNKNOWN = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl
deleted file mode 100644
index 4740108..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.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 CdmaCallWaitingNumberType {
- UNKNOWN = 0,
- INTERNATIONAL = 1,
- NATIONAL = 2,
- NETWORK_SPECIFIC = 3,
- SUBSCRIBER = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl
deleted file mode 100644
index 11f082f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.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;
-@VintfStability
-parcelable CdmaDisplayInfoRecord {
- String alphaBuf;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl
deleted file mode 100644
index 182dcc0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.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;
-@Backing(type="int") @VintfStability
-enum CdmaInfoRecName {
- DISPLAY = 0,
- CALLED_PARTY_NUMBER = 1,
- CALLING_PARTY_NUMBER = 2,
- CONNECTED_NUMBER = 3,
- SIGNAL = 4,
- REDIRECTING_NUMBER = 5,
- LINE_CONTROL = 6,
- EXTENDED_DISPLAY = 7,
- T53_CLIR = 8,
- T53_RELEASE = 9,
- T53_AUDIO_CONTROL = 10,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl
deleted file mode 100644
index 844a1bf..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.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;
-@VintfStability
-parcelable CdmaInformationRecord {
- android.hardware.radio.CdmaInfoRecName name;
- android.hardware.radio.CdmaDisplayInfoRecord[] display;
- android.hardware.radio.CdmaNumberInfoRecord[] number;
- android.hardware.radio.CdmaSignalInfoRecord[] signal;
- android.hardware.radio.CdmaRedirectingNumberInfoRecord[] redir;
- android.hardware.radio.CdmaLineControlInfoRecord[] lineCtrl;
- android.hardware.radio.CdmaT53ClirInfoRecord[] clir;
- android.hardware.radio.CdmaT53AudioControlInfoRecord[] audioCtrl;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl
deleted file mode 100644
index 88a4331..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/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;
-@VintfStability
-parcelable CdmaInformationRecords {
- android.hardware.radio.CdmaInformationRecord[] infoRec;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl
deleted file mode 100644
index 48180a7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable CdmaLineControlInfoRecord {
- byte lineCtrlPolarityIncluded;
- byte lineCtrlToggle;
- byte lineCtrlReverse;
- byte lineCtrlPowerDenial;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl
deleted file mode 100644
index 86376a7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.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;
-@VintfStability
-parcelable CdmaNumberInfoRecord {
- String number;
- byte numberType;
- byte numberPlan;
- byte pi;
- byte si;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl
deleted file mode 100644
index 7cd88ac..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl
+++ /dev/null
@@ -1,49 +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 CdmaOtaProvisionStatus {
- SPL_UNLOCKED = 0,
- SPC_RETRIES_EXCEEDED = 1,
- A_KEY_EXCHANGED = 2,
- SSD_UPDATED = 3,
- NAM_DOWNLOADED = 4,
- MDN_DOWNLOADED = 5,
- IMSI_DOWNLOADED = 6,
- PRL_DOWNLOADED = 7,
- COMMITTED = 8,
- OTAPA_STARTED = 9,
- OTAPA_STOPPED = 10,
- OTAPA_ABORTED = 11,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl
deleted file mode 100644
index 44b7993..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.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;
-@VintfStability
-parcelable CdmaRedirectingNumberInfoRecord {
- android.hardware.radio.CdmaNumberInfoRecord redirectingNumber;
- android.hardware.radio.CdmaRedirectingReason redirectingReason;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl
deleted file mode 100644
index e109c5b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl
+++ /dev/null
@@ -1,44 +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 CdmaRedirectingReason {
- UNKNOWN = 0,
- CALL_FORWARDING_BUSY = 1,
- CALL_FORWARDING_NO_REPLY = 2,
- CALLED_DTE_OUT_OF_ORDER = 9,
- CALL_FORWARDING_BY_THE_CALLED_DTE = 10,
- CALL_FORWARDING_UNCONDITIONAL = 15,
- RESERVED = 16,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl
deleted file mode 100644
index 09a59a0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl
+++ /dev/null
@@ -1,40 +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 CdmaRoamingType {
- HOME_NETWORK = 0,
- AFFILIATED_ROAM = 1,
- ANY_ROAM = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl
deleted file mode 100644
index efb396a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable CdmaSignalInfoRecord {
- boolean isPresent;
- byte signalType;
- byte alertPitch;
- byte signal;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl
deleted file mode 100644
index 2939183..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.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;
-@VintfStability
-parcelable CdmaSignalStrength {
- int dbm;
- int ecio;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl
deleted file mode 100644
index 0ef4331..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.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;
-@VintfStability
-parcelable CdmaSmsAck {
- android.hardware.radio.CdmaSmsErrorClass errorClass;
- int smsCauseCode;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl
deleted file mode 100644
index a37f1e7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.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;
-@VintfStability
-parcelable CdmaSmsAddress {
- android.hardware.radio.CdmaSmsDigitMode digitMode;
- android.hardware.radio.CdmaSmsNumberMode numberMode;
- android.hardware.radio.CdmaSmsNumberType numberType;
- android.hardware.radio.CdmaSmsNumberPlan numberPlan;
- byte[] digits;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl
deleted file mode 100644
index 7c77830..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.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 CdmaSmsDigitMode {
- FOUR_BIT = 0,
- EIGHT_BIT = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl
deleted file mode 100644
index 3ad5c1a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.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 CdmaSmsErrorClass {
- NO_ERROR = 0,
- ERROR = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl
deleted file mode 100644
index c419bad..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.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;
-@VintfStability
-parcelable CdmaSmsMessage {
- int teleserviceId;
- boolean isServicePresent;
- int serviceCategory;
- android.hardware.radio.CdmaSmsAddress address;
- android.hardware.radio.CdmaSmsSubaddress subAddress;
- byte[] bearerData;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl
deleted file mode 100644
index 31d49d4..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.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 CdmaSmsNumberMode {
- NOT_DATA_NETWORK = 0,
- DATA_NETWORK = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl
deleted file mode 100644
index fcbd1cc..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl
+++ /dev/null
@@ -1,53 +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 CdmaSmsNumberPlan {
- UNKNOWN = 0,
- TELEPHONY = 1,
- RESERVED_2 = 2,
- DATA = 3,
- TELEX = 4,
- RESERVED_5 = 5,
- RESERVED_6 = 6,
- RESERVED_7 = 7,
- RESERVED_8 = 8,
- PRIVATE = 9,
- RESERVED_10 = 10,
- RESERVED_11 = 11,
- RESERVED_12 = 12,
- RESERVED_13 = 13,
- RESERVED_14 = 14,
- RESERVED_15 = 15,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl
deleted file mode 100644
index ca14dbc..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.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 CdmaSmsNumberType {
- UNKNOWN = 0,
- INTERNATIONAL_OR_DATA_IP = 1,
- NATIONAL_OR_INTERNET_MAIL = 2,
- NETWORK = 3,
- SUBSCRIBER = 4,
- ALPHANUMERIC = 5,
- ABBREVIATED = 6,
- RESERVED_7 = 7,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl
deleted file mode 100644
index a0155da..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable CdmaSmsSubaddress {
- android.hardware.radio.CdmaSmsSubaddressType subaddressType;
- boolean odd;
- byte[] digits;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl
deleted file mode 100644
index a4db5ec..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.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 CdmaSmsSubaddressType {
- NSAP = 0,
- USER_SPECIFIED = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl
deleted file mode 100644
index 3202314..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.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;
-@VintfStability
-parcelable CdmaSmsWriteArgs {
- android.hardware.radio.CdmaSmsWriteArgsStatus status;
- android.hardware.radio.CdmaSmsMessage message;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl
deleted file mode 100644
index 4bad261..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl
+++ /dev/null
@@ -1,41 +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 CdmaSmsWriteArgsStatus {
- REC_UNREAD = 0,
- REC_READ = 1,
- STO_UNSENT = 2,
- STO_SENT = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl
deleted file mode 100644
index 11e8a24..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.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 CdmaSubscriptionSource {
- RUIM_SIM = 0,
- NV = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl
deleted file mode 100644
index 9285eb7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.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;
-@VintfStability
-parcelable CdmaT53AudioControlInfoRecord {
- byte upLink;
- byte downLink;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl
deleted file mode 100644
index ff4d3c3..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.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;
-@VintfStability
-parcelable CdmaT53ClirInfoRecord {
- byte cause;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl
deleted file mode 100644
index 184af1c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.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;
-@VintfStability
-parcelable CellConfigLte {
- boolean isEndcAvailable;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl
deleted file mode 100644
index 96f8368..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl
+++ /dev/null
@@ -1,40 +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 CellConnectionStatus {
- NONE = 0,
- PRIMARY_SERVING = 1,
- SECONDARY_SERVING = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl
deleted file mode 100644
index aa37fdf..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl
+++ /dev/null
@@ -1,44 +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
-union CellIdentity {
- boolean noinit;
- android.hardware.radio.CellIdentityGsm gsm;
- android.hardware.radio.CellIdentityWcdma wcdma;
- android.hardware.radio.CellIdentityTdscdma tdscdma;
- android.hardware.radio.CellIdentityCdma cdma;
- android.hardware.radio.CellIdentityLte lte;
- android.hardware.radio.CellIdentityNr nr;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl
deleted file mode 100644
index d24b91d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.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;
-@VintfStability
-parcelable CellIdentityCdma {
- int networkId;
- int systemId;
- int baseStationId;
- int longitude;
- int latitude;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl
deleted file mode 100644
index 4ee2148..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.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;
-@VintfStability
-parcelable CellIdentityGsm {
- String mcc;
- String mnc;
- int lac;
- int cid;
- int arfcn;
- byte bsic;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
- String[] additionalPlmns;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl
deleted file mode 100644
index 5a8c272..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.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
-parcelable CellIdentityLte {
- String mcc;
- String mnc;
- int ci;
- int pci;
- int tac;
- int earfcn;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
- int bandwidth;
- String[] additionalPlmns;
- android.hardware.radio.OptionalCsgInfo optionalCsgInfo;
- android.hardware.radio.EutranBands[] bands;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl
deleted file mode 100644
index 60a24d7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.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
-parcelable CellIdentityNr {
- String mcc;
- String mnc;
- long nci;
- int pci;
- int tac;
- int nrarfcn;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
- String[] additionalPlmns;
- android.hardware.radio.NgranBands[] bands;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl
deleted file mode 100644
index 161797f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/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;
-@VintfStability
-parcelable CellIdentityOperatorNames {
- String alphaLong;
- String alphaShort;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl
deleted file mode 100644
index 35e1f5d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.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
-parcelable CellIdentityTdscdma {
- String mcc;
- String mnc;
- int lac;
- int cid;
- int cpid;
- int uarfcn;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
- String[] additionalPlmns;
- android.hardware.radio.OptionalCsgInfo optionalCsgInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl
deleted file mode 100644
index 7bcc4d5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.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
-parcelable CellIdentityWcdma {
- String mcc;
- String mnc;
- int lac;
- int cid;
- int psc;
- int uarfcn;
- android.hardware.radio.CellIdentityOperatorNames operatorNames;
- String[] additionalPlmns;
- android.hardware.radio.OptionalCsgInfo optionalCsgInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl
deleted file mode 100644
index 20ea3cb..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable CellInfo {
- boolean registered;
- android.hardware.radio.CellConnectionStatus connectionStatus;
- android.hardware.radio.CellInfoCellInfoRatSpecificInfo ratSpecificInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl
deleted file mode 100644
index dd940c2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable CellInfoCdma {
- android.hardware.radio.CellIdentityCdma cellIdentityCdma;
- android.hardware.radio.CdmaSignalStrength signalStrengthCdma;
- android.hardware.radio.EvdoSignalStrength signalStrengthEvdo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl
deleted file mode 100644
index 7084e5e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.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;
-@VintfStability
-union CellInfoCellInfoRatSpecificInfo {
- android.hardware.radio.CellInfoGsm gsm;
- android.hardware.radio.CellInfoWcdma wcdma;
- android.hardware.radio.CellInfoTdscdma tdscdma;
- android.hardware.radio.CellInfoLte lte;
- android.hardware.radio.CellInfoNr nr;
- android.hardware.radio.CellInfoCdma cdma;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl
deleted file mode 100644
index fda976c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.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;
-@VintfStability
-parcelable CellInfoGsm {
- android.hardware.radio.CellIdentityGsm cellIdentityGsm;
- android.hardware.radio.GsmSignalStrength signalStrengthGsm;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl
deleted file mode 100644
index 9c22555..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.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;
-@VintfStability
-union CellInfoInfo {
- android.hardware.radio.CellInfoGsm gsm;
- android.hardware.radio.CellInfoCdma cdma;
- android.hardware.radio.CellInfoWcdma wcdma;
- android.hardware.radio.CellInfoTdscdma tdscdma;
- android.hardware.radio.CellInfoLte lte;
- android.hardware.radio.CellInfoNr nr;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl
deleted file mode 100644
index 9976feb..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.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;
-@VintfStability
-parcelable CellInfoLte {
- android.hardware.radio.CellIdentityLte cellIdentityLte;
- android.hardware.radio.LteSignalStrength signalStrengthLte;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl
deleted file mode 100644
index 7883692..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.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;
-@VintfStability
-parcelable CellInfoNr {
- android.hardware.radio.CellIdentityNr cellIdentityNr;
- android.hardware.radio.NrSignalStrength signalStrengthNr;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl
deleted file mode 100644
index 4fbe5b6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.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;
-@VintfStability
-parcelable CellInfoTdscdma {
- android.hardware.radio.CellIdentityTdscdma cellIdentityTdscdma;
- android.hardware.radio.TdscdmaSignalStrength signalStrengthTdscdma;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl
deleted file mode 100644
index cb92ed9..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.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 CellInfoType {
- NONE = 0,
- GSM = 1,
- CDMA = 2,
- LTE = 3,
- WCDMA = 4,
- TD_SCDMA = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl
deleted file mode 100644
index 88ca975..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.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;
-@VintfStability
-parcelable CellInfoWcdma {
- android.hardware.radio.CellIdentityWcdma cellIdentityWcdma;
- android.hardware.radio.WcdmaSignalStrength signalStrengthWcdma;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl
deleted file mode 100644
index 6a2b026..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.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;
-@VintfStability
-parcelable CfData {
- android.hardware.radio.CallForwardInfo[] cfInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl
deleted file mode 100644
index 36a1510..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl
+++ /dev/null
@@ -1,40 +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 ClipStatus {
- CLIP_PROVISIONED = 0,
- CLIP_UNPROVISIONED = 1,
- UNKNOWN = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl
deleted file mode 100644
index 97ba4ed..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl
+++ /dev/null
@@ -1,40 +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 Clir {
- DEFAULT = 0,
- INVOCATION = 1,
- SUPPRESSION = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl
deleted file mode 100644
index 0c10ca4..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable ClosedSubscriberGroupInfo {
- boolean csgIndication;
- String homeNodebName;
- int csgIdentity;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl
deleted file mode 100644
index df895f8..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl
+++ /dev/null
@@ -1,377 +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 DataCallFailCause {
- NONE = 0,
- OPERATOR_BARRED = 8,
- NAS_SIGNALLING = 14,
- INSUFFICIENT_RESOURCES = 26,
- MISSING_UNKNOWN_APN = 27,
- UNKNOWN_PDP_ADDRESS_TYPE = 28,
- USER_AUTHENTICATION = 29,
- ACTIVATION_REJECT_GGSN = 30,
- ACTIVATION_REJECT_UNSPECIFIED = 31,
- SERVICE_OPTION_NOT_SUPPORTED = 32,
- SERVICE_OPTION_NOT_SUBSCRIBED = 33,
- SERVICE_OPTION_OUT_OF_ORDER = 34,
- NSAPI_IN_USE = 35,
- REGULAR_DEACTIVATION = 36,
- QOS_NOT_ACCEPTED = 37,
- NETWORK_FAILURE = 38,
- UMTS_REACTIVATION_REQ = 39,
- FEATURE_NOT_SUPP = 40,
- TFT_SEMANTIC_ERROR = 41,
- TFT_SYTAX_ERROR = 42,
- UNKNOWN_PDP_CONTEXT = 43,
- FILTER_SEMANTIC_ERROR = 44,
- FILTER_SYTAX_ERROR = 45,
- PDP_WITHOUT_ACTIVE_TFT = 46,
- ONLY_IPV4_ALLOWED = 50,
- ONLY_IPV6_ALLOWED = 51,
- ONLY_SINGLE_BEARER_ALLOWED = 52,
- ESM_INFO_NOT_RECEIVED = 53,
- PDN_CONN_DOES_NOT_EXIST = 54,
- MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55,
- MAX_ACTIVE_PDP_CONTEXT_REACHED = 65,
- UNSUPPORTED_APN_IN_CURRENT_PLMN = 66,
- INVALID_TRANSACTION_ID = 81,
- MESSAGE_INCORRECT_SEMANTIC = 95,
- INVALID_MANDATORY_INFO = 96,
- MESSAGE_TYPE_UNSUPPORTED = 97,
- MSG_TYPE_NONCOMPATIBLE_STATE = 98,
- UNKNOWN_INFO_ELEMENT = 99,
- CONDITIONAL_IE_ERROR = 100,
- MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101,
- PROTOCOL_ERRORS = 111,
- APN_TYPE_CONFLICT = 112,
- INVALID_PCSCF_ADDR = 113,
- INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114,
- EMM_ACCESS_BARRED = 115,
- EMERGENCY_IFACE_ONLY = 116,
- IFACE_MISMATCH = 117,
- COMPANION_IFACE_IN_USE = 118,
- IP_ADDRESS_MISMATCH = 119,
- IFACE_AND_POL_FAMILY_MISMATCH = 120,
- EMM_ACCESS_BARRED_INFINITE_RETRY = 121,
- AUTH_FAILURE_ON_EMERGENCY_CALL = 122,
- OEM_DCFAILCAUSE_1 = 4097,
- OEM_DCFAILCAUSE_2 = 4098,
- OEM_DCFAILCAUSE_3 = 4099,
- OEM_DCFAILCAUSE_4 = 4100,
- OEM_DCFAILCAUSE_5 = 4101,
- OEM_DCFAILCAUSE_6 = 4102,
- OEM_DCFAILCAUSE_7 = 4103,
- OEM_DCFAILCAUSE_8 = 4104,
- OEM_DCFAILCAUSE_9 = 4105,
- OEM_DCFAILCAUSE_10 = 4106,
- OEM_DCFAILCAUSE_11 = 4107,
- OEM_DCFAILCAUSE_12 = 4108,
- OEM_DCFAILCAUSE_13 = 4109,
- OEM_DCFAILCAUSE_14 = 4110,
- OEM_DCFAILCAUSE_15 = 4111,
- VOICE_REGISTRATION_FAIL = -1,
- DATA_REGISTRATION_FAIL = -2,
- SIGNAL_LOST = -3,
- PREF_RADIO_TECH_CHANGED = -4,
- RADIO_POWER_OFF = -5,
- TETHERED_CALL_ACTIVE = -6,
- ERROR_UNSPECIFIED = 65535,
- LLC_SNDCP = 25,
- ACTIVATION_REJECTED_BCM_VIOLATION = 48,
- COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56,
- ONLY_IPV4V6_ALLOWED = 57,
- ONLY_NON_IP_ALLOWED = 58,
- UNSUPPORTED_QCI_VALUE = 59,
- BEARER_HANDLING_NOT_SUPPORTED = 60,
- INVALID_DNS_ADDR = 123,
- INVALID_PCSCF_OR_DNS_ADDRESS = 124,
- CALL_PREEMPT_BY_EMERGENCY_APN = 127,
- UE_INITIATED_DETACH_OR_DISCONNECT = 128,
- MIP_FA_REASON_UNSPECIFIED = 2000,
- MIP_FA_ADMIN_PROHIBITED = 2001,
- MIP_FA_INSUFFICIENT_RESOURCES = 2002,
- MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003,
- MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004,
- MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005,
- MIP_FA_MALFORMED_REQUEST = 2006,
- MIP_FA_MALFORMED_REPLY = 2007,
- MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008,
- MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009,
- MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010,
- MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011,
- MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012,
- MIP_FA_MISSING_NAI = 2013,
- MIP_FA_MISSING_HOME_AGENT = 2014,
- MIP_FA_MISSING_HOME_ADDRESS = 2015,
- MIP_FA_UNKNOWN_CHALLENGE = 2016,
- MIP_FA_MISSING_CHALLENGE = 2017,
- MIP_FA_STALE_CHALLENGE = 2018,
- MIP_HA_REASON_UNSPECIFIED = 2019,
- MIP_HA_ADMIN_PROHIBITED = 2020,
- MIP_HA_INSUFFICIENT_RESOURCES = 2021,
- MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022,
- MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023,
- MIP_HA_REGISTRATION_ID_MISMATCH = 2024,
- MIP_HA_MALFORMED_REQUEST = 2025,
- MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026,
- MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027,
- MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028,
- MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029,
- CLOSE_IN_PROGRESS = 2030,
- NETWORK_INITIATED_TERMINATION = 2031,
- MODEM_APP_PREEMPTED = 2032,
- PDN_IPV4_CALL_DISALLOWED = 2033,
- PDN_IPV4_CALL_THROTTLED = 2034,
- PDN_IPV6_CALL_DISALLOWED = 2035,
- PDN_IPV6_CALL_THROTTLED = 2036,
- MODEM_RESTART = 2037,
- PDP_PPP_NOT_SUPPORTED = 2038,
- UNPREFERRED_RAT = 2039,
- PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040,
- APN_PENDING_HANDOVER = 2041,
- PROFILE_BEARER_INCOMPATIBLE = 2042,
- SIM_CARD_CHANGED = 2043,
- LOW_POWER_MODE_OR_POWERING_DOWN = 2044,
- APN_DISABLED = 2045,
- MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046,
- IPV6_ADDRESS_TRANSFER_FAILED = 2047,
- TRAT_SWAP_FAILED = 2048,
- EHRPD_TO_HRPD_FALLBACK = 2049,
- MIP_CONFIG_FAILURE = 2050,
- PDN_INACTIVITY_TIMER_EXPIRED = 2051,
- MAX_IPV4_CONNECTIONS = 2052,
- MAX_IPV6_CONNECTIONS = 2053,
- APN_MISMATCH = 2054,
- IP_VERSION_MISMATCH = 2055,
- DUN_CALL_DISALLOWED = 2056,
- INTERNAL_EPC_NONEPC_TRANSITION = 2057,
- INTERFACE_IN_USE = 2058,
- APN_DISALLOWED_ON_ROAMING = 2059,
- APN_PARAMETERS_CHANGED = 2060,
- NULL_APN_DISALLOWED = 2061,
- THERMAL_MITIGATION = 2062,
- DATA_SETTINGS_DISABLED = 2063,
- DATA_ROAMING_SETTINGS_DISABLED = 2064,
- DDS_SWITCHED = 2065,
- FORBIDDEN_APN_NAME = 2066,
- DDS_SWITCH_IN_PROGRESS = 2067,
- CALL_DISALLOWED_IN_ROAMING = 2068,
- NON_IP_NOT_SUPPORTED = 2069,
- PDN_NON_IP_CALL_THROTTLED = 2070,
- PDN_NON_IP_CALL_DISALLOWED = 2071,
- CDMA_LOCK = 2072,
- CDMA_INTERCEPT = 2073,
- CDMA_REORDER = 2074,
- CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075,
- CDMA_INCOMING_CALL = 2076,
- CDMA_ALERT_STOP = 2077,
- CHANNEL_ACQUISITION_FAILURE = 2078,
- MAX_ACCESS_PROBE = 2079,
- CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080,
- NO_RESPONSE_FROM_BASE_STATION = 2081,
- REJECTED_BY_BASE_STATION = 2082,
- CONCURRENT_SERVICES_INCOMPATIBLE = 2083,
- NO_CDMA_SERVICE = 2084,
- RUIM_NOT_PRESENT = 2085,
- CDMA_RETRY_ORDER = 2086,
- ACCESS_BLOCK = 2087,
- ACCESS_BLOCK_ALL = 2088,
- IS707B_MAX_ACCESS_PROBES = 2089,
- THERMAL_EMERGENCY = 2090,
- CONCURRENT_SERVICES_NOT_ALLOWED = 2091,
- INCOMING_CALL_REJECTED = 2092,
- NO_SERVICE_ON_GATEWAY = 2093,
- NO_GPRS_CONTEXT = 2094,
- ILLEGAL_MS = 2095,
- ILLEGAL_ME = 2096,
- GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097,
- GPRS_SERVICES_NOT_ALLOWED = 2098,
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099,
- IMPLICITLY_DETACHED = 2100,
- PLMN_NOT_ALLOWED = 2101,
- LOCATION_AREA_NOT_ALLOWED = 2102,
- GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103,
- PDP_DUPLICATE = 2104,
- UE_RAT_CHANGE = 2105,
- CONGESTION = 2106,
- NO_PDP_CONTEXT_ACTIVATED = 2107,
- ACCESS_CLASS_DSAC_REJECTION = 2108,
- PDP_ACTIVATE_MAX_RETRY_FAILED = 2109,
- RADIO_ACCESS_BEARER_FAILURE = 2110,
- ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111,
- DRB_RELEASED_BY_RRC = 2112,
- CONNECTION_RELEASED = 2113,
- EMM_DETACHED = 2114,
- EMM_ATTACH_FAILED = 2115,
- EMM_ATTACH_STARTED = 2116,
- LTE_NAS_SERVICE_REQUEST_FAILED = 2117,
- DUPLICATE_BEARER_ID = 2118,
- ESM_COLLISION_SCENARIOS = 2119,
- ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120,
- ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121,
- ESM_BAD_OTA_MESSAGE = 2122,
- ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123,
- ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124,
- DS_EXPLICIT_DEACTIVATION = 2125,
- ESM_LOCAL_CAUSE_NONE = 2126,
- LTE_THROTTLING_NOT_REQUIRED = 2127,
- ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128,
- SERVICE_NOT_ALLOWED_ON_PLMN = 2129,
- EMM_T3417_EXPIRED = 2130,
- EMM_T3417_EXT_EXPIRED = 2131,
- RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132,
- RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133,
- RRC_UPLINK_CONNECTION_RELEASE = 2134,
- RRC_UPLINK_RADIO_LINK_FAILURE = 2135,
- RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136,
- RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137,
- RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138,
- RRC_CONNECTION_ACCESS_BARRED = 2139,
- RRC_CONNECTION_CELL_RESELECTION = 2140,
- RRC_CONNECTION_CONFIG_FAILURE = 2141,
- RRC_CONNECTION_TIMER_EXPIRED = 2142,
- RRC_CONNECTION_LINK_FAILURE = 2143,
- RRC_CONNECTION_CELL_NOT_CAMPED = 2144,
- RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145,
- RRC_CONNECTION_REJECT_BY_NETWORK = 2146,
- RRC_CONNECTION_NORMAL_RELEASE = 2147,
- RRC_CONNECTION_RADIO_LINK_FAILURE = 2148,
- RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149,
- RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150,
- RRC_CONNECTION_ABORT_REQUEST = 2151,
- RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152,
- NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153,
- NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154,
- ESM_PROCEDURE_TIME_OUT = 2155,
- INVALID_CONNECTION_ID = 2156,
- MAXIMIUM_NSAPIS_EXCEEDED = 2157,
- INVALID_PRIMARY_NSAPI = 2158,
- CANNOT_ENCODE_OTA_MESSAGE = 2159,
- RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160,
- PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161,
- PDP_MODIFY_TIMEOUT_EXPIRED = 2162,
- PDP_INACTIVE_TIMEOUT_EXPIRED = 2163,
- PDP_LOWERLAYER_ERROR = 2164,
- PDP_MODIFY_COLLISION = 2165,
- MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166,
- NAS_REQUEST_REJECTED_BY_NETWORK = 2167,
- RRC_CONNECTION_INVALID_REQUEST = 2168,
- RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169,
- RRC_CONNECTION_RF_UNAVAILABLE = 2170,
- RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171,
- RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172,
- RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173,
- RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174,
- RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175,
- IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176,
- IMEI_NOT_ACCEPTED = 2177,
- EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178,
- EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179,
- MSC_TEMPORARILY_NOT_REACHABLE = 2180,
- CS_DOMAIN_NOT_AVAILABLE = 2181,
- ESM_FAILURE = 2182,
- MAC_FAILURE = 2183,
- SYNCHRONIZATION_FAILURE = 2184,
- UE_SECURITY_CAPABILITIES_MISMATCH = 2185,
- SECURITY_MODE_REJECTED = 2186,
- UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187,
- CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188,
- NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189,
- INVALID_EMM_STATE = 2190,
- NAS_LAYER_FAILURE = 2191,
- MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192,
- EMBMS_NOT_ENABLED = 2193,
- IRAT_HANDOVER_FAILED = 2194,
- EMBMS_REGULAR_DEACTIVATION = 2195,
- TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196,
- LOWER_LAYER_REGISTRATION_FAILURE = 2197,
- DATA_PLAN_EXPIRED = 2198,
- UMTS_HANDOVER_TO_IWLAN = 2199,
- EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200,
- EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201,
- EVDO_HDR_CHANGED = 2202,
- EVDO_HDR_EXITED = 2203,
- EVDO_HDR_NO_SESSION = 2204,
- EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205,
- EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206,
- FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207,
- OTASP_COMMIT_IN_PROGRESS = 2208,
- NO_HYBRID_HDR_SERVICE = 2209,
- HDR_NO_LOCK_GRANTED = 2210,
- DBM_OR_SMS_IN_PROGRESS = 2211,
- HDR_FADE = 2212,
- HDR_ACCESS_FAILURE = 2213,
- UNSUPPORTED_1X_PREV = 2214,
- LOCAL_END = 2215,
- NO_SERVICE = 2216,
- FADE = 2217,
- NORMAL_RELEASE = 2218,
- ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219,
- REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220,
- EMERGENCY_MODE = 2221,
- PHONE_IN_USE = 2222,
- INVALID_MODE = 2223,
- INVALID_SIM_STATE = 2224,
- NO_COLLOCATED_HDR = 2225,
- UE_IS_ENTERING_POWERSAVE_MODE = 2226,
- DUAL_SWITCH = 2227,
- PPP_TIMEOUT = 2228,
- PPP_AUTH_FAILURE = 2229,
- PPP_OPTION_MISMATCH = 2230,
- PPP_PAP_FAILURE = 2231,
- PPP_CHAP_FAILURE = 2232,
- PPP_CLOSE_IN_PROGRESS = 2233,
- LIMITED_TO_IPV4 = 2234,
- LIMITED_TO_IPV6 = 2235,
- VSNCP_TIMEOUT = 2236,
- VSNCP_GEN_ERROR = 2237,
- VSNCP_APN_UNAUTHORIZED = 2238,
- VSNCP_PDN_LIMIT_EXCEEDED = 2239,
- VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240,
- VSNCP_PDN_GATEWAY_UNREACHABLE = 2241,
- VSNCP_PDN_GATEWAY_REJECT = 2242,
- VSNCP_INSUFFICIENT_PARAMETERS = 2243,
- VSNCP_RESOURCE_UNAVAILABLE = 2244,
- VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245,
- VSNCP_PDN_ID_IN_USE = 2246,
- VSNCP_SUBSCRIBER_LIMITATION = 2247,
- VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248,
- VSNCP_RECONNECT_NOT_ALLOWED = 2249,
- IPV6_PREFIX_UNAVAILABLE = 2250,
- HANDOFF_PREFERENCE_CHANGED = 2251,
- SLICE_REJECTED = 2252,
- MATCH_ALL_RULE_NOT_ALLOWED = 2253,
- ALL_MATCHING_RULES_FAILED = 2254,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl
deleted file mode 100644
index 0d11390..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl
+++ /dev/null
@@ -1,40 +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 DataConnActiveStatus {
- INACTIVE = 0,
- DORMANT = 1,
- ACTIVE = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl
deleted file mode 100644
index 2c86c0f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl
+++ /dev/null
@@ -1,44 +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 DataProfileId {
- DEFAULT = 0,
- TETHERED = 1,
- IMS = 2,
- FOTA = 3,
- CBS = 4,
- OEM_BASE = 1000,
- INVALID = -1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl
deleted file mode 100644
index d9d0487..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl
+++ /dev/null
@@ -1,55 +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
-parcelable DataProfileInfo {
- android.hardware.radio.DataProfileId profileId;
- String apn;
- android.hardware.radio.PdpProtocolType protocol;
- android.hardware.radio.PdpProtocolType roamingProtocol;
- android.hardware.radio.ApnAuthType authType;
- String user;
- String password;
- android.hardware.radio.DataProfileInfoType type;
- int maxConnsTime;
- int maxConns;
- int waitTime;
- boolean enabled;
- android.hardware.radio.ApnTypes supportedApnTypesBitmap;
- android.hardware.radio.RadioAccessFamily bearerBitmap;
- int mtuV4;
- int mtuV6;
- boolean preferred;
- boolean persistent;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl
deleted file mode 100644
index a559de0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl
+++ /dev/null
@@ -1,40 +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 DataProfileInfoType {
- COMMON = 0,
- THREE_GPP = 1,
- THREE_GPP2 = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl
deleted file mode 100644
index 303035f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable DataRegStateResult {
- android.hardware.radio.RegState regState;
- int rat;
- int reasonDataDenied;
- int maxDataCalls;
- android.hardware.radio.CellIdentity cellIdentity;
- android.hardware.radio.DataRegStateResultVopsInfo vopsInfo;
- android.hardware.radio.NrIndicators nrIndicators;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl
deleted file mode 100644
index 2ce646e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.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;
-@VintfStability
-union DataRegStateResultVopsInfo {
- boolean noinit;
- android.hardware.radio.LteVopsInfo lteVopsInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl
deleted file mode 100644
index 1dd0e08..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl
+++ /dev/null
@@ -1,40 +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 DataRequestReason {
- NORMAL = 1,
- SHUTDOWN = 2,
- HANDOVER = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl
deleted file mode 100644
index 70aaa0f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum DataThrottlingAction {
- NO_DATA_THROTTLING = 0,
- THROTTLE_SECONDARY_CARRIER = 1,
- THROTTLE_ANCHOR_CARRIER = 2,
- HOLD = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl
deleted file mode 100644
index 2d3cea8..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl
+++ /dev/null
@@ -1,40 +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 DeviceStateType {
- POWER_SAVE_MODE = 0,
- CHARGING_STATE = 1,
- LOW_DATA_EXPECTED = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl
deleted file mode 100644
index f8edf48..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable Dial {
- String address;
- android.hardware.radio.Clir clir;
- android.hardware.radio.UusInfo[] uusInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl
deleted file mode 100644
index 062af35..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.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 Domain {
- CS = 1,
- PS = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl
deleted file mode 100644
index 846084b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum EmcIndicator {
- EMC_NOT_SUPPORTED = 0,
- EMC_NR_CONNECTED_TO_5GCN = 1,
- EMC_EUTRA_CONNECTED_TO_5GCN = 2,
- EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl
deleted file mode 100644
index 95f5a46..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl
+++ /dev/null
@@ -1,40 +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 EmergencyCallRouting {
- UNKNOWN = 0,
- EMERGENCY = 1,
- NORMAL = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl
deleted file mode 100644
index 7aa4cd8..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.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;
-@VintfStability
-parcelable EmergencyNumber {
- String number;
- String mcc;
- String mnc;
- android.hardware.radio.EmergencyServiceCategory categories;
- String[] urns;
- android.hardware.radio.EmergencyNumberSource sources;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl
deleted file mode 100644
index 1424bfa..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl
+++ /dev/null
@@ -1,41 +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 EmergencyNumberSource {
- NETWORK_SIGNALING = 1,
- SIM = 2,
- MODEM_CONFIG = 4,
- DEFAULT = 8,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl
deleted file mode 100644
index 0341572..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.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 EmergencyServiceCategory {
- UNSPECIFIED = 0,
- POLICE = 1,
- AMBULANCE = 2,
- FIRE_BRIGADE = 4,
- MARINE_GUARD = 8,
- MOUNTAIN_RESCUE = 16,
- MIEC = 32,
- AIEC = 64,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl
deleted file mode 100644
index 21100f2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum EmfIndicator {
- EMF_NOT_SUPPORTED = 0,
- EMF_NR_CONNECTED_TO_5GCN = 1,
- EMF_EUTRA_CONNECTED_TO_5GCN = 2,
- EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl
deleted file mode 100644
index 8eb3fda..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable EpsQos {
- int qci;
- android.hardware.radio.QosBandwidth downlink;
- android.hardware.radio.QosBandwidth uplink;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl
deleted file mode 100644
index 1449865..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl
+++ /dev/null
@@ -1,97 +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 EutranBands {
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_4 = 4,
- BAND_5 = 5,
- BAND_6 = 6,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_9 = 9,
- BAND_10 = 10,
- BAND_11 = 11,
- BAND_12 = 12,
- BAND_13 = 13,
- BAND_14 = 14,
- BAND_17 = 17,
- BAND_18 = 18,
- BAND_19 = 19,
- BAND_20 = 20,
- BAND_21 = 21,
- BAND_22 = 22,
- BAND_23 = 23,
- BAND_24 = 24,
- BAND_25 = 25,
- BAND_26 = 26,
- BAND_27 = 27,
- BAND_28 = 28,
- BAND_30 = 30,
- BAND_31 = 31,
- BAND_33 = 33,
- BAND_34 = 34,
- BAND_35 = 35,
- BAND_36 = 36,
- BAND_37 = 37,
- BAND_38 = 38,
- BAND_39 = 39,
- BAND_40 = 40,
- BAND_41 = 41,
- BAND_42 = 42,
- BAND_43 = 43,
- BAND_44 = 44,
- BAND_45 = 45,
- BAND_46 = 46,
- BAND_47 = 47,
- BAND_48 = 48,
- BAND_65 = 65,
- BAND_66 = 66,
- BAND_68 = 68,
- BAND_70 = 70,
- BAND_49 = 49,
- BAND_50 = 50,
- BAND_51 = 51,
- BAND_52 = 52,
- BAND_53 = 53,
- BAND_71 = 71,
- BAND_72 = 72,
- BAND_73 = 73,
- BAND_74 = 74,
- BAND_85 = 85,
- BAND_87 = 87,
- BAND_88 = 88,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl
deleted file mode 100644
index 148dfa0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable EvdoSignalStrength {
- int dbm;
- int ecio;
- int signalNoiseRatio;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl
deleted file mode 100644
index 243b54e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl
+++ /dev/null
@@ -1,41 +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 FrequencyRange {
- LOW = 1,
- MID = 2,
- HIGH = 3,
- MMWAVE = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl
deleted file mode 100644
index 0efe023..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl
+++ /dev/null
@@ -1,51 +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 GeranBands {
- BAND_T380 = 1,
- BAND_T410 = 2,
- BAND_450 = 3,
- BAND_480 = 4,
- BAND_710 = 5,
- BAND_750 = 6,
- BAND_T810 = 7,
- BAND_850 = 8,
- BAND_P900 = 9,
- BAND_E900 = 10,
- BAND_R900 = 11,
- BAND_DCS1800 = 12,
- BAND_PCS1900 = 13,
- BAND_ER900 = 14,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl
deleted file mode 100644
index e74845e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.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;
-@VintfStability
-parcelable GsmBroadcastSmsConfigInfo {
- int fromServiceId;
- int toServiceId;
- int fromCodeScheme;
- int toCodeScheme;
- boolean selected;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl
deleted file mode 100644
index 5d3a6e1..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable GsmSignalStrength {
- int signalStrength;
- int bitErrorRate;
- int timingAdvance;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl
deleted file mode 100644
index 1b00b0f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.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;
-@VintfStability
-parcelable GsmSmsMessage {
- String smscPdu;
- String pdu;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl
deleted file mode 100644
index 661b7b7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum HandoverFailureMode {
- LEGACY = 0,
- DO_FALLBACK = 1,
- NO_FALLBACK_RETRY_HANDOVER = 2,
- NO_FALLBACK_RETRY_SETUP_NORMAL = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl
deleted file mode 100644
index 4a5c107..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.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;
-@VintfStability
-parcelable HardwareConfig {
- android.hardware.radio.HardwareConfigType type;
- String uuid;
- android.hardware.radio.HardwareConfigState state;
- android.hardware.radio.HardwareConfigModem[] modem;
- android.hardware.radio.HardwareConfigSim[] sim;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl
deleted file mode 100644
index 08e12e6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.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;
-@VintfStability
-parcelable HardwareConfigModem {
- int rilModel;
- int rat;
- int maxVoice;
- int maxData;
- int maxStandby;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl
deleted file mode 100644
index 8df23b4..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.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;
-@VintfStability
-parcelable HardwareConfigSim {
- String modemUuid;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl
deleted file mode 100644
index 672fe47..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl
+++ /dev/null
@@ -1,40 +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 HardwareConfigState {
- ENABLED = 0,
- STANDBY = 1,
- DISABLED = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl
deleted file mode 100644
index a152282..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.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 HardwareConfigType {
- MODEM = 0,
- SIM = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl
deleted file mode 100644
index 5a7b251..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl
+++ /dev/null
@@ -1,200 +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 IRadio {
- oneway void acceptCall(in int serial);
- oneway void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu);
- oneway void acknowledgeLastIncomingCdmaSms(in int serial, in android.hardware.radio.CdmaSmsAck smsAck);
- oneway void acknowledgeLastIncomingGsmSms(in int serial, in boolean success, in android.hardware.radio.SmsAcknowledgeFailCause cause);
- oneway void allocatePduSessionId(in int serial);
- oneway void areUiccApplicationsEnabled(in int serial);
- oneway void cancelHandover(in int serial, in int callId);
- oneway void cancelPendingUssd(in int serial);
- oneway void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid);
- oneway void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid);
- oneway void conference(in int serial);
- oneway void deactivateDataCall(in int serial, in int cid, in android.hardware.radio.DataRequestReason reason);
- oneway void deleteSmsOnRuim(in int serial, in int index);
- oneway void deleteSmsOnSim(in int serial, in int index);
- oneway void dial(in int serial, in android.hardware.radio.Dial dialInfo);
- oneway void emergencyDial(in int serial, in android.hardware.radio.Dial dialInfo, in android.hardware.radio.EmergencyServiceCategory categories, in String[] urns, in android.hardware.radio.EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, in boolean isTesting);
- oneway void enableModem(in int serial, in boolean on);
- oneway void enableUiccApplications(in int serial, in boolean enable);
- oneway void exitEmergencyCallbackMode(in int serial);
- oneway void explicitCallTransfer(in int serial);
- oneway void getAllowedCarriers(in int serial);
- oneway void getAllowedNetworkTypesBitmap(in int serial);
- oneway void getAvailableBandModes(in int serial);
- oneway void getAvailableNetworks(in int serial);
- oneway void getBarringInfo(in int serial);
- oneway void getBasebandVersion(in int serial);
- oneway void getCDMASubscription(in int serial);
- oneway void getCallForwardStatus(in int serial, in android.hardware.radio.CallForwardInfo callInfo);
- oneway void getCallWaiting(in int serial, in int serviceClass);
- oneway void getCdmaBroadcastConfig(in int serial);
- oneway void getCdmaRoamingPreference(in int serial);
- oneway void getCdmaSubscriptionSource(in int serial);
- oneway void getCellInfoList(in int serial);
- oneway void getClip(in int serial);
- oneway void getClir(in int serial);
- oneway void getCurrentCalls(in int serial);
- oneway void getDataCallList(in int serial);
- oneway void getDataRegistrationState(in int serial);
- oneway void getDeviceIdentity(in int serial);
- oneway void getFacilityLockForApp(in int serial, in String facility, in String password, in int serviceClass, in String appId);
- oneway void getGsmBroadcastConfig(in int serial);
- oneway void getHardwareConfig(in int serial);
- oneway void getIccCardStatus(in int serial);
- oneway void getImsRegistrationState(in int serial);
- oneway void getImsiForApp(in int serial, in String aid);
- oneway void getLastCallFailCause(in int serial);
- oneway void getModemActivityInfo(in int serial);
- oneway void getModemStackStatus(in int serial);
- oneway void getMute(in int serial);
- oneway void getNeighboringCids(in int serial);
- oneway void getNetworkSelectionMode(in int serial);
- oneway void getOperator(in int serial);
- oneway void getPreferredNetworkType(in int serial);
- oneway void getPreferredNetworkTypeBitmap(in int serial);
- oneway void getPreferredVoicePrivacy(in int serial);
- oneway void getRadioCapability(in int serial);
- oneway void getSignalStrength(in int serial);
- oneway void getSimPhonebookCapacity(in int serial);
- oneway void getSimPhonebookRecords(in int serial);
- oneway void getSlicingConfig(in int serial);
- oneway void getSmscAddress(in int serial);
- oneway void getSystemSelectionChannels(in int serial);
- oneway void getTTYMode(in int serial);
- oneway void getVoiceRadioTechnology(in int serial);
- oneway void getVoiceRegistrationState(in int serial);
- oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept);
- oneway void hangup(in int serial, in int gsmIndex);
- oneway void hangupForegroundResumeBackground(in int serial);
- oneway void hangupWaitingOrBackground(in int serial);
- oneway void iccCloseLogicalChannel(in int serial, in int channelId);
- oneway void iccIOForApp(in int serial, in android.hardware.radio.IccIo iccIo);
- oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2);
- oneway void iccTransmitApduBasicChannel(in int serial, in android.hardware.radio.SimApdu message);
- oneway void iccTransmitApduLogicalChannel(in int serial, in android.hardware.radio.SimApdu message);
- oneway void isNrDualConnectivityEnabled(in int serial);
- oneway void nvReadItem(in int serial, in android.hardware.radio.NvItem itemId);
- oneway void nvResetConfig(in int serial, in android.hardware.radio.ResetNvType resetType);
- oneway void nvWriteCdmaPrl(in int serial, in byte[] prl);
- oneway void nvWriteItem(in int serial, in android.hardware.radio.NvWriteItem item);
- oneway void pullLceData(in int serial);
- oneway void rejectCall(in int serial);
- oneway void releasePduSessionId(in int serial, in int id);
- oneway void reportSmsMemoryStatus(in int serial, in boolean available);
- 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 requestShutdown(in int serial);
- oneway void responseAcknowledgement();
- oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off);
- oneway void sendCDMAFeatureCode(in int serial, in String featureCode);
- oneway void sendCdmaSms(in int serial, in android.hardware.radio.CdmaSmsMessage sms);
- oneway void sendCdmaSmsExpectMore(in int serial, in android.hardware.radio.CdmaSmsMessage sms);
- oneway void sendDeviceState(in int serial, in android.hardware.radio.DeviceStateType deviceStateType, in boolean state);
- oneway void sendDtmf(in int serial, in String s);
- oneway void sendEnvelope(in int serial, in String command);
- oneway void sendEnvelopeWithStatus(in int serial, in String contents);
- oneway void sendImsSms(in int serial, in android.hardware.radio.ImsSmsMessage message);
- oneway void sendSMSExpectMore(in int serial, in android.hardware.radio.GsmSmsMessage message);
- oneway void sendSms(in int serial, in android.hardware.radio.GsmSmsMessage message);
- oneway void sendSmsExpectMore(in int serial, in android.hardware.radio.GsmSmsMessage message);
- oneway void sendTerminalResponseToSim(in int serial, in String commandResponse);
- oneway void sendUssd(in int serial, in String ussd);
- oneway void separateConnection(in int serial, in int gsmIndex);
- oneway void setAllowedCarriers(in int serial, in android.hardware.radio.CarrierRestrictionsWithPriority carriers, in android.hardware.radio.SimLockMultiSimPolicy multiSimPolicy);
- oneway void setAllowedNetworkTypesBitmap(in int serial, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
- oneway void setBandMode(in int serial, in android.hardware.radio.RadioBandMode mode);
- oneway void setBarringPassword(in int serial, in String facility, in String oldPassword, in String newPassword);
- oneway void setCallForward(in int serial, in android.hardware.radio.CallForwardInfo callInfo);
- oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass);
- oneway void setCarrierInfoForImsiEncryption(in int serial, in android.hardware.radio.ImsiEncryptionInfo imsiEncryptionInfo);
- oneway void setCdmaBroadcastActivation(in int serial, in boolean activate);
- oneway void setCdmaBroadcastConfig(in int serial, in android.hardware.radio.CdmaBroadcastSmsConfigInfo[] configInfo);
- oneway void setCdmaRoamingPreference(in int serial, in android.hardware.radio.CdmaRoamingType type);
- oneway void setCdmaSubscriptionSource(in int serial, in android.hardware.radio.CdmaSubscriptionSource cdmaSub);
- oneway void setCellInfoListRate(in int serial, in int rate);
- oneway void setClir(in int serial, in int status);
- oneway void setDataAllowed(in int serial, in boolean allow);
- oneway void setDataProfile(in int serial, in android.hardware.radio.DataProfileInfo[] profiles);
- oneway void setDataThrottling(in int serial, in android.hardware.radio.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis);
- oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState, in String password, in int serviceClass, in String appId);
- oneway void setGsmBroadcastActivation(in int serial, in boolean activate);
- oneway void setGsmBroadcastConfig(in int serial, in android.hardware.radio.GsmBroadcastSmsConfigInfo[] configInfo);
- oneway void setIndicationFilter(in int serial, in android.hardware.radio.IndicationFilter indicationFilter);
- oneway void setInitialAttachApn(in int serial, in android.hardware.radio.DataProfileInfo dataProfileInfo);
- oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, in int[] thresholdsUplinkKbps, in android.hardware.radio.AccessNetwork accessNetwork);
- oneway void setLocationUpdates(in int serial, in boolean enable);
- oneway void setMute(in int serial, in boolean enable);
- oneway void setNetworkSelectionModeAutomatic(in int serial);
- oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.RadioAccessNetworks ran);
- oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.NrDualConnectivityState nrDualConnectivityState);
- oneway void setPreferredNetworkType(in int serial, in android.hardware.radio.PreferredNetworkType nwType);
- oneway void setPreferredNetworkTypeBitmap(in int serial, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
- oneway void setPreferredVoicePrivacy(in int serial, in boolean enable);
- oneway void setRadioCapability(in int serial, in android.hardware.radio.RadioCapability rc);
- oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, in boolean preferredForEmergencyCall);
- void setResponseFunctions(in android.hardware.radio.IRadioResponse radioResponse, in android.hardware.radio.IRadioIndication radioIndication);
- oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.SignalThresholdInfo signalThresholdInfo, in android.hardware.radio.AccessNetwork accessNetwork);
- oneway void setSimCardPower(in int serial, in android.hardware.radio.CardPowerState powerUp);
- oneway void setSmscAddress(in int serial, in String smsc);
- oneway void setSuppServiceNotifications(in int serial, in boolean enable);
- oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.RadioAccessSpecifier[] specifiers);
- oneway void setTTYMode(in int serial, in android.hardware.radio.TtyMode mode);
- oneway void setUiccSubscription(in int serial, in android.hardware.radio.SelectUiccSub uiccSub);
- oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.DataRequestReason reason, in android.hardware.radio.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in android.hardware.radio.OptionalSliceInfo sliceInfo, in android.hardware.radio.OptionalTrafficDescriptor trafficDescriptor, in boolean matchAllRuleAllowed);
- oneway void startDtmf(in int serial, in String s);
- oneway void startHandover(in int serial, in int callId);
- oneway void startKeepalive(in int serial, in android.hardware.radio.KeepaliveRequest keepalive);
- oneway void startLceService(in int serial, in int reportInterval, in boolean pullMode);
- oneway void startNetworkScan(in int serial, in android.hardware.radio.NetworkScanRequest request);
- oneway void stopDtmf(in int serial);
- oneway void stopKeepalive(in int serial, in int sessionHandle);
- oneway void stopLceService(in int serial);
- oneway void stopNetworkScan(in int serial);
- oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid);
- oneway void supplyIccPinForApp(in int serial, in String pin, in String aid);
- oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid);
- oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid);
- oneway void supplyNetworkDepersonalization(in int serial, in String netPin);
- oneway void supplySimDepersonalization(in int serial, in android.hardware.radio.PersoSubstate persoType, in String controlKey);
- oneway void switchWaitingOrHoldingAndActive(in int serial);
- oneway void updateSimPhonebookRecords(in int serial, in android.hardware.radio.PhonebookRecordInfo recordInfo);
- oneway void writeSmsToRuim(in int serial, in android.hardware.radio.CdmaSmsWriteArgs cdmaSms);
- oneway void writeSmsToSim(in int serial, in android.hardware.radio.SmsWriteArgs smsWriteArgs);
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl
deleted file mode 100644
index 48e9e3e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl
+++ /dev/null
@@ -1,94 +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 IRadioIndication {
- oneway void barringInfoChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellIdentity cellIdentity, in android.hardware.radio.BarringInfo[] barringInfos);
- oneway void callRing(in android.hardware.radio.RadioIndicationType type, in boolean isGsm, in android.hardware.radio.CdmaSignalInfoRecord record);
- oneway void callStateChanged(in android.hardware.radio.RadioIndicationType type);
- oneway void carrierInfoForImsiEncryption(in android.hardware.radio.RadioIndicationType info);
- oneway void cdmaCallWaiting(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaCallWaiting callWaitingRecord);
- oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaInformationRecords records);
- oneway void cdmaNewSms(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaSmsMessage msg);
- oneway void cdmaOtaProvisionStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaOtaProvisionStatus status);
- oneway void cdmaPrlChanged(in android.hardware.radio.RadioIndicationType type, in int version);
- oneway void cdmaRuimSmsStorageFull(in android.hardware.radio.RadioIndicationType type);
- oneway void cdmaSubscriptionSourceChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaSubscriptionSource cdmaSource);
- oneway void cellInfoList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellInfo[] records);
- oneway void currentEmergencyNumberList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.EmergencyNumber[] emergencyNumberList);
- oneway void currentLinkCapacityEstimate(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.LinkCapacityEstimate lce);
- oneway void currentPhysicalChannelConfigs(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PhysicalChannelConfig[] configs);
- oneway void currentSignalStrength(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SignalStrength signalStrength);
- oneway void dataCallListChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SetupDataCallResult[] dcList);
- oneway void enterEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type);
- oneway void exitEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type);
- oneway void hardwareConfigChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.HardwareConfig[] configs);
- oneway void imsNetworkStateChanged(in android.hardware.radio.RadioIndicationType type);
- oneway void indicateRingbackTone(in android.hardware.radio.RadioIndicationType type, in boolean start);
- oneway void keepaliveStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.KeepaliveStatus status);
- oneway void lceData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.LceDataInfo lce);
- oneway void modemReset(in android.hardware.radio.RadioIndicationType type, in String reason);
- oneway void networkScanResult(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.NetworkScanResult result);
- oneway void networkStateChanged(in android.hardware.radio.RadioIndicationType type);
- oneway void newBroadcastSms(in android.hardware.radio.RadioIndicationType type, in byte[] data);
- oneway void newSms(in android.hardware.radio.RadioIndicationType type, in byte[] pdu);
- oneway void newSmsOnSim(in android.hardware.radio.RadioIndicationType type, in int recordNumber);
- oneway void newSmsStatusReport(in android.hardware.radio.RadioIndicationType type, in byte[] pdu);
- oneway void nitzTimeReceived(in android.hardware.radio.RadioIndicationType type, in String nitzTime, in long receivedTime);
- oneway void onSupplementaryServiceIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.StkCcUnsolSsResult ss);
- oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.UssdModeType modeType, in String msg);
- oneway void pcoData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PcoDataInfo pco);
- oneway void radioCapabilityIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioCapability rc);
- oneway void radioStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioState radioState);
- oneway void registrationFailed(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellIdentity cellIdentity, in String chosenPlmn, in android.hardware.radio.Domain domain, in int causeCode, in int additionalCauseCode);
- oneway void resendIncallMute(in android.hardware.radio.RadioIndicationType type);
- oneway void restrictedStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PhoneRestrictedState state);
- oneway void rilConnected(in android.hardware.radio.RadioIndicationType type);
- oneway void simPhonebookChanged(in android.hardware.radio.RadioIndicationType type);
- oneway void simPhonebookRecordsReceived(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PbReceivedStatus status, in android.hardware.radio.PhonebookRecordInfo[] records);
- oneway void simRefresh(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SimRefreshResult refreshResult);
- oneway void simSmsStorageFull(in android.hardware.radio.RadioIndicationType type);
- oneway void simStatusChanged(in android.hardware.radio.RadioIndicationType type);
- oneway void srvccStateNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SrvccState state);
- oneway void stkCallControlAlphaNotify(in android.hardware.radio.RadioIndicationType type, in String alpha);
- oneway void stkCallSetup(in android.hardware.radio.RadioIndicationType type, in long timeout);
- oneway void stkEventNotify(in android.hardware.radio.RadioIndicationType type, in String cmd);
- oneway void stkProactiveCommand(in android.hardware.radio.RadioIndicationType type, in String cmd);
- oneway void stkSessionEnd(in android.hardware.radio.RadioIndicationType type);
- oneway void subscriptionStatusChanged(in android.hardware.radio.RadioIndicationType type, in boolean activate);
- oneway void suppSvcNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SuppSvcNotification suppSvc);
- oneway void uiccApplicationsEnablementChanged(in android.hardware.radio.RadioIndicationType type, in boolean enabled);
- oneway void unthrottleApn(in android.hardware.radio.RadioIndicationType type, in String apn);
- oneway void voiceRadioTechChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioTechnology rat);
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl
deleted file mode 100644
index 9137b973..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl
+++ /dev/null
@@ -1,199 +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 IRadioResponse {
- oneway void acceptCallResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void acknowledgeIncomingGsmSmsWithPduResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void acknowledgeLastIncomingCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void acknowledgeLastIncomingGsmSmsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void acknowledgeRequest(in int serial);
- oneway void allocatePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info, in int id);
- oneway void areUiccApplicationsEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enabled);
- oneway void cancelHandoverResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void changeIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void changeIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void conferenceResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void deactivateDataCallResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void deleteSmsOnRuimResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void deleteSmsOnSimResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void dialResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void emergencyDialResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void enableModemResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void enableUiccApplicationsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void exitEmergencyCallbackModeResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void explicitCallTransferResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void getAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CarrierRestrictionsWithPriority carriers, in android.hardware.radio.SimLockMultiSimPolicy multiSimPolicy);
- oneway void getAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
- oneway void getAvailableBandModesResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioBandMode[] bandModes);
- oneway void getAvailableNetworksResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.OperatorInfo[] networkInfos);
- oneway void getBarringInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CellIdentity cellIdentity, in android.hardware.radio.BarringInfo[] barringInfos);
- oneway void getBasebandVersionResponse(in android.hardware.radio.RadioResponseInfo info, in String version);
- oneway void getCDMASubscriptionResponse(in android.hardware.radio.RadioResponseInfo info, in String mdn, in String hSid, in String hNid, in String min, in String prl);
- oneway void getCallForwardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CallForwardInfo[] callForwardInfos);
- oneway void getCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable, in int serviceClass);
- oneway void getCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaBroadcastSmsConfigInfo[] configs);
- oneway void getCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaRoamingType type);
- oneway void getCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaSubscriptionSource source);
- oneway void getCellInfoListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CellInfo[] cellInfo);
- oneway void getClipResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.ClipStatus status);
- oneway void getClirResponse(in android.hardware.radio.RadioResponseInfo info, in int n, in int m);
- oneway void getCurrentCallsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.Call[] calls);
- oneway void getDataCallListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SetupDataCallResult[] dcResponse);
- oneway void getDataRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RegStateResult dataRegResponse);
- oneway void getDeviceIdentityResponse(in android.hardware.radio.RadioResponseInfo info, in String imei, in String imeisv, in String esn, in String meid);
- oneway void getFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int response);
- oneway void getGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.GsmBroadcastSmsConfigInfo[] configs);
- oneway void getHardwareConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.HardwareConfig[] config);
- oneway void getIMSIForAppResponse(in android.hardware.radio.RadioResponseInfo info, in String imsi);
- oneway void getIccCardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CardStatus cardStatus);
- oneway void getImsRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isRegistered, in android.hardware.radio.RadioTechnologyFamily ratFamily);
- oneway void getLastCallFailCauseResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LastCallFailCauseInfo failCauseinfo);
- oneway void getModemActivityInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.ActivityStatsInfo activityInfo);
- oneway void getModemStackStatusResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
- oneway void getMuteResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable);
- oneway void getNeighboringCidsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.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 getPreferredNetworkTypeBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessFamily networkTypeBitmap);
- oneway void getPreferredNetworkTypeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PreferredNetworkType nwType);
- oneway void getPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable);
- oneway void getRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioCapability rc);
- oneway void getSignalStrengthResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SignalStrength signalStrength);
- oneway void getSimPhonebookCapacityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PhonebookCapacity capacity);
- oneway void getSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void getSlicingConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SlicingConfig slicingConfig);
- oneway void getSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info, in String smsc);
- oneway void getSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessSpecifier[] specifiers);
- oneway void getTTYModeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.TtyMode mode);
- 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.RegStateResult voiceRegResponse);
- oneway void handleStkCallSetupRequestFromSimResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void hangupConnectionResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void hangupForegroundResumeBackgroundResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void hangupWaitingOrBackgroundResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void iccCloseLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void iccIOForAppResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult iccIo);
- oneway void iccOpenLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in int channelId, in byte[] selectResponse);
- oneway void iccTransmitApduBasicChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result);
- oneway void iccTransmitApduLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result);
- oneway void isNrDualConnectivityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
- oneway void nvReadItemResponse(in android.hardware.radio.RadioResponseInfo info, in String result);
- oneway void nvResetConfigResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void nvWriteCdmaPrlResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void nvWriteItemResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void pullLceDataResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceDataInfo lceInfo);
- oneway void rejectCallResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void releasePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void reportSmsMemoryStatusResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void reportStkServiceIsRunningResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void requestIccSimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result);
- oneway void requestIsimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in String response);
- oneway void requestShutdownResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void sendBurstDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void sendCDMAFeatureCodeResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void sendCdmaSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendDeviceStateResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void sendDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
- 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.IccIoResult iccIo);
- oneway void sendImsSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendSMSExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms);
- oneway void sendTerminalResponseToSimResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void separateConnectionResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setBandModeResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setBarringPasswordResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCallForwardResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCarrierInfoForImsiEncryptionResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCdmaBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setCellInfoListRateResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setClirResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setDataAllowedResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setDataProfileResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setDataThrottlingResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int retry);
- oneway void setGsmBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setIndicationFilterResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setInitialAttachApnResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setLinkCapacityReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setLocationUpdatesResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setMuteResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setNetworkSelectionModeAutomaticResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setNetworkSelectionModeManualResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setNrDualConnectivityStateResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setPreferredNetworkTypeBitmapResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setPreferredNetworkTypeResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioCapability rc);
- oneway void setRadioPowerResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setSignalStrengthReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setSimCardPowerResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setSuppServiceNotificationsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setTTYModeResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setUiccSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void setupDataCallResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SetupDataCallResult dcResponse);
- oneway void startDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void startHandoverResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void startKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.KeepaliveStatus status);
- oneway void startLceServiceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceStatusInfo statusInfo);
- oneway void startNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void stopDtmfResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void stopKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void stopLceServiceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceStatusInfo statusInfo);
- oneway void stopNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void supplyIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void supplyIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void supplyIccPuk2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void supplyIccPukForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void supplyNetworkDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries);
- oneway void supplySimDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PersoSubstate persoType, in int remainingRetries);
- oneway void switchWaitingOrHoldingAndActiveResponse(in android.hardware.radio.RadioResponseInfo info);
- oneway void updateSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info, in int updatedRecordIndex);
- oneway void writeSmsToRuimResponse(in android.hardware.radio.RadioResponseInfo info, in int index);
- oneway void writeSmsToSimResponse(in android.hardware.radio.RadioResponseInfo info, in int index);
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl
index fa04264..2a111c6 100644
--- 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
@@ -39,7 +39,7 @@
oneway void disconnectReq(in int token);
oneway void powerReq(in int token, in boolean state);
oneway void resetSimReq(in int token);
- void setCallback(in android.hardware.radio.ISapCallback sapCallback);
+ 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/IccIo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.aidl
deleted file mode 100644
index 1bea23a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.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
-parcelable IccIo {
- int command;
- int fileId;
- String path;
- int p1;
- int p2;
- int p3;
- String data;
- String pin2;
- String aid;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl
deleted file mode 100644
index 50b1e9e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable IccIoResult {
- int sw1;
- int sw2;
- String simResponse;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl
deleted file mode 100644
index b5ffcc6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.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;
-@VintfStability
-parcelable ImsSmsMessage {
- android.hardware.radio.RadioTechnologyFamily tech;
- boolean retry;
- int messageRef;
- android.hardware.radio.CdmaSmsMessage[] cdmaMessage;
- android.hardware.radio.GsmSmsMessage[] gsmMessage;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl
deleted file mode 100644
index c89c3a0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.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;
-@VintfStability
-parcelable ImsiEncryptionInfo {
- String mcc;
- String mnc;
- byte[] carrierKey;
- String keyIdentifier;
- long expirationTime;
- android.hardware.radio.PublicKeyType keyType;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl
deleted file mode 100644
index ad3441f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.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 IncrementalResultsPeriodicityRange {
- MIN = 1,
- MAX = 10,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl
deleted file mode 100644
index 629af68..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.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;
-@Backing(type="int") @VintfStability
-enum IndicationFilter {
- NONE = 0,
- ALL = -1,
- SIGNAL_STRENGTH = 1,
- FULL_NETWORK_STATE = 2,
- DATA_CALL_DORMANCY_CHANGED = 4,
- LINK_CAPACITY_ESTIMATE = 8,
- PHYSICAL_CHANNEL_CONFIG = 16,
- REGISTRATION_FAILURE = 32,
- BARRING_INFO = 64,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl
deleted file mode 100644
index 1f23a69..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable KeepaliveRequest {
- android.hardware.radio.KeepaliveType type;
- byte[] sourceAddress;
- int sourcePort;
- byte[] destinationAddress;
- int destinationPort;
- int maxKeepaliveIntervalMillis;
- int cid;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl
deleted file mode 100644
index 8729b69..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.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;
-@VintfStability
-parcelable KeepaliveStatus {
- int sessionHandle;
- android.hardware.radio.KeepaliveStatusCode code;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl
deleted file mode 100644
index 8ad5dc5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl
+++ /dev/null
@@ -1,40 +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 KeepaliveStatusCode {
- ACTIVE = 0,
- INACTIVE = 1,
- PENDING = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl
deleted file mode 100644
index f0dd521..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.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 KeepaliveType {
- NATT_IPV4 = 0,
- NATT_IPV6 = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl
deleted file mode 100644
index 024f7ea..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl
+++ /dev/null
@@ -1,133 +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 LastCallFailCause {
- UNOBTAINABLE_NUMBER = 1,
- NO_ROUTE_TO_DESTINATION = 3,
- CHANNEL_UNACCEPTABLE = 6,
- OPERATOR_DETERMINED_BARRING = 8,
- NORMAL = 16,
- BUSY = 17,
- NO_USER_RESPONDING = 18,
- NO_ANSWER_FROM_USER = 19,
- CALL_REJECTED = 21,
- NUMBER_CHANGED = 22,
- PREEMPTION = 25,
- DESTINATION_OUT_OF_ORDER = 27,
- INVALID_NUMBER_FORMAT = 28,
- FACILITY_REJECTED = 29,
- RESP_TO_STATUS_ENQUIRY = 30,
- NORMAL_UNSPECIFIED = 31,
- CONGESTION = 34,
- NETWORK_OUT_OF_ORDER = 38,
- TEMPORARY_FAILURE = 41,
- SWITCHING_EQUIPMENT_CONGESTION = 42,
- ACCESS_INFORMATION_DISCARDED = 43,
- REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44,
- RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47,
- QOS_UNAVAILABLE = 49,
- REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
- INCOMING_CALLS_BARRED_WITHIN_CUG = 55,
- BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
- BEARER_CAPABILITY_UNAVAILABLE = 58,
- SERVICE_OPTION_NOT_AVAILABLE = 63,
- BEARER_SERVICE_NOT_IMPLEMENTED = 65,
- ACM_LIMIT_EXCEEDED = 68,
- REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
- ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70,
- SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79,
- INVALID_TRANSACTION_IDENTIFIER = 81,
- USER_NOT_MEMBER_OF_CUG = 87,
- INCOMPATIBLE_DESTINATION = 88,
- INVALID_TRANSIT_NW_SELECTION = 91,
- SEMANTICALLY_INCORRECT_MESSAGE = 95,
- INVALID_MANDATORY_INFORMATION = 96,
- MESSAGE_TYPE_NON_IMPLEMENTED = 97,
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
- INFORMATION_ELEMENT_NON_EXISTENT = 99,
- CONDITIONAL_IE_ERROR = 100,
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
- RECOVERY_ON_TIMER_EXPIRED = 102,
- PROTOCOL_ERROR_UNSPECIFIED = 111,
- INTERWORKING_UNSPECIFIED = 127,
- CALL_BARRED = 240,
- FDN_BLOCKED = 241,
- IMSI_UNKNOWN_IN_VLR = 242,
- IMEI_NOT_ACCEPTED = 243,
- DIAL_MODIFIED_TO_USSD = 244,
- DIAL_MODIFIED_TO_SS = 245,
- DIAL_MODIFIED_TO_DIAL = 246,
- RADIO_OFF = 247,
- OUT_OF_SERVICE = 248,
- NO_VALID_SIM = 249,
- RADIO_INTERNAL_ERROR = 250,
- NETWORK_RESP_TIMEOUT = 251,
- NETWORK_REJECT = 252,
- RADIO_ACCESS_FAILURE = 253,
- RADIO_LINK_FAILURE = 254,
- RADIO_LINK_LOST = 255,
- RADIO_UPLINK_FAILURE = 256,
- RADIO_SETUP_FAILURE = 257,
- RADIO_RELEASE_NORMAL = 258,
- RADIO_RELEASE_ABNORMAL = 259,
- ACCESS_CLASS_BLOCKED = 260,
- NETWORK_DETACH = 261,
- CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
- CDMA_DROP = 1001,
- CDMA_INTERCEPT = 1002,
- CDMA_REORDER = 1003,
- CDMA_SO_REJECT = 1004,
- CDMA_RETRY_ORDER = 1005,
- CDMA_ACCESS_FAILURE = 1006,
- CDMA_PREEMPTED = 1007,
- CDMA_NOT_EMERGENCY = 1008,
- CDMA_ACCESS_BLOCKED = 1009,
- OEM_CAUSE_1 = 61441,
- OEM_CAUSE_2 = 61442,
- OEM_CAUSE_3 = 61443,
- OEM_CAUSE_4 = 61444,
- OEM_CAUSE_5 = 61445,
- OEM_CAUSE_6 = 61446,
- OEM_CAUSE_7 = 61447,
- OEM_CAUSE_8 = 61448,
- OEM_CAUSE_9 = 61449,
- OEM_CAUSE_10 = 61450,
- OEM_CAUSE_11 = 61451,
- OEM_CAUSE_12 = 61452,
- OEM_CAUSE_13 = 61453,
- OEM_CAUSE_14 = 61454,
- OEM_CAUSE_15 = 61455,
- ERROR_UNSPECIFIED = 65535,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl
deleted file mode 100644
index 43ef0cd..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.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;
-@VintfStability
-parcelable LastCallFailCauseInfo {
- android.hardware.radio.LastCallFailCause causeCode;
- String vendorCause;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl
deleted file mode 100644
index 64c6367..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable LceDataInfo {
- int lastHopCapacityKbps;
- byte confidenceLevel;
- boolean lceSuspended;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl
deleted file mode 100644
index 2542cc7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl
+++ /dev/null
@@ -1,40 +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 LceStatus {
- NOT_SUPPORTED = 0,
- STOPPED = 1,
- ACTIVE = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl
deleted file mode 100644
index 29f5ab6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.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;
-@VintfStability
-parcelable LceStatusInfo {
- android.hardware.radio.LceStatus lceStatus;
- byte actualIntervalMs;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl
deleted file mode 100644
index b64daf9..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable LinkAddress {
- String address;
- android.hardware.radio.AddressProperty properties;
- long deprecationTime;
- long expirationTime;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl
deleted file mode 100644
index d2a5c83..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable LinkCapacityEstimate {
- int downlinkCapacityKbps;
- int uplinkCapacityKbps;
- int secondaryDownlinkCapacityKbps;
- int secondaryUplinkCapacityKbps;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl
deleted file mode 100644
index 28840bc..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable LteSignalStrength {
- int signalStrength;
- int rsrp;
- int rsrq;
- int rssnr;
- int cqi;
- int timingAdvance;
- int cqiTableIndex;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl
deleted file mode 100644
index b28c415..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.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;
-@VintfStability
-parcelable LteVopsInfo {
- boolean isVopsSupported;
- boolean isEmcBearerSupported;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl
deleted file mode 100644
index 88cdf5f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.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 MaxSearchTimeRange {
- MIN = 60,
- MAX = 3600,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl
deleted file mode 100644
index f556c7f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.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;
-@VintfStability
-union MaybePort {
- boolean noinit;
- android.hardware.radio.PortRange range;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl
deleted file mode 100644
index 8be23b6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl
+++ /dev/null
@@ -1,41 +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 MvnoType {
- NONE = 0,
- IMSI = 1,
- GID = 2,
- SPN = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl
deleted file mode 100644
index 89d7818..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.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;
-@VintfStability
-parcelable NeighboringCell {
- String cid;
- int rssi;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl
deleted file mode 100644
index 4e6f613..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable NetworkScanRequest {
- android.hardware.radio.ScanType type;
- int interval;
- android.hardware.radio.RadioAccessSpecifier[] specifiers;
- int maxSearchTime;
- boolean incrementalResults;
- int incrementalResultsPeriodicity;
- String[] mccMncs;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl
deleted file mode 100644
index 86543e3..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable NetworkScanResult {
- android.hardware.radio.ScanStatus status;
- android.hardware.radio.RadioError error;
- android.hardware.radio.CellInfo[] networkInfos;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl
deleted file mode 100644
index 14db49b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl
+++ /dev/null
@@ -1,90 +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 NgranBands {
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_5 = 5,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_12 = 12,
- BAND_14 = 14,
- BAND_18 = 18,
- BAND_20 = 20,
- BAND_25 = 25,
- BAND_26 = 26,
- BAND_28 = 28,
- BAND_29 = 29,
- BAND_30 = 30,
- BAND_34 = 34,
- BAND_38 = 38,
- BAND_39 = 39,
- BAND_40 = 40,
- BAND_41 = 41,
- BAND_46 = 46,
- BAND_48 = 48,
- BAND_50 = 50,
- BAND_51 = 51,
- BAND_53 = 53,
- BAND_65 = 65,
- BAND_66 = 66,
- BAND_70 = 70,
- BAND_71 = 71,
- BAND_74 = 74,
- BAND_75 = 75,
- BAND_76 = 76,
- BAND_77 = 77,
- BAND_78 = 78,
- BAND_79 = 79,
- BAND_80 = 80,
- BAND_81 = 81,
- BAND_82 = 82,
- BAND_83 = 83,
- BAND_84 = 84,
- BAND_86 = 86,
- BAND_89 = 89,
- BAND_90 = 90,
- BAND_91 = 91,
- BAND_92 = 92,
- BAND_93 = 93,
- BAND_94 = 94,
- BAND_95 = 95,
- BAND_96 = 96,
- BAND_257 = 257,
- BAND_258 = 258,
- BAND_260 = 260,
- BAND_261 = 261,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl
deleted file mode 100644
index c3fb9f2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl
+++ /dev/null
@@ -1,40 +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="byte") @VintfStability
-enum NrDualConnectivityState {
- ENABLE = 1,
- DISABLE = 2,
- DISABLE_IMMEDIATE = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl
deleted file mode 100644
index 81dc51c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable NrIndicators {
- boolean isEndcAvailable;
- boolean isDcNrRestricted;
- boolean isNrAvailable;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl
deleted file mode 100644
index 6cb8f33..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.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;
-@VintfStability
-parcelable NrQos {
- int fiveQi;
- android.hardware.radio.QosBandwidth downlink;
- android.hardware.radio.QosBandwidth uplink;
- byte qfi;
- char averagingWindowMs;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl
deleted file mode 100644
index daf6a41..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.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;
-@VintfStability
-parcelable NrSignalStrength {
- int ssRsrp;
- int ssRsrq;
- int ssSinr;
- int csiRsrp;
- int csiRsrq;
- int csiSinr;
- int csiCqiTableIndex;
- byte[] csiCqiReport;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl
deleted file mode 100644
index b737aaf..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable NrVopsInfo {
- android.hardware.radio.VopsIndicator vopsSupported;
- android.hardware.radio.EmcIndicator emcSupported;
- android.hardware.radio.EmfIndicator emfSupported;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl
deleted file mode 100644
index d7706c5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl
+++ /dev/null
@@ -1,78 +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 NvItem {
- CDMA_MEID = 1,
- CDMA_MIN = 2,
- CDMA_MDN = 3,
- CDMA_ACCOLC = 4,
- DEVICE_MSL = 11,
- RTN_RECONDITIONED_STATUS = 12,
- RTN_ACTIVATION_DATE = 13,
- RTN_LIFE_TIMER = 14,
- RTN_LIFE_CALLS = 15,
- RTN_LIFE_DATA_TX = 16,
- RTN_LIFE_DATA_RX = 17,
- OMADM_HFA_LEVEL = 18,
- MIP_PROFILE_NAI = 31,
- MIP_PROFILE_HOME_ADDRESS = 32,
- MIP_PROFILE_AAA_AUTH = 33,
- MIP_PROFILE_HA_AUTH = 34,
- MIP_PROFILE_PRI_HA_ADDR = 35,
- MIP_PROFILE_SEC_HA_ADDR = 36,
- MIP_PROFILE_REV_TUN_PREF = 37,
- MIP_PROFILE_HA_SPI = 38,
- MIP_PROFILE_AAA_SPI = 39,
- MIP_PROFILE_MN_HA_SS = 40,
- MIP_PROFILE_MN_AAA_SS = 41,
- CDMA_PRL_VERSION = 51,
- CDMA_BC10 = 52,
- CDMA_BC14 = 53,
- CDMA_SO68 = 54,
- CDMA_SO73_COP0 = 55,
- CDMA_SO73_COP1TO7 = 56,
- CDMA_1X_ADVANCED_ENABLED = 57,
- CDMA_EHRPD_ENABLED = 58,
- CDMA_EHRPD_FORCED = 59,
- LTE_BAND_ENABLE_25 = 71,
- LTE_BAND_ENABLE_26 = 72,
- LTE_BAND_ENABLE_41 = 73,
- LTE_SCAN_PRIORITY_25 = 74,
- LTE_SCAN_PRIORITY_26 = 75,
- LTE_SCAN_PRIORITY_41 = 76,
- LTE_HIDDEN_BAND_PRIORITY_25 = 77,
- LTE_HIDDEN_BAND_PRIORITY_26 = 78,
- LTE_HIDDEN_BAND_PRIORITY_41 = 79,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl
deleted file mode 100644
index 9e60db6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.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;
-@VintfStability
-parcelable NvWriteItem {
- android.hardware.radio.NvItem itemId;
- String value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl
deleted file mode 100644
index 2f29c02..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable OperatorInfo {
- String alphaLong;
- String alphaShort;
- String operatorNumeric;
- android.hardware.radio.OperatorStatus status;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl
deleted file mode 100644
index 4ef10ca..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl
+++ /dev/null
@@ -1,41 +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 OperatorStatus {
- UNKNOWN = 0,
- AVAILABLE = 1,
- CURRENT = 2,
- FORBIDDEN = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl
deleted file mode 100644
index 6866dca..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.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;
-@VintfStability
-union OptionalCsgInfo {
- boolean noinit;
- android.hardware.radio.ClosedSubscriberGroupInfo csgInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl
deleted file mode 100644
index 88582de..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.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;
-@VintfStability
-union OptionalDnn {
- boolean noinit;
- String value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl
deleted file mode 100644
index 40bfa41..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.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;
-@VintfStability
-union OptionalOsAppId {
- boolean noinit;
- android.hardware.radio.OsAppId value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl
deleted file mode 100644
index 5b4964f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.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;
-@VintfStability
-union OptionalPdpProtocolType {
- boolean noinit;
- android.hardware.radio.PdpProtocolType value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl
deleted file mode 100644
index d640aac..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.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;
-@VintfStability
-union OptionalSliceInfo {
- boolean noinit;
- android.hardware.radio.SliceInfo value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl
deleted file mode 100644
index 0472615..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.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;
-@VintfStability
-union OptionalSscMode {
- boolean noinit;
- android.hardware.radio.SscMode value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl
deleted file mode 100644
index 6b57525..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.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;
-@VintfStability
-union OptionalTrafficDescriptor {
- boolean noinit;
- android.hardware.radio.TrafficDescriptor value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl
deleted file mode 100644
index bc11229..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.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;
-@VintfStability
-parcelable OsAppId {
- byte[] osAppId;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl
deleted file mode 100644
index eb8b442..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.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;
-@Backing(type="int") @VintfStability
-enum P2Constant {
- NO_P2 = -1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl
deleted file mode 100644
index dd95ad5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum PbReceivedStatus {
- PB_RECEIVED_OK = 1,
- PB_RECEIVED_ERROR = 2,
- PB_RECEIVED_ABORT = 3,
- PB_RECEIVED_FINAL = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl
deleted file mode 100644
index 828b08c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable PcoDataInfo {
- int cid;
- String bearerProto;
- int pcoId;
- byte[] contents;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl
deleted file mode 100644
index 980d3af..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl
+++ /dev/null
@@ -1,44 +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 PdpProtocolType {
- UNKNOWN = -1,
- IP = 0,
- IPV6 = 1,
- IPV4V6 = 2,
- PPP = 3,
- NON_IP = 4,
- UNSTRUCTURED = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl
deleted file mode 100644
index 35b75c6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl
+++ /dev/null
@@ -1,72 +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 PersoSubstate {
- UNKNOWN = 0,
- IN_PROGRESS = 1,
- READY = 2,
- SIM_NETWORK = 3,
- SIM_NETWORK_SUBSET = 4,
- SIM_CORPORATE = 5,
- SIM_SERVICE_PROVIDER = 6,
- SIM_SIM = 7,
- SIM_NETWORK_PUK = 8,
- SIM_NETWORK_SUBSET_PUK = 9,
- SIM_CORPORATE_PUK = 10,
- SIM_SERVICE_PROVIDER_PUK = 11,
- SIM_SIM_PUK = 12,
- RUIM_NETWORK1 = 13,
- RUIM_NETWORK2 = 14,
- RUIM_HRPD = 15,
- RUIM_CORPORATE = 16,
- RUIM_SERVICE_PROVIDER = 17,
- RUIM_RUIM = 18,
- RUIM_NETWORK1_PUK = 19,
- RUIM_NETWORK2_PUK = 20,
- RUIM_HRPD_PUK = 21,
- RUIM_CORPORATE_PUK = 22,
- RUIM_SERVICE_PROVIDER_PUK = 23,
- RUIM_RUIM_PUK = 24,
- SIM_SPN = 25,
- SIM_SPN_PUK = 26,
- SIM_SP_EHPLMN = 27,
- SIM_SP_EHPLMN_PUK = 28,
- SIM_ICCID = 29,
- SIM_ICCID_PUK = 30,
- SIM_IMPI = 31,
- SIM_IMPI_PUK = 32,
- SIM_NS_SP = 33,
- SIM_NS_SP_PUK = 34,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl
deleted file mode 100644
index 7a4982f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.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 PhoneRestrictedState {
- NONE = 0,
- CS_EMERGENCY = 1,
- CS_NORMAL = 2,
- CS_ALL = 4,
- PS_ALL = 16,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl
deleted file mode 100644
index 8d2623b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl
+++ /dev/null
@@ -1,47 +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
-parcelable PhonebookCapacity {
- int maxAdnRecords;
- int usedAdnRecords;
- int maxEmailRecords;
- int usedEmailRecords;
- int maxAdditionalNumberRecords;
- int usedAdditionalNumberRecords;
- int maxNameLen;
- int maxNumberLen;
- int maxEmailLen;
- int maxAdditionalNumberLen;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl
deleted file mode 100644
index 02a166e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.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;
-@VintfStability
-parcelable PhonebookRecordInfo {
- int recordId;
- String name;
- String number;
- String[] emails;
- String[] additionalNumbers;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl
deleted file mode 100644
index 91c4a96..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.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
-parcelable PhysicalChannelConfig {
- android.hardware.radio.CellConnectionStatus status;
- android.hardware.radio.RadioTechnology rat;
- int downlinkChannelNumber;
- int uplinkChannelNumber;
- int cellBandwidthDownlinkKhz;
- int cellBandwidthUplinkKhz;
- int[] contextIds;
- int physicalCellId;
- android.hardware.radio.PhysicalChannelConfigBand band;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl
deleted file mode 100644
index 1953083..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.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;
-@VintfStability
-union PhysicalChannelConfigBand {
- boolean noinit;
- android.hardware.radio.GeranBands geranBand;
- android.hardware.radio.UtranBands utranBand;
- android.hardware.radio.EutranBands eutranBand;
- android.hardware.radio.NgranBands ngranBand;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl
deleted file mode 100644
index 3b65179..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.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 PinState {
- UNKNOWN = 0,
- ENABLED_NOT_VERIFIED = 1,
- ENABLED_VERIFIED = 2,
- DISABLED = 3,
- ENABLED_BLOCKED = 4,
- ENABLED_PERM_BLOCKED = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl
deleted file mode 100644
index 9e4d272..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.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;
-@VintfStability
-parcelable PortRange {
- int start;
- int end;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl
deleted file mode 100644
index 7615dff..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl
+++ /dev/null
@@ -1,60 +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 PreferredNetworkType {
- GSM_WCDMA = 0,
- GSM_ONLY = 1,
- WCDMA = 2,
- GSM_WCDMA_AUTO = 3,
- CDMA_EVDO_AUTO = 4,
- CDMA_ONLY = 5,
- EVDO_ONLY = 6,
- GSM_WCDMA_CDMA_EVDO_AUTO = 7,
- LTE_CDMA_EVDO = 8,
- LTE_GSM_WCDMA = 9,
- LTE_CMDA_EVDO_GSM_WCDMA = 10,
- LTE_ONLY = 11,
- LTE_WCDMA = 12,
- TD_SCDMA_ONLY = 13,
- TD_SCDMA_WCDMA = 14,
- TD_SCDMA_LTE = 15,
- TD_SCDMA_GSM = 16,
- TD_SCDMA_GSM_LTE = 17,
- TD_SCDMA_GSM_WCDMA = 18,
- TD_SCDMA_WCDMA_LTE = 19,
- TD_SCDMA_GSM_WCDMA_LTE = 20,
- TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO = 21,
- TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA = 22,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl
deleted file mode 100644
index b596d30..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl
+++ /dev/null
@@ -1,40 +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 PrlIndicator {
- NOT_REGISTERED = -1,
- NOT_IN_PRL = 0,
- IN_PRL = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl
deleted file mode 100644
index 68d96e8..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.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="byte") @VintfStability
-enum PublicKeyType {
- EPDG = 1,
- WLAN = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl
deleted file mode 100644
index d69853f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl
+++ /dev/null
@@ -1,40 +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
-union Qos {
- boolean noinit;
- android.hardware.radio.EpsQos eps;
- android.hardware.radio.NrQos nr;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl
deleted file mode 100644
index 95622bc..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.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;
-@VintfStability
-parcelable QosBandwidth {
- int maxBitrateKbps;
- int guaranteedBitrateKbps;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl
deleted file mode 100644
index 3376c66..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl
+++ /dev/null
@@ -1,47 +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
-parcelable QosFilter {
- String[] localAddresses;
- String[] remoteAddresses;
- android.hardware.radio.MaybePort localPort;
- android.hardware.radio.MaybePort remotePort;
- android.hardware.radio.QosProtocol protocol;
- android.hardware.radio.QosFilterTypeOfService tos;
- android.hardware.radio.QosFilterIpv6FlowLabel flowLabel;
- android.hardware.radio.QosFilterIpsecSpi spi;
- android.hardware.radio.QosFilterDirection direction;
- int precedence;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl
deleted file mode 100644
index efb9c50..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl
+++ /dev/null
@@ -1,40 +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="byte") @VintfStability
-enum QosFilterDirection {
- DOWNLINK = 0,
- UPLINK = 1,
- BIDIRECTIONAL = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl
deleted file mode 100644
index 695b735..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.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;
-@VintfStability
-union QosFilterIpsecSpi {
- boolean noinit;
- int value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl
deleted file mode 100644
index 5b9c82c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.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;
-@VintfStability
-union QosFilterIpv6FlowLabel {
- boolean noinit;
- int value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl
deleted file mode 100644
index c7c0331..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.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;
-@VintfStability
-union QosFilterTypeOfService {
- boolean noinit;
- byte value;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl
deleted file mode 100644
index 95468e0..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.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="byte") @VintfStability
-enum QosFlowIdRange {
- MIN = 1,
- MAX = 63,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl
deleted file mode 100644
index 7171c7e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.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 QosPortRange {
- MIN = 20,
- MAX = 65535,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl
deleted file mode 100644
index cb68f04..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.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="byte") @VintfStability
-enum QosProtocol {
- UNSPECIFIED = -1,
- TCP = 6,
- UDP = 17,
- ESP = 50,
- AH = 51,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl
deleted file mode 100644
index 8f1b913..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable QosSession {
- int qosSessionId;
- android.hardware.radio.Qos qos;
- android.hardware.radio.QosFilter[] qosFilters;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl
deleted file mode 100644
index 67f5e8a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.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 RadioAccessNetworks {
- UNKNOWN = 0,
- GERAN = 1,
- UTRAN = 2,
- EUTRAN = 3,
- NGRAN = 4,
- CDMA2000 = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl
deleted file mode 100644
index b47ee2d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable RadioAccessSpecifier {
- android.hardware.radio.RadioAccessNetworks radioAccessNetwork;
- android.hardware.radio.RadioAccessSpecifierBands bands;
- int[] channels;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl
deleted file mode 100644
index 9d0a997..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.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;
-@VintfStability
-union RadioAccessSpecifierBands {
- boolean noinit;
- android.hardware.radio.GeranBands[] geranBands;
- android.hardware.radio.UtranBands[] utranBands;
- android.hardware.radio.EutranBands[] eutranBands;
- android.hardware.radio.NgranBands[] ngranBands;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl
deleted file mode 100644
index 973ca52..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl
+++ /dev/null
@@ -1,56 +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 RadioBandMode {
- BAND_MODE_UNSPECIFIED = 0,
- BAND_MODE_EURO = 1,
- BAND_MODE_USA = 2,
- BAND_MODE_JPN = 3,
- BAND_MODE_AUS = 4,
- BAND_MODE_AUS_2 = 5,
- BAND_MODE_CELL_800 = 6,
- BAND_MODE_PCS = 7,
- BAND_MODE_JTACS = 8,
- BAND_MODE_KOREA_PCS = 9,
- BAND_MODE_5_450M = 10,
- BAND_MODE_IMT2000 = 11,
- BAND_MODE_7_700M_2 = 12,
- BAND_MODE_8_1800M = 13,
- BAND_MODE_9_900M = 14,
- BAND_MODE_10_800M_2 = 15,
- BAND_MODE_EURO_PAMR_400M = 16,
- BAND_MODE_AWS = 17,
- BAND_MODE_USA_2500M = 18,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl
deleted file mode 100644
index 99c1a41..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.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;
-@VintfStability
-parcelable RadioCapability {
- int session;
- android.hardware.radio.RadioCapabilityPhase phase;
- android.hardware.radio.RadioAccessFamily raf;
- String logicalModemUuid;
- android.hardware.radio.RadioCapabilityStatus status;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl
deleted file mode 100644
index 7a4b9ad..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.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 RadioCapabilityPhase {
- CONFIGURED = 0,
- START = 1,
- APPLY = 2,
- UNSOL_RSP = 3,
- FINISH = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl
deleted file mode 100644
index 72e0bd5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl
+++ /dev/null
@@ -1,40 +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 RadioCapabilityStatus {
- NONE = 0,
- SUCCESS = 1,
- FAIL = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl
deleted file mode 100644
index 7e5c471..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl
+++ /dev/null
@@ -1,52 +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 RadioCdmaSmsConst {
- ADDRESS_MAX = 36,
- SUBADDRESS_MAX = 36,
- BEARER_DATA_MAX = 255,
- UDH_MAX_SND_SIZE = 128,
- UDH_EO_DATA_SEGMENT_MAX = 131,
- MAX_UD_HEADERS = 7,
- USER_DATA_MAX = 229,
- UDH_LARGE_PIC_SIZE = 128,
- UDH_SMALL_PIC_SIZE = 32,
- UDH_VAR_PIC_SIZE = 134,
- UDH_ANIM_NUM_BITMAPS = 4,
- UDH_LARGE_BITMAP_SIZE = 32,
- UDH_SMALL_BITMAP_SIZE = 8,
- UDH_OTHER_SIZE = 226,
- IP_ADDRESS_SIZE = 4,
-}
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 d37f13b..d111a0d 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
@@ -48,4 +48,5 @@
NUM_SERVICE_CLASSES = 7,
NUM_TX_POWER_LEVELS = 5,
RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8,
+ P2_CONSTANT_NO_P2 = -1,
}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl
deleted file mode 100644
index 6c07045..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl
+++ /dev/null
@@ -1,40 +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
-union RadioFrequencyInfo {
- boolean noinit;
- android.hardware.radio.FrequencyRange range;
- int channelNumber;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl
deleted file mode 100644
index 3dad483..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl
+++ /dev/null
@@ -1,40 +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 RadioState {
- OFF = 0,
- UNAVAILABLE = 1,
- ON = 10,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl
deleted file mode 100644
index 049ded1..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl
+++ /dev/null
@@ -1,47 +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 RegState {
- NOT_REG_MT_NOT_SEARCHING_OP = 0,
- REG_HOME = 1,
- NOT_REG_MT_SEARCHING_OP = 2,
- REG_DENIED = 3,
- UNKNOWN = 4,
- REG_ROAMING = 5,
- NOT_REG_MT_NOT_SEARCHING_OP_EM = 10,
- NOT_REG_MT_SEARCHING_OP_EM = 12,
- REG_DENIED_EM = 13,
- UNKNOWN_EM = 14,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl
deleted file mode 100644
index 78c5c2d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.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;
-@VintfStability
-parcelable RegStateResult {
- android.hardware.radio.RegState regState;
- android.hardware.radio.RadioTechnology rat;
- android.hardware.radio.RegistrationFailCause reasonForDenial;
- android.hardware.radio.CellIdentity cellIdentity;
- String registeredPlmn;
- android.hardware.radio.RegStateResultAccessTechnologySpecificInfo accessTechnologySpecificInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl
deleted file mode 100644
index 6ce6398..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.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;
-@VintfStability
-union RegStateResultAccessTechnologySpecificInfo {
- boolean noinit;
- android.hardware.radio.RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo;
- android.hardware.radio.RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo;
- android.hardware.radio.NrVopsInfo ngranNrVopsInfo;
- boolean geranDtmSupported;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl
deleted file mode 100644
index a56a791..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo {
- boolean cssSupported;
- int roamingIndicator;
- android.hardware.radio.PrlIndicator systemIsInPrl;
- int defaultRoamingIndicator;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl
deleted file mode 100644
index ed422eb..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.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;
-@VintfStability
-parcelable RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo {
- android.hardware.radio.LteVopsInfo lteVopsInfo;
- android.hardware.radio.NrIndicators nrIndicators;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl
deleted file mode 100644
index c5529b6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl
+++ /dev/null
@@ -1,89 +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 RegistrationFailCause {
- NONE = 0,
- IMSI_UNKNOWN_IN_HLR = 2,
- ILLEGAL_MS = 3,
- IMSI_UNKNOWN_IN_VLR = 4,
- IMEI_NOT_ACCEPTED = 5,
- ILLEGAL_ME = 6,
- GPRS_SERVICES_NOT_ALLOWED = 7,
- GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8,
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9,
- IMPLICITLY_DETACHED = 10,
- PLMN_NOT_ALLOWED = 11,
- LOCATION_AREA_NOT_ALLOWED = 12,
- ROAMING_NOT_ALLOWED = 13,
- GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14,
- NO_SUITABLE_CELLS = 15,
- MSC_TEMPORARILY_NOT_REACHABLE = 15,
- NETWORK_FAILURE = 17,
- MAC_FAILURE = 20,
- SYNC_FAILURE = 21,
- CONGESTION = 22,
- GSM_AUTHENTICATION_UNACCEPTABLE = 23,
- NOT_AUTHORIZED_FOR_THIS_CSG = 25,
- SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA = 26,
- SERVICE_OPTION_NOT_SUPPORTED = 32,
- SERVICE_OPTION_NOT_SUBSCRIBED = 33,
- SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
- CALL_CANNOT_BE_IDENTIFIED = 38,
- NO_PDP_CONTEXT_ACTIVATED = 40,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63,
- SEMANTICALLY_INCORRECT_MESSAGE = 95,
- INVALID_MANDATORY_INFORMATION = 96,
- MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
- INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
- CONDITIONAL_IE_ERROR = 100,
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
- PROTOCOL_ERROR_UNSPECIFIED = 111,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl
deleted file mode 100644
index 3852a77..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl
+++ /dev/null
@@ -1,40 +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 ResetNvType {
- RELOAD = 0,
- ERASE = 1,
- FACTORY_RESET = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl
deleted file mode 100644
index dc83ba5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.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 RestrictedState {
- NONE = 0,
- CS_EMERGENCY = 1,
- CS_NORMAL = 2,
- CS_ALL = 4,
- PS_ALL = 16,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl
deleted file mode 100644
index 689ee2f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.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;
-@VintfStability
-parcelable RouteSelectionDescriptor {
- byte precedence;
- android.hardware.radio.OptionalPdpProtocolType sessionType;
- android.hardware.radio.OptionalSscMode sscMode;
- android.hardware.radio.SliceInfo[] sliceInfo;
- String[] dnn;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl
deleted file mode 100644
index 3e6539b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.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 ScanIntervalRange {
- MIN = 5,
- MAX = 300,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl
deleted file mode 100644
index f8810b6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.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 ScanStatus {
- PARTIAL = 1,
- COMPLETE = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl
deleted file mode 100644
index 7d51ce2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.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 ScanType {
- ONE_SHOT = 0,
- PERIODIC = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl
deleted file mode 100644
index a285f64..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable SelectUiccSub {
- int slot;
- int appIndex;
- android.hardware.radio.SubscriptionType subType;
- android.hardware.radio.UiccSubActStatus actStatus;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl
deleted file mode 100644
index 7063db5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable SendSmsResult {
- int messageRef;
- String ackPDU;
- int errorCode;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl
deleted file mode 100644
index ae4493d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl
+++ /dev/null
@@ -1,55 +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
-parcelable SetupDataCallResult {
- android.hardware.radio.DataCallFailCause cause;
- long suggestedRetryTime;
- int cid;
- android.hardware.radio.DataConnActiveStatus active;
- android.hardware.radio.PdpProtocolType type;
- String ifname;
- android.hardware.radio.LinkAddress[] addresses;
- String[] dnses;
- String[] gateways;
- String[] pcscf;
- int mtuV4;
- int mtuV6;
- android.hardware.radio.Qos defaultQos;
- android.hardware.radio.QosSession[] qosSessions;
- android.hardware.radio.HandoverFailureMode handoverFailureMode;
- int pduSessionId;
- android.hardware.radio.OptionalSliceInfo sliceInfo;
- android.hardware.radio.TrafficDescriptor[] trafficDescriptors;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl
deleted file mode 100644
index 7f864e5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.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 SignalMeasurementType {
- RSSI = 1,
- RSCP = 2,
- RSRP = 3,
- RSRQ = 4,
- RSSNR = 5,
- SSRSRP = 6,
- SSRSRQ = 7,
- SSSINR = 8,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl
deleted file mode 100644
index 7c7eade..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable SignalStrength {
- android.hardware.radio.GsmSignalStrength gsm;
- android.hardware.radio.CdmaSignalStrength cdma;
- android.hardware.radio.EvdoSignalStrength evdo;
- android.hardware.radio.LteSignalStrength lte;
- android.hardware.radio.TdscdmaSignalStrength tdscdma;
- android.hardware.radio.WcdmaSignalStrength wcdma;
- android.hardware.radio.NrSignalStrength nr;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl
deleted file mode 100644
index f519d69..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.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;
-@VintfStability
-parcelable SignalThresholdInfo {
- android.hardware.radio.SignalMeasurementType signalMeasurement;
- int hysteresisMs;
- int hysteresisDb;
- int[] thresholds;
- boolean isEnabled;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl
deleted file mode 100644
index 511031a..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable SimApdu {
- int sessionId;
- int cla;
- int instruction;
- int p1;
- int p2;
- int p3;
- String data;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl
deleted file mode 100644
index ad96794..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.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 SimLockMultiSimPolicy {
- NO_MULTISIM_POLICY = 0,
- ONE_VALID_SIM_MUST_BE_PRESENT = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl
deleted file mode 100644
index 720c8a2..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable SimRefreshResult {
- android.hardware.radio.SimRefreshType type;
- int efId;
- String aid;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl
deleted file mode 100644
index b114ec7..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl
+++ /dev/null
@@ -1,40 +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 SimRefreshType {
- SIM_FILE_UPDATE = 0,
- SIM_INIT = 1,
- SIM_RESET = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl
deleted file mode 100644
index 8b36380..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.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;
-@VintfStability
-parcelable SliceInfo {
- android.hardware.radio.SliceServiceType sst;
- int sliceDifferentiator;
- android.hardware.radio.SliceServiceType mappedHplmnSst;
- int mappedHplmnSD;
- android.hardware.radio.SliceStatus status;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl
deleted file mode 100644
index d0a9f58..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl
+++ /dev/null
@@ -1,41 +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="byte") @VintfStability
-enum SliceServiceType {
- NONE = 0,
- EMBB = 1,
- URLLC = 2,
- MIOT = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl
deleted file mode 100644
index 3fa1ee6..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.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="byte") @VintfStability
-enum SliceStatus {
- UNKNOWN = 0,
- CONFIGURED = 1,
- ALLOWED = 2,
- REJECTED_NOT_AVAILABLE_IN_PLMN = 3,
- REJECTED_NOT_AVAILABLE_IN_REG_AREA = 4,
- DEFAULT_CONFIGURED = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl
deleted file mode 100644
index 9d36338..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.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;
-@VintfStability
-parcelable SlicingConfig {
- android.hardware.radio.UrspRule[] urspRules;
- android.hardware.radio.SliceInfo[] sliceInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl
deleted file mode 100644
index c5b13b9..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.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 SmsAcknowledgeFailCause {
- MEMORY_CAPACITY_EXCEEDED = 211,
- UNSPECIFIED_ERROR = 255,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl
deleted file mode 100644
index 6b0d9bf..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable SmsWriteArgs {
- android.hardware.radio.SmsWriteArgsStatus status;
- String pdu;
- String smsc;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl
deleted file mode 100644
index 31a3f42..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl
+++ /dev/null
@@ -1,41 +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 SmsWriteArgsStatus {
- REC_UNREAD = 0,
- REC_READ = 1,
- STO_UNSENT = 2,
- STO_SENT = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl
deleted file mode 100644
index d4a9417..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl
+++ /dev/null
@@ -1,41 +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 SrvccState {
- HANDOVER_STARTED = 0,
- HANDOVER_COMPLETED = 1,
- HANDOVER_FAILED = 2,
- HANDOVER_CANCELED = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl
deleted file mode 100644
index 10b4c3d..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.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;
-@VintfStability
-parcelable SsInfoData {
- int[] ssInfo;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl
deleted file mode 100644
index 75ad9bb..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.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 SsRequestType {
- ACTIVATION = 0,
- DEACTIVATION = 1,
- INTERROGATION = 2,
- REGISTRATION = 3,
- ERASURE = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl
deleted file mode 100644
index c3506b1..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl
+++ /dev/null
@@ -1,56 +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 SsServiceType {
- CFU = 0,
- CF_BUSY = 1,
- CF_NO_REPLY = 2,
- CF_NOT_REACHABLE = 3,
- CF_ALL = 4,
- CF_ALL_CONDITIONAL = 5,
- CLIP = 6,
- CLIR = 7,
- COLP = 8,
- COLR = 9,
- WAIT = 10,
- BAOC = 11,
- BAOIC = 12,
- BAOIC_EXC_HOME = 13,
- BAIC = 14,
- BAIC_ROAMING = 15,
- ALL_BARRING = 16,
- OUTGOING_BARRING = 17,
- INCOMING_BARRING = 18,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl
deleted file mode 100644
index f06014c..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.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 SsTeleserviceType {
- ALL_TELE_AND_BEARER_SERVICES = 0,
- ALL_TELESEVICES = 1,
- TELEPHONY = 2,
- ALL_DATA_TELESERVICES = 3,
- SMS_SERVICES = 4,
- ALL_TELESERVICES_EXCEPT_SMS = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl
deleted file mode 100644
index e2c3e09..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl
+++ /dev/null
@@ -1,40 +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="byte") @VintfStability
-enum SscMode {
- MODE_1 = 1,
- MODE_2 = 2,
- MODE_3 = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl
deleted file mode 100644
index 1e4f95b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable StkCcUnsolSsResult {
- android.hardware.radio.SsServiceType serviceType;
- android.hardware.radio.SsRequestType requestType;
- android.hardware.radio.SsTeleserviceType teleserviceType;
- android.hardware.radio.SuppServiceClass serviceClass;
- android.hardware.radio.RadioError result;
- android.hardware.radio.SsInfoData[] ssInfo;
- android.hardware.radio.CfData[] cfData;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl
deleted file mode 100644
index f469f2f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl
+++ /dev/null
@@ -1,40 +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 SubscriptionType {
- SUBSCRIPTION_1 = 0,
- SUBSCRIPTION_2 = 1,
- SUBSCRIPTION_3 = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl
deleted file mode 100644
index e59f40b..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl
+++ /dev/null
@@ -1,47 +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 SuppServiceClass {
- NONE = 0,
- VOICE = 1,
- DATA = 2,
- FAX = 4,
- SMS = 8,
- DATA_SYNC = 16,
- DATA_ASYNC = 32,
- PACKET = 64,
- PAD = 128,
- MAX = 128,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl
deleted file mode 100644
index c098e24..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.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;
-@VintfStability
-parcelable SuppSvcNotification {
- boolean isMT;
- int code;
- int index;
- int type;
- String number;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl
deleted file mode 100644
index a2ba211..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable TdscdmaSignalStrength {
- int signalStrength;
- int bitErrorRate;
- int rscp;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl
deleted file mode 100644
index ae70522..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.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 TimeStampType {
- UNKNOWN = 0,
- ANTENNA = 1,
- MODEM = 2,
- OEM_RIL = 3,
- JAVA_RIL = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl
deleted file mode 100644
index 9f46848..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.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;
-@VintfStability
-parcelable TrafficDescriptor {
- android.hardware.radio.OptionalDnn dnn;
- android.hardware.radio.OptionalOsAppId osAppId;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl
deleted file mode 100644
index cee3057..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl
+++ /dev/null
@@ -1,41 +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 TtyMode {
- OFF = 0,
- FULL = 1,
- HCO = 2,
- VCO = 3,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl
deleted file mode 100644
index 5ec511e..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.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 UiccSubActStatus {
- DEACTIVATE = 0,
- ACTIVATE = 1,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl
deleted file mode 100644
index ababb29..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable UrspRule {
- byte precedence;
- android.hardware.radio.TrafficDescriptor[] trafficDescriptors;
- android.hardware.radio.RouteSelectionDescriptor[] routeSelectionDescriptor;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl
deleted file mode 100644
index 992a55f..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.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 UssdModeType {
- NOTIFY = 0,
- REQUEST = 1,
- NW_RELEASE = 2,
- LOCAL_CLIENT = 3,
- NOT_SUPPORTED = 4,
- NW_TIMEOUT = 5,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl
deleted file mode 100644
index 32cff72..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl
+++ /dev/null
@@ -1,63 +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 UtranBands {
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_4 = 4,
- BAND_5 = 5,
- BAND_6 = 6,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_9 = 9,
- BAND_10 = 10,
- BAND_11 = 11,
- BAND_12 = 12,
- BAND_13 = 13,
- BAND_14 = 14,
- BAND_19 = 19,
- BAND_20 = 20,
- BAND_21 = 21,
- BAND_22 = 22,
- BAND_25 = 25,
- BAND_26 = 26,
- BAND_A = 101,
- BAND_B = 102,
- BAND_C = 103,
- BAND_D = 104,
- BAND_E = 105,
- BAND_F = 106,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl
deleted file mode 100644
index cf1baca..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.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 UusDcs {
- USP = 0,
- OSIHLP = 1,
- X244 = 2,
- RMCF = 3,
- IA5C = 4,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl
deleted file mode 100644
index 3551fe3..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl
+++ /dev/null
@@ -1,40 +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
-parcelable UusInfo {
- android.hardware.radio.UusType uusType;
- android.hardware.radio.UusDcs uusDcs;
- String uusData;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl
deleted file mode 100644
index 7176d40..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl
+++ /dev/null
@@ -1,44 +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 UusType {
- TYPE1_IMPLICIT = 0,
- TYPE1_REQUIRED = 1,
- TYPE1_NOT_REQUIRED = 2,
- TYPE2_REQUIRED = 3,
- TYPE2_NOT_REQUIRED = 4,
- TYPE3_REQUIRED = 5,
- TYPE3_NOT_REQUIRED = 6,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl
deleted file mode 100644
index a693ff5..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.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;
-@VintfStability
-parcelable VoiceRegStateResult {
- android.hardware.radio.RegState regState;
- int rat;
- boolean cssSupported;
- int roamingIndicator;
- int systemIsInPrl;
- int defaultRoamingIndicator;
- int reasonForDenial;
- android.hardware.radio.CellIdentity cellIdentity;
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl
deleted file mode 100644
index 028b719..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl
+++ /dev/null
@@ -1,40 +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="byte") @VintfStability
-enum VopsIndicator {
- VOPS_NOT_SUPPORTED = 0,
- VOPS_OVER_3GPP = 1,
- VOPS_OVER_NON_3GPP = 2,
-}
diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl
deleted file mode 100644
index 764dded..0000000
--- a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable WcdmaSignalStrength {
- int signalStrength;
- int bitErrorRate;
- int rscp;
- int ecno;
-}
diff --git a/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl b/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl
deleted file mode 100644
index f1a6e0e..0000000
--- a/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl
+++ /dev/null
@@ -1,44 +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
-parcelable ActivityStatsInfo {
- /**
- * Total time (in ms) when modem is in a low power or sleep state
- */
- int sleepModeTimeMs;
- /**
- * Total time (in ms) when modem is awake but neither the transmitter nor receiver are
- * active/awake
- */
- int idleModeTimeMs;
- /**
- * Each index represent total time (in ms) during which the transmitter is active/awake for a
- * particular power range as shown below.
- * index 0 = tx_power < 0dBm
- * index 1 = 0dBm < tx_power < 5dBm
- * index 2 = 5dBm < tx_power < 15dBm
- * index 3 = 15dBm < tx_power < 20dBm
- * index 4 = tx_power > 20dBm
- */
- int[] txmModetimeMs;
- /**
- * Total time (in ms) for which receiver is active/awake and the transmitter is inactive
- */
- int rxModeTimeMs;
-}
diff --git a/radio/aidl/android/hardware/radio/AddressProperty.aidl b/radio/aidl/android/hardware/radio/AddressProperty.aidl
deleted file mode 100644
index dbafc17..0000000
--- a/radio/aidl/android/hardware/radio/AddressProperty.aidl
+++ /dev/null
@@ -1,31 +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;
-
-/**
- * The properties of the link address. This enum reflects the definition in if_addr.h in
- * Linux kernel.
- */
-@VintfStability
-@Backing(type="int")
-enum AddressProperty {
- NONE = 0,
- /**
- * Indicates this address is deprecated
- */
- DEPRECATED = 0x20,
-}
diff --git a/radio/aidl/android/hardware/radio/ApnAuthType.aidl b/radio/aidl/android/hardware/radio/ApnAuthType.aidl
deleted file mode 100644
index c836a31..0000000
--- a/radio/aidl/android/hardware/radio/ApnAuthType.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum ApnAuthType {
- /**
- * PAP and CHAP is never performed.
- */
- NO_PAP_NO_CHAP,
- /**
- * PAP may be performed; CHAP is never performed.
- */
- PAP_NO_CHAP,
- /**
- * CHAP may be performed; PAP is never performed.
- */
- NO_PAP_CHAP,
- /**
- * PAP / CHAP may be performed - baseband dependent.
- */
- PAP_CHAP,
-}
diff --git a/radio/aidl/android/hardware/radio/ApnTypes.aidl b/radio/aidl/android/hardware/radio/ApnTypes.aidl
deleted file mode 100644
index 340301f..0000000
--- a/radio/aidl/android/hardware/radio/ApnTypes.aidl
+++ /dev/null
@@ -1,81 +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 ApnTypes {
- /**
- * None
- */
- NONE = 0,
- /**
- * APN type for default data traffic
- */
- DEFAULT = 1 << 0,
- /**
- * APN type for MMS traffic
- */
- MMS = 1 << 1,
- /**
- * APN type for SUPL assisted GPS
- */
- SUPL = 1 << 2,
- /**
- * APN type for DUN traffic
- */
- DUN = 1 << 3,
- /**
- * APN type for HiPri traffic
- */
- HIPRI = 1 << 4,
- /**
- * APN type for FOTA
- */
- FOTA = 1 << 5,
- /**
- * APN type for IMS
- */
- IMS = 1 << 6,
- /**
- * APN type for CBS
- */
- CBS = 1 << 7,
- /**
- * APN type for IA Initial Attach APN
- */
- IA = 1 << 8,
- /**
- * APN type for Emergency PDN. This is not an IA apn, but is used for access to carrier services
- * in an emergency call situation.
- */
- EMERGENCY = 1 << 9,
- /**
- * Due to the addition of values after EMERGENCY (eg. MCX, XCAP), this value is now deprecated
- * and should not be used.
- */
- ALL = DEFAULT | MMS | SUPL | DUN | HIPRI | FOTA | IMS | CBS | IA | EMERGENCY,
- /**
- * APN type for Mission Critical Service
- * Reference: 3GPP TS 22.280 V15.3.0
- */
- MCX = 1 << 10,
- /**
- * APN type for XCAP
- */
- XCAP = 1 << 11,
-}
diff --git a/radio/aidl/android/hardware/radio/AppState.aidl b/radio/aidl/android/hardware/radio/AppState.aidl
deleted file mode 100644
index 9488282..0000000
--- a/radio/aidl/android/hardware/radio/AppState.aidl
+++ /dev/null
@@ -1,37 +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 AppState {
- UNKNOWN,
- DETECTED,
- /**
- * If PIN1 or UPin is required
- */
- PIN,
- /**
- * If PUK1 or Puk for Upin is required
- */
- PUK,
- /**
- * perso_substate must be looked at when app_state is assigned to this value
- */
- SUBSCRIPTION_PERSO,
- READY,
-}
diff --git a/radio/aidl/android/hardware/radio/AppStatus.aidl b/radio/aidl/android/hardware/radio/AppStatus.aidl
deleted file mode 100644
index 6b62697..0000000
--- a/radio/aidl/android/hardware/radio/AppStatus.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.AppState;
-import android.hardware.radio.AppType;
-import android.hardware.radio.PersoSubstate;
-import android.hardware.radio.PinState;
-
-@VintfStability
-parcelable AppStatus {
- AppType appType;
- AppState appState;
- /**
- * Applicable only if appState == SUBSCRIPTION_PERSO
- */
- PersoSubstate persoSubstate;
- /**
- * e.g., from 0xA0, 0x00 -> 0x41, 0x30, 0x30, 0x30
- */
- String aidPtr;
- String appLabelPtr;
- /**
- * Applicable to USIM, CSIM and ISIM
- */
- int pin1Replaced;
- PinState pin1;
- PinState pin2;
-}
diff --git a/radio/aidl/android/hardware/radio/AppType.aidl b/radio/aidl/android/hardware/radio/AppType.aidl
deleted file mode 100644
index 8403f7d..0000000
--- a/radio/aidl/android/hardware/radio/AppType.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 AppType {
- UNKNOWN,
- SIM,
- USIM,
- RUIM,
- CSIM,
- ISIM,
-}
diff --git a/radio/aidl/android/hardware/radio/AudioQuality.aidl b/radio/aidl/android/hardware/radio/AudioQuality.aidl
deleted file mode 100644
index bc4c2f1..0000000
--- a/radio/aidl/android/hardware/radio/AudioQuality.aidl
+++ /dev/null
@@ -1,66 +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;
-
-/**
- * Audio codec which is used on GSM, UMTS, and CDMA. These values must be opaque to the Android
- * framework. Only for display.
- */
-@VintfStability
-@Backing(type="int")
-enum AudioQuality {
- /**
- * Unspecified audio codec
- */
- UNSPECIFIED,
- /**
- * AMR (Narrowband) audio codec
- */
- AMR,
- /**
- * AMR (Wideband) audio codec
- */
- AMR_WB,
- /**
- * GSM Enhanced Full-Rate audio codec
- */
- GSM_EFR,
- /**
- * GSM Full-Rate audio codec
- */
- GSM_FR,
- /**
- * GSM Half-Rate audio codec
- */
- GSM_HR,
- /**
- * Enhanced Variable rate codec
- */
- EVRC,
- /**
- * Enhanced Variable rate codec revision B
- */
- EVRC_B,
- /**
- * Enhanced Variable rate codec (Wideband)
- */
- EVRC_WB,
- /**
- * Enhanced Variable rate codec (Narrowband)
- */
- EVRC_NW,
-}
diff --git a/radio/aidl/android/hardware/radio/BarringInfo.aidl b/radio/aidl/android/hardware/radio/BarringInfo.aidl
deleted file mode 100644
index c50fa4b..0000000
--- a/radio/aidl/android/hardware/radio/BarringInfo.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.BarringInfoBarringType;
-import android.hardware.radio.BarringInfoBarringTypeSpecificInfo;
-import android.hardware.radio.BarringInfoServiceType;
-
-@VintfStability
-parcelable BarringInfo {
- /**
- * Combined list of barring services for UTRAN, EUTRAN, and NGRAN.
- *
- * Barring information is defined in:
- * -UTRAN - 3gpp 25.331 Sec 10.2.48.8.6.
- * -EUTRAN - 3gpp 36.331 Sec 6.3.1 SystemInformationBlockType2
- * -NGRAN - 3gpp 38.331 Sec 6.3.2 UAC-BarringInfo and 22.261 Sec 6.22.2.[2-3]
- */
- BarringInfoServiceType serviceType;
- /**
- * The type of barring applied to the service
- */
- BarringInfoBarringType barringType;
- /**
- * Type-specific barring info if applicable
- */
- BarringInfoBarringTypeSpecificInfo barringTypeSpecificInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl
deleted file mode 100644
index 41f5fbb..0000000
--- a/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl
+++ /dev/null
@@ -1,34 +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 BarringInfoBarringType {
- /**
- * Device is not barred for the given service
- */
- NONE,
- /**
- * Device may be barred based on time and probability factors
- */
- CONDITIONAL,
- /*
- * Device is unconditionally barred
- */
- UNCONDITIONAL,
-}
diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl
deleted file mode 100644
index 18f309d..0000000
--- a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl
+++ /dev/null
@@ -1,31 +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.BarringInfoBarringTypeSpecificInfoConditional;
-
-@VintfStability
-union BarringInfoBarringTypeSpecificInfo {
- /**
- * Barring type is either none or unconditional
- */
- boolean noinit;
- /**
- * Must be included if barring is conditional
- */
- BarringInfoBarringTypeSpecificInfoConditional conditional;
-}
diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl
deleted file mode 100644
index e3b7dfa..0000000
--- a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable BarringInfoBarringTypeSpecificInfoConditional {
- /**
- * The barring factor as a percentage 0-100
- */
- int factor;
- /**
- * The number of seconds between re-evaluations of barring
- */
- int timeSeconds;
- /**
- * Indicates whether barring is currently being applied.
- *
- * <p>True if the UE applies barring to a conditionally barred service based on the conditional
- * barring parameters.
- *
- * <p>False if the service is conditionally barred but barring is not currently applied, which
- * could be due to either the barring criteria not having been evaluated (if the UE has not
- * attempted to use the service) or due to the criteria being evaluated and the UE being
- * permitted to use the service despite conditional barring.
- */
- boolean isBarred;
-}
diff --git a/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl b/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl
deleted file mode 100644
index 1fa52a0..0000000
--- a/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl
+++ /dev/null
@@ -1,100 +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 BarringInfoServiceType {
- /**
- * Applicable to UTRAN
- * Barring for all CS services, including registration
- */
- CS_SERVICE,
- /**
- * Barring for all PS services, including registration
- */
- PS_SERVICE,
- /**
- * Barring for mobile-originated circuit-switched voice calls
- */
- CS_VOICE,
- /**
- * Applicable to EUTRAN, NGRAN
- * Barring for mobile-originated signalling for any purpose
- */
- MO_SIGNALLING,
- /**
- * Barring for mobile-originated internet or other interactive data
- */
- MO_DATA,
- /**
- * Barring for circuit-switched fallback calling
- */
- CS_FALLBACK,
- /**
- * Barring for IMS voice calling
- */
- MMTEL_VOICE,
- /**
- * Barring for IMS video calling
- */
- MMTEL_VIDEO,
- /**
- * Applicable to UTRAN, EUTRAN, NGRAN
- * Barring for emergency services, either CS or emergency MMTEL
- */
- EMERGENCY,
- /**
- * Barring for short message services
- */
- SMS,
- /**
- * Operator-specific barring codes; applicable to NGRAN
- */
- OPERATOR_1 = 1001,
- OPERATOR_2 = 1002,
- OPERATOR_3 = 1003,
- OPERATOR_4 = 1004,
- OPERATOR_5 = 1005,
- OPERATOR_6 = 1006,
- OPERATOR_7 = 1007,
- OPERATOR_8 = 1008,
- OPERATOR_9 = 1009,
- OPERATOR_10 = 1010,
- OPERATOR_11 = 1011,
- OPERATOR_12 = 1012,
- OPERATOR_13 = 1013,
- OPERATOR_14 = 1014,
- OPERATOR_15 = 1015,
- OPERATOR_16 = 1016,
- OPERATOR_17 = 1017,
- OPERATOR_18 = 1018,
- OPERATOR_19 = 1019,
- OPERATOR_20 = 1020,
- OPERATOR_21 = 1021,
- OPERATOR_22 = 1022,
- OPERATOR_23 = 1023,
- OPERATOR_24 = 1024,
- OPERATOR_25 = 1025,
- OPERATOR_26 = 1026,
- OPERATOR_27 = 1027,
- OPERATOR_28 = 1028,
- OPERATOR_29 = 1029,
- OPERATOR_30 = 1030,
- OPERATOR_31 = 1031,
- OPERATOR_32 = 1032,
-}
diff --git a/radio/aidl/android/hardware/radio/Call.aidl b/radio/aidl/android/hardware/radio/Call.aidl
deleted file mode 100644
index 38cb3d3..0000000
--- a/radio/aidl/android/hardware/radio/Call.aidl
+++ /dev/null
@@ -1,75 +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.AudioQuality;
-import android.hardware.radio.CallPresentation;
-import android.hardware.radio.CallState;
-import android.hardware.radio.UusInfo;
-
-@VintfStability
-parcelable Call {
- CallState state;
- /**
- * Connection index for use with, eg, AT+CHLD
- */
- int index;
- /**
- * Type of address, eg 145 = intl
- */
- int toa;
- /**
- * true if is mpty call
- */
- boolean isMpty;
- /**
- * true if call is mobile terminated
- */
- boolean isMT;
- /**
- * ALS line indicator if availale (0 = line 1)
- */
- byte als;
- /**
- * true if this is a voice call
- */
- boolean isVoice;
- /**
- * true if CDMA voice privacy mode is active
- */
- boolean isVoicePrivacy;
- /**
- * Remote party nummber
- */
- String number;
- CallPresentation numberPresentation;
- /**
- * Remote party name
- */
- String name;
- CallPresentation namePresentation;
- /**
- * Vector of User-User Signaling Information
- */
- UusInfo[] uusInfo;
- AudioQuality audioQuality;
- /**
- * Forwarded number. It can set only one forwarded number based on 3GPP rule of the CS.
- * Reference: 3GPP TS 24.008 section 10.5.4.21b
- */
- String forwardedNumber;
-}
diff --git a/radio/aidl/android/hardware/radio/CallForwardInfo.aidl b/radio/aidl/android/hardware/radio/CallForwardInfo.aidl
deleted file mode 100644
index 91a3055..0000000
--- a/radio/aidl/android/hardware/radio/CallForwardInfo.aidl
+++ /dev/null
@@ -1,49 +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.CallForwardInfoStatus;
-
-/**
- * See also com.android.internal.telephony.gsm.CallForwardInfo
- */
-@VintfStability
-parcelable CallForwardInfo {
- /**
- * For queryCallForwardStatus() status is DISABLE (Not used by vendor code currently)
- * For setCallForward() status must be DISABLE, ENABLE, INTERROGATE, REGISTRATION, ERASURE
- */
- CallForwardInfoStatus status;
- /**
- * From TS 27.007 7.11 "reason"
- */
- int reason;
- /**
- * From TS 27.007 +CCFC/+CLCK "class". See table for Android mapping from MMI service code.
- * 0 means user doesn't input class.
- */
- int serviceClass;
- /**
- * From TS 27.007 7.11 "type"
- */
- int toa;
- /**
- * From TS 27.007 7.11 "number"
- */
- String number;
- int timeSeconds;
-}
diff --git a/radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl b/radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl
deleted file mode 100644
index f4ae503..0000000
--- a/radio/aidl/android/hardware/radio/CallForwardInfoStatus.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 CallForwardInfoStatus {
- DISABLE,
- ENABLE,
- INTERROGATE,
- REGISTRATION,
- ERASURE,
-}
diff --git a/radio/aidl/android/hardware/radio/CallPresentation.aidl b/radio/aidl/android/hardware/radio/CallPresentation.aidl
deleted file mode 100644
index 76b5f21..0000000
--- a/radio/aidl/android/hardware/radio/CallPresentation.aidl
+++ /dev/null
@@ -1,26 +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 CallPresentation {
- ALLOWED,
- RESTRICTED,
- UNKNOWN,
- PAYPHONE,
-}
diff --git a/radio/aidl/android/hardware/radio/CallState.aidl b/radio/aidl/android/hardware/radio/CallState.aidl
deleted file mode 100644
index 4b6f1ac..0000000
--- a/radio/aidl/android/hardware/radio/CallState.aidl
+++ /dev/null
@@ -1,40 +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 CallState {
- ACTIVE,
- HOLDING,
- /**
- * MO call only
- */
- DIALING,
- /**
- * MO call only
- */
- ALERTING,
- /**
- * MT call only
- */
- INCOMING,
- /**
- * MT call only
- */
- WAITING,
-}
diff --git a/radio/aidl/android/hardware/radio/CardPowerState.aidl b/radio/aidl/android/hardware/radio/CardPowerState.aidl
deleted file mode 100644
index 23088c9..0000000
--- a/radio/aidl/android/hardware/radio/CardPowerState.aidl
+++ /dev/null
@@ -1,25 +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 CardPowerState {
- POWER_DOWN,
- POWER_UP,
- POWER_UP_PASS_THROUGH,
-}
diff --git a/radio/aidl/android/hardware/radio/CardState.aidl b/radio/aidl/android/hardware/radio/CardState.aidl
deleted file mode 100644
index c1bbee6..0000000
--- a/radio/aidl/android/hardware/radio/CardState.aidl
+++ /dev/null
@@ -1,37 +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 CardState {
- /*
- * Card is physically absent from device. (Some old modems use CardState.ABSENT when the SIM
- * is powered off. This is no longer correct, however the platform will still support this
- * legacy behavior.)
- */
- ABSENT,
- /*
- * Card is inserted in the device
- */
- PRESENT,
- ERROR,
- /*
- * Card is present but not usable due to carrier restrictions
- */
- RESTRICTED,
-}
diff --git a/radio/aidl/android/hardware/radio/CardStatus.aidl b/radio/aidl/android/hardware/radio/CardStatus.aidl
deleted file mode 100644
index a8df53d..0000000
--- a/radio/aidl/android/hardware/radio/CardStatus.aidl
+++ /dev/null
@@ -1,71 +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.AppStatus;
-import android.hardware.radio.CardState;
-import android.hardware.radio.PinState;
-
-@VintfStability
-parcelable CardStatus {
- CardState cardState;
- /**
- * Applicable to USIM and CSIM
- */
- PinState universalPinState;
- /**
- * Value < RadioConst:CARD_MAX_APPS, -1 if none
- */
- int gsmUmtsSubscriptionAppIndex;
- /**
- * Value < RadioConst:CARD_MAX_APPS, -1 if none
- */
- int cdmaSubscriptionAppIndex;
- /**
- * Value < RadioConst:CARD_MAX_APPS, -1 if none
- */
- int imsSubscriptionAppIndex;
- /**
- * size <= RadioConst::CARD_MAX_APPS
- */
- AppStatus[] applications;
- int physicalSlotId;
- /**
- * An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816
- * standards, following electrical reset of the card's chip. The ATR conveys information about
- * the communication parameters proposed by the card, and the card's nature and state.
- *
- * This data is applicable only when cardState is CardState:PRESENT.
- */
- String atr;
- /**
- * Integrated Circuit Card IDentifier (ICCID) is Unique Identifier of the SIM CARD. File is
- * located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
- * the ITU-T recommendation E.118 ISO/IEC 7816.
- *
- * This data is applicable only when cardState is CardState:PRESENT.
- */
- String iccid;
- /**
- * The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be
- * retrieved by the Device at any time using the standard GlobalPlatform GET DATA command.
- *
- * This data is mandatory and applicable only when cardState is CardState:PRESENT and SIM card
- * supports eUICC.
- */
- String eid;
-}
diff --git a/radio/aidl/android/hardware/radio/Carrier.aidl b/radio/aidl/android/hardware/radio/Carrier.aidl
deleted file mode 100644
index be619b9..0000000
--- a/radio/aidl/android/hardware/radio/Carrier.aidl
+++ /dev/null
@@ -1,31 +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.CarrierMatchType;
-
-@VintfStability
-parcelable Carrier {
- String mcc;
- String mnc;
- /**
- * Specify match type for the carrier. If it’s ALL, matchData is empty string; otherwise,
- * matchData is the value for the match type.
- */
- CarrierMatchType matchType;
- String matchData;
-}
diff --git a/radio/aidl/android/hardware/radio/CarrierMatchType.aidl b/radio/aidl/android/hardware/radio/CarrierMatchType.aidl
deleted file mode 100644
index 39b9466..0000000
--- a/radio/aidl/android/hardware/radio/CarrierMatchType.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum CarrierMatchType {
- /**
- * Apply to all carrier with the same mcc/mnc
- */
- ALL,
- /**
- * Use SPN and mcc/mnc to identify the carrier
- */
- SPN,
- /**
- * Use IMSI prefix and mcc/mnc to identify the carrier
- */
- IMSI_PREFIX,
- /**
- * Use GID1 and mcc/mnc to identify the carrier
- */
- GID1,
- /**
- * Use GID2 and mcc/mnc to identify the carrier
- */
- GID2,
-}
diff --git a/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl
deleted file mode 100644
index 70df637..0000000
--- a/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl
+++ /dev/null
@@ -1,33 +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.Carrier;
-
-@VintfStability
-parcelable CarrierRestrictions {
- /**
- * Allowed carriers
- */
- Carrier[] allowedCarriers;
- /**
- * Explicitly excluded carriers which match allowed_carriers. Eg. allowedCarriers match mcc/mnc,
- * excludedCarriers has same mcc/mnc and gid1 is ABCD. It means except the carrier whose gid1
- * is ABCD, all carriers with the same mcc/mnc are allowed.
- */
- Carrier[] excludedCarriers;
-}
diff --git a/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl b/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl
deleted file mode 100644
index 057b016..0000000
--- a/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.Carrier;
-
-@VintfStability
-parcelable CarrierRestrictionsWithPriority {
- /**
- * List of allowed carriers.
- * The character '?' is used as wildcard character to match any value.
- */
- Carrier[] allowedCarriers;
- /**
- * List of excluded carriers.
- * The character '?' is used as wildcard character to match any value.
- */
- Carrier[] excludedCarriers;
- /**
- * True means that only carriers included in the allowed list and not in the excluded list
- * are permitted. Eg. allowedCarriers match mcc/mnc, excludedCarriers has same mcc/mnc and
- * gid1 is ABCD. It means except the carrier whose gid1 is ABCD, all carriers with the
- * same mcc/mnc are allowed.
- * False means that all carriers are allowed except those included in the excluded list
- * and not in the allowed list.
- */
- boolean allowedCarriersPrioritized;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl
deleted file mode 100644
index 46f6345..0000000
--- a/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl
+++ /dev/null
@@ -1,35 +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
-parcelable CdmaBroadcastSmsConfigInfo {
- /**
- * Defines a broadcast message identifier whose value is 0x0000 - 0xFFFF as defined in
- * C.R1001G 9.3.1 and 9.3.2.
- */
- int serviceCategory;
- /**
- * Language code of broadcast message whose value is 0x00 - 0x07 as defined in C.R1001G 9.2.
- */
- int language;
- /**
- * Selected false means message types specified in serviceCategory are not accepted,
- * while true means accepted.
- */
- boolean selected;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl
deleted file mode 100644
index 3db6ee0..0000000
--- a/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl
+++ /dev/null
@@ -1,44 +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.CdmaCallWaitingNumberPlan;
-import android.hardware.radio.CdmaCallWaitingNumberPresentation;
-import android.hardware.radio.CdmaCallWaitingNumberType;
-import android.hardware.radio.CdmaSignalInfoRecord;
-
-@VintfStability
-parcelable CdmaCallWaiting {
- /**
- * Remote party number
- */
- String number;
- CdmaCallWaitingNumberPresentation numberPresentation;
- /**
- * Remote party name
- */
- String name;
- CdmaSignalInfoRecord signalInfoRecord;
- /**
- * Required to support International Call Waiting
- */
- CdmaCallWaitingNumberType numberType;
- /**
- * Required to support International Call Waiting
- */
- CdmaCallWaitingNumberPlan numberPlan;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl
deleted file mode 100644
index 76d2197..0000000
--- a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.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 CdmaCallWaitingNumberPlan {
- UNKNOWN = 0,
- ISDN = 1,
- DATA = 3,
- TELEX = 4,
- NATIONAL = 8,
- PRIVATE = 9,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl
deleted file mode 100644
index f9fca96..0000000
--- a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl
+++ /dev/null
@@ -1,25 +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 CdmaCallWaitingNumberPresentation {
- ALLOWED,
- RESTRICTED,
- UNKNOWN,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl
deleted file mode 100644
index 9c5b8ed..0000000
--- a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.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 CdmaCallWaitingNumberType {
- UNKNOWN,
- INTERNATIONAL,
- NATIONAL,
- NETWORK_SPECIFIC,
- SUBSCRIBER,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl
deleted file mode 100644
index 9b11f37..0000000
--- a/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl
+++ /dev/null
@@ -1,32 +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;
-
-/**
- * Display Info Rec as defined in C.S0005 section 3.7.5.1. Extended Display Info Rec as defined in
- * C.S0005 section 3.7.5.16. Note that the Extended Display info rec contains multiple records of
- * the form: display_tag, display_len, and display_len occurrences of the char field if the
- * display_tag is not 10000000 or 10000001. To save space, the records are stored consecutively in
- * a byte buffer. The display_tag, display_len and chari fields are all 1 byte.
- */
-@VintfStability
-parcelable CdmaDisplayInfoRecord {
- /**
- * Max length = RadioConst:CDMA_ALPHA_INFO_BUFFER_LENGTH
- */
- String alphaBuf;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl b/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl
deleted file mode 100644
index 63ec699..0000000
--- a/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl
+++ /dev/null
@@ -1,36 +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;
-
-/**
- * Names of the CDMA info records (C.S0005 section 3.7.5)
- */
-@VintfStability
-@Backing(type="int")
-enum CdmaInfoRecName {
- DISPLAY,
- CALLED_PARTY_NUMBER,
- CALLING_PARTY_NUMBER,
- CONNECTED_NUMBER,
- SIGNAL,
- REDIRECTING_NUMBER,
- LINE_CONTROL,
- EXTENDED_DISPLAY,
- T53_CLIR,
- T53_RELEASE,
- T53_AUDIO_CONTROL,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl b/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl
deleted file mode 100644
index 7d9cb0a..0000000
--- a/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl
+++ /dev/null
@@ -1,63 +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.CdmaDisplayInfoRecord;
-import android.hardware.radio.CdmaInfoRecName;
-import android.hardware.radio.CdmaLineControlInfoRecord;
-import android.hardware.radio.CdmaNumberInfoRecord;
-import android.hardware.radio.CdmaRedirectingNumberInfoRecord;
-import android.hardware.radio.CdmaSignalInfoRecord;
-import android.hardware.radio.CdmaT53AudioControlInfoRecord;
-import android.hardware.radio.CdmaT53ClirInfoRecord;
-
-@VintfStability
-parcelable CdmaInformationRecord {
- /**
- * Based on CdmaInfoRecName, only one of the below vectors must have size = 1.
- * All other vectors must have size 0.
- */
- CdmaInfoRecName name;
- /**
- * Display and extended display info rec
- */
- CdmaDisplayInfoRecord[] display;
- /**
- * Called party number, calling party number, connected number info rec
- */
- CdmaNumberInfoRecord[] number;
- /**
- * Signal info rec
- */
- CdmaSignalInfoRecord[] signal;
- /**
- * Redirecting number info rec
- */
- CdmaRedirectingNumberInfoRecord[] redir;
- /**
- * Line control info rec
- */
- CdmaLineControlInfoRecord[] lineCtrl;
- /**
- * T53 CLIR info rec
- */
- CdmaT53ClirInfoRecord[] clir;
- /**
- * T53 Audio Control info rec
- */
- CdmaT53AudioControlInfoRecord[] audioCtrl;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl b/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl
deleted file mode 100644
index dcf0ed2..0000000
--- a/radio/aidl/android/hardware/radio/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;
-
-import android.hardware.radio.CdmaInformationRecord;
-
-@VintfStability
-parcelable CdmaInformationRecords {
- /**
- * Max length = RadioConst:CDMA_MAX_NUMBER_OF_INFO_RECS
- */
- CdmaInformationRecord[] infoRec;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl
deleted file mode 100644
index a6178af..0000000
--- a/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.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;
-
-/**
- * Line Control Information Record as defined in C.S0005 section 3.7.5.15
- */
-@VintfStability
-parcelable CdmaLineControlInfoRecord {
- byte lineCtrlPolarityIncluded;
- byte lineCtrlToggle;
- byte lineCtrlReverse;
- byte lineCtrlPowerDenial;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl
deleted file mode 100644
index 06e8317..0000000
--- a/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl
+++ /dev/null
@@ -1,34 +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;
-
-/**
- * Called Party Number Info Rec as defined in C.S0005 section 3.7.5.2
- * Calling Party Number Info Rec as defined in C.S0005 section 3.7.5.3
- * Connected Number Info Rec as defined in C.S0005 section 3.7.5.4
- */
-@VintfStability
-parcelable CdmaNumberInfoRecord {
- /**
- * Max length = RADIO_CDMA_NUMBER_INFO_BUFFER_LENGTH
- */
- String number;
- byte numberType;
- byte numberPlan;
- byte pi;
- byte si;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl b/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl
deleted file mode 100644
index 0cb4314..0000000
--- a/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl
+++ /dev/null
@@ -1,34 +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 CdmaOtaProvisionStatus {
- SPL_UNLOCKED,
- SPC_RETRIES_EXCEEDED,
- A_KEY_EXCHANGED,
- SSD_UPDATED,
- NAM_DOWNLOADED,
- MDN_DOWNLOADED,
- IMSI_DOWNLOADED,
- PRL_DOWNLOADED,
- COMMITTED,
- OTAPA_STARTED,
- OTAPA_STOPPED,
- OTAPA_ABORTED,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl
deleted file mode 100644
index d15621a..0000000
--- a/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.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;
-
-import android.hardware.radio.CdmaNumberInfoRecord;
-import android.hardware.radio.CdmaRedirectingReason;
-
-@VintfStability
-parcelable CdmaRedirectingNumberInfoRecord {
- CdmaNumberInfoRecord redirectingNumber;
- /**
- * Set to UNKNOWN if not included.
- */
- CdmaRedirectingReason redirectingReason;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl b/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl
deleted file mode 100644
index c86b9b2..0000000
--- a/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl
+++ /dev/null
@@ -1,32 +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;
-
-/**
- * Redirecting Number Information Record as defined in C.S0005 section 3.7.5.11
- */
-@VintfStability
-@Backing(type="int")
-enum CdmaRedirectingReason {
- UNKNOWN = 0,
- CALL_FORWARDING_BUSY = 1,
- CALL_FORWARDING_NO_REPLY = 2,
- CALLED_DTE_OUT_OF_ORDER = 9,
- CALL_FORWARDING_BY_THE_CALLED_DTE = 10,
- CALL_FORWARDING_UNCONDITIONAL = 15,
- RESERVED,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl b/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl
deleted file mode 100644
index df09e03..0000000
--- a/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl
+++ /dev/null
@@ -1,25 +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 CdmaRoamingType {
- HOME_NETWORK,
- AFFILIATED_ROAM,
- ANY_ROAM,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl
deleted file mode 100644
index 36ecb18..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl
+++ /dev/null
@@ -1,40 +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;
-
-/**
- * CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5
- */
-@VintfStability
-parcelable CdmaSignalInfoRecord {
- /**
- * True if signal information record is present
- */
- boolean isPresent;
- /**
- * Defined in 3.7.5.5-1
- */
- byte signalType;
- /**
- * Defined in 3.7.5.5-2
- */
- byte alertPitch;
- /**
- * Defined in 3.7.5.5-3, 3.7.5.5-4 or 3.7.5.5-5
- */
- byte signal;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl
deleted file mode 100644
index e6c2fb5..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl
+++ /dev/null
@@ -1,31 +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
-parcelable CdmaSignalStrength {
- /**
- * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75,
- * then this response value will be 75. INT_MAX means invalid/unreported.
- */
- int dbm;
- /**
- * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB,
- * then this response value will be 125. INT_MAX means invalid/unreported.
- */
- int ecio;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl b/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl
deleted file mode 100644
index b412b70..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsAck.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;
-
-import android.hardware.radio.CdmaSmsErrorClass;
-
-@VintfStability
-parcelable CdmaSmsAck {
- CdmaSmsErrorClass errorClass;
- /**
- * SMS cause code as defined in N.S00005, 6.5.2.125.
- * Currently, only 35 (resource shortage) and 39 (other terminal problem) are reported.
- */
- int smsCauseCode;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl b/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl
deleted file mode 100644
index 83e8839..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl
+++ /dev/null
@@ -1,53 +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.CdmaSmsDigitMode;
-import android.hardware.radio.CdmaSmsNumberMode;
-import android.hardware.radio.CdmaSmsNumberPlan;
-import android.hardware.radio.CdmaSmsNumberType;
-
-@VintfStability
-parcelable CdmaSmsAddress {
- /**
- * CdmaSmsDigitMode is of two types : 4 bit and 8 bit.
- * For 4-bit type, only "digits" field defined below in this struct is used.
- */
- CdmaSmsDigitMode digitMode;
- /**
- * Used only when digitMode is 8-bit.
- */
- CdmaSmsNumberMode numberMode;
- /**
- * Used only when digitMode is 8-bit. To specify an international address, use the following:
- * digitMode = CdmaSmsDigitMode:EIGHT_BIT:
- * numberMode = CdmaSmsNumberMode:NOT_DATA_NETWORK
- * numberType = CdmaSmsNumberType:INTERNATIONAL_OR_DATA_IP
- * numberPlan = CdmaSmsNumberPlan:TELEPHONY
- * numberOfDigits = number of digits
- * digits = ASCII digits, e.g. '1', '2', '3', '4', and '5'
- */
- CdmaSmsNumberType numberType;
- /**
- * Used only when digitMode is 8-bit.
- */
- CdmaSmsNumberPlan numberPlan;
- /**
- * Each byte in this array represents a 4 bit or 8-bit digit of address data.
- */
- byte[] digits;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl b/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl
deleted file mode 100644
index 662311d..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.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 CdmaSmsDigitMode {
- /**
- * DTMF digits
- */
- FOUR_BIT,
- EIGHT_BIT,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl b/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl
deleted file mode 100644
index ec8c74e..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.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 CdmaSmsErrorClass {
- NO_ERROR,
- ERROR,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl b/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl
deleted file mode 100644
index f38cc5b..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl
+++ /dev/null
@@ -1,33 +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.CdmaSmsAddress;
-import android.hardware.radio.CdmaSmsSubaddress;
-
-@VintfStability
-parcelable CdmaSmsMessage {
- int teleserviceId;
- boolean isServicePresent;
- int serviceCategory;
- CdmaSmsAddress address;
- CdmaSmsSubaddress subAddress;
- /**
- * 3GPP2 C.S0015-B, v2.0
- */
- byte[] bearerData;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl
deleted file mode 100644
index e1e96dd..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.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 CdmaSmsNumberMode {
- NOT_DATA_NETWORK,
- DATA_NETWORK,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl
deleted file mode 100644
index 23dea9b..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl
+++ /dev/null
@@ -1,47 +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 CdmaSmsNumberPlan {
- UNKNOWN,
- /**
- * CCITT E.164 and E.163, including ISDN plan
- */
- TELEPHONY,
- RESERVED_2,
- /**
- * CCITT X.121
- */
- DATA,
- /**
- * CCITT F.69
- */
- TELEX,
- RESERVED_5,
- RESERVED_6,
- RESERVED_7,
- RESERVED_8,
- PRIVATE,
- RESERVED_10,
- RESERVED_11,
- RESERVED_12,
- RESERVED_13,
- RESERVED_14,
- RESERVED_15,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl
deleted file mode 100644
index e439d1f..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsNumberType.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum CdmaSmsNumberType {
- UNKNOWN,
- /**
- * INTERNATIONAL is used when number mode is not data network address. DATA_IP is used when the
- * number mode is data network address.
- */
- INTERNATIONAL_OR_DATA_IP,
- /**
- * NATIONAL is used when the number mode is not data netework address. INTERNET_MAIL is used
- * when the number mode is data network address. For INTERNET_MAIL, in the address data
- * "digits", each byte contains an ASCII character. Examples are: "x@y.com,a@b.com"
- * Ref TIA/EIA-637A 3.4.3.3
- */
- NATIONAL_OR_INTERNET_MAIL,
- NETWORK,
- SUBSCRIBER,
- /**
- * GSM SMS: address value is GSM 7-bit chars
- */
- ALPHANUMERIC,
- ABBREVIATED,
- RESERVED_7,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl b/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl
deleted file mode 100644
index 4a84c79..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl
+++ /dev/null
@@ -1,32 +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.CdmaSmsSubaddressType;
-
-@VintfStability
-parcelable CdmaSmsSubaddress {
- CdmaSmsSubaddressType subaddressType;
- /**
- * True means the last byte's lower 4 bits must be ignored
- */
- boolean odd;
- /**
- * Each byte represents an 8-bit digit of subaddress data
- */
- byte[] digits;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl b/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl
deleted file mode 100644
index 60aa37b..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.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 CdmaSmsSubaddressType {
- /**
- * CCITT X.213 or ISO 8348 AD2
- */
- NSAP,
- /**
- * e.g. X.25
- */
- USER_SPECIFIED,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl
deleted file mode 100644
index f613e39..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.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;
-
-import android.hardware.radio.CdmaSmsMessage;
-import android.hardware.radio.CdmaSmsWriteArgsStatus;
-
-@VintfStability
-parcelable CdmaSmsWriteArgs {
- /**
- * Status of message. See TS 27.005 3.1
- */
- CdmaSmsWriteArgsStatus status;
- CdmaSmsMessage message;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl
deleted file mode 100644
index 009e8a9..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl
+++ /dev/null
@@ -1,26 +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 CdmaSmsWriteArgsStatus {
- REC_UNREAD,
- REC_READ,
- STO_UNSENT,
- STO_SENT,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl b/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl
deleted file mode 100644
index b83e81a..0000000
--- a/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.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 CdmaSubscriptionSource {
- RUIM_SIM,
- NV,
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl
deleted file mode 100644
index 715a2f7..0000000
--- a/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl
+++ /dev/null
@@ -1,26 +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;
-
-/**
- * T53 Audio Control Information Record
- */
-@VintfStability
-parcelable CdmaT53AudioControlInfoRecord {
- byte upLink;
- byte downLink;
-}
diff --git a/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl
deleted file mode 100644
index 636d40c..0000000
--- a/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl
+++ /dev/null
@@ -1,25 +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;
-
-/**
- * T53 CLIR Information Record
- */
-@VintfStability
-parcelable CdmaT53ClirInfoRecord {
- byte cause;
-}
diff --git a/radio/aidl/android/hardware/radio/CellConfigLte.aidl b/radio/aidl/android/hardware/radio/CellConfigLte.aidl
deleted file mode 100644
index 56a1a10..0000000
--- a/radio/aidl/android/hardware/radio/CellConfigLte.aidl
+++ /dev/null
@@ -1,31 +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;
-
-/**
- * Contains the configuration of the LTE cell tower.
- */
-@VintfStability
-parcelable CellConfigLte {
- /**
- * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the LTE cell.
- * True if the plmn-InfoList-r15 is present in SIB2 and at least one bit in this list is true,
- * otherwise this value should be false.
- * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks.
- */
- boolean isEndcAvailable;
-}
diff --git a/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl b/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl
deleted file mode 100644
index faa9b28..0000000
--- a/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl
+++ /dev/null
@@ -1,34 +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 CellConnectionStatus {
- /**
- * Cell is not a serving cell.
- */
- NONE,
- /**
- * UE has connection to cell for signalling and possibly data (3GPP 36.331, 25.331).
- */
- PRIMARY_SERVING,
- /**
- * UE has connection to cell for data (3GPP 36.331, 25.331).
- */
- SECONDARY_SERVING,
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentity.aidl b/radio/aidl/android/hardware/radio/CellIdentity.aidl
deleted file mode 100644
index abfcc9d..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentity.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.CellIdentityCdma;
-import android.hardware.radio.CellIdentityGsm;
-import android.hardware.radio.CellIdentityLte;
-import android.hardware.radio.CellIdentityNr;
-import android.hardware.radio.CellIdentityTdscdma;
-import android.hardware.radio.CellIdentityWcdma;
-
-/**
- * A union representing the CellIdentity of a single cell.
- */
-@VintfStability
-union CellIdentity {
- boolean noinit;
- CellIdentityGsm gsm;
- CellIdentityWcdma wcdma;
- CellIdentityTdscdma tdscdma;
- CellIdentityCdma cdma;
- CellIdentityLte lte;
- CellIdentityNr nr;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl
deleted file mode 100644
index 56867e9..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityCdma.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.CellIdentityOperatorNames;
-
-@VintfStability
-parcelable CellIdentityCdma {
- /**
- * Network Id 0..65535, INT_MAX if unknown
- */
- int networkId;
- /**
- * CDMA System Id 0..32767, INT_MAX if unknown
- */
- int systemId;
- /**
- * Base Station Id 0..65535, INT_MAX if unknown
- */
- int baseStationId;
- /**
- * Longitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in
- * units of 0.25 seconds and ranges from -2592000 to 2592000, both values inclusive
- * (corresponding to a range of -180 to +180 degrees). INT_MAX if unknown
- */
- int longitude;
- /**
- * Latitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in
- * units of 0.25 seconds and ranges from -1296000 to 1296000, both values inclusive
- * (corresponding to a range of -90 to +90 degrees). INT_MAX if unknown
- */
- int latitude;
- CellIdentityOperatorNames operatorNames;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl
deleted file mode 100644
index f1c5042..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl
+++ /dev/null
@@ -1,52 +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.CellIdentityOperatorNames;
-
-@VintfStability
-parcelable CellIdentityGsm {
- /**
- * 3-digit Mobile Country Code, 0..999, empty string if unknown
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown
- */
- String mnc;
- /**
- * 16-bit Location Area Code, 0..65535, INT_MAX if unknown
- */
- int lac;
- /**
- * 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown
- */
- int cid;
- /**
- * 16-bit GSM Absolute RF channel number; this value must be valid
- */
- int arfcn;
- /**
- * 6-bit Base Station Identity Code, 0xFF if unknown
- */
- byte bsic;
- CellIdentityOperatorNames operatorNames;
- /**
- * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
- */
- String[] additionalPlmns;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/CellIdentityLte.aidl
deleted file mode 100644
index f7f8fef..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityLte.aidl
+++ /dev/null
@@ -1,66 +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.CellIdentityOperatorNames;
-import android.hardware.radio.EutranBands;
-import android.hardware.radio.OptionalCsgInfo;
-
-@VintfStability
-parcelable CellIdentityLte {
- /**
- * 3-digit Mobile Country Code, 0..999, empty string if unknown
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown
- */
- String mnc;
- /**
- * 28-bit Cell Identity described in TS TS 27.007, INT_MAX if unknown
- */
- int ci;
- /**
- * Physical cell id 0..503; this value must be valid
- */
- int pci;
- /**
- * 16-bit tracking area code, INT_MAX if unknown
- */
- int tac;
- /**
- * 18-bit LTE Absolute RF Channel Number; this value must be valid
- */
- int earfcn;
- CellIdentityOperatorNames operatorNames;
- /**
- * Cell bandwidth, in kHz.
- */
- int bandwidth;
- /**
- * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
- */
- String[] additionalPlmns;
- /**
- * Information about any closed subscriber group ID for this cell
- */
- OptionalCsgInfo optionalCsgInfo;
- /**
- * Bands used by the cell.
- */
- EutranBands[] bands;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/CellIdentityNr.aidl
deleted file mode 100644
index 6879c63..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityNr.aidl
+++ /dev/null
@@ -1,67 +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.CellIdentityOperatorNames;
-import android.hardware.radio.NgranBands;
-
-/**
- * The CellIdentity structure should be reported once for each element of the PLMN-IdentityInfoList
- * broadcast in SIB1 CellAccessRelatedInfo as per 3GPP TS 38.331 Section 6.3.2.
- */
-@VintfStability
-parcelable CellIdentityNr {
- /**
- * 3-digit Mobile Country Code, in range[0, 999]; This value must be valid for registered or
- * camped cells; INT_MAX means invalid/unreported.
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, in range [0, 999], This value must be valid for
- * registered or camped cells; INT_MAX means invalid/unreported.
- */
- String mnc;
- /**
- * NR Cell Identity in range [0, 68719476735] (36 bits) described in 3GPP TS 38.331, which
- * unambiguously identifies a cell within a PLMN. This value must be valid for registered or
- * camped cells; LONG_MAX (2^63-1) means invalid/unreported.
- */
- long nci;
- /**
- * Physical cell id in range [0, 1007] described in 3GPP TS 38.331. This value must be valid.
- */
- int pci;
- /**
- * 16-bit tracking area code, INT_MAX means invalid/unreported.
- */
- int tac;
- /**
- * NR Absolute Radio Frequency Channel Number, in range [0, 3279165].
- * Reference: 3GPP TS 38.101-1 and 3GPP TS 38.101-2 section 5.4.2.1.
- * This value must be valid.
- */
- int nrarfcn;
- CellIdentityOperatorNames operatorNames;
- /**
- * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
- */
- String[] additionalPlmns;
- /**
- * Bands used by the cell.
- */
- NgranBands[] bands;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl b/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl
deleted file mode 100644
index dea9929..0000000
--- a/radio/aidl/android/hardware/radio/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;
-
-@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/CellIdentityTdscdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl
deleted file mode 100644
index 8268bba..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl
+++ /dev/null
@@ -1,57 +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.CellIdentityOperatorNames;
-import android.hardware.radio.OptionalCsgInfo;
-
-@VintfStability
-parcelable CellIdentityTdscdma {
- /**
- * 3-digit Mobile Country Code, 0..999, empty string if unknown.
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown.
- */
- String mnc;
- /**
- * 16-bit Location Area Code, 0..65535, INT_MAX if unknown.
- */
- int lac;
- /**
- * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown.
- */
- int cid;
- /**
- * 8-bit Cell Parameters ID described in TS 25.331, 0..127, INT_MAX if unknown.
- */
- int cpid;
- /**
- * 16-bit UMTS Absolute RF Channel Number defined in TS 25.102 5.4.4; this value must be valid.
- */
- int uarfcn;
- CellIdentityOperatorNames operatorNames;
- /**
- * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
- */
- String[] additionalPlmns;
- /**
- * Information about any closed subscriber group ID for this cell.
- */
- OptionalCsgInfo optionalCsgInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl
deleted file mode 100644
index 667c15b..0000000
--- a/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl
+++ /dev/null
@@ -1,57 +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.CellIdentityOperatorNames;
-import android.hardware.radio.OptionalCsgInfo;
-
-@VintfStability
-parcelable CellIdentityWcdma {
- /**
- * 3-digit Mobile Country Code, 0..999, empty string if unknown.
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown.
- */
- String mnc;
- /**
- * 16-bit Location Area Code, 0..65535, INT_MAX if unknown.
- */
- int lac;
- /**
- * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown.
- */
- int cid;
- /**
- * 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511; this value must be valid.
- */
- int psc;
- /**
- * 16-bit UMTS Absolute RF Channel Number; this value must be valid.
- */
- int uarfcn;
- CellIdentityOperatorNames operatorNames;
- /**
- * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
- */
- String[] additionalPlmns;
- /**
- * Information about any closed subscriber group ID for this cell.
- */
- OptionalCsgInfo optionalCsgInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfo.aidl b/radio/aidl/android/hardware/radio/CellInfo.aidl
deleted file mode 100644
index fe4f330..0000000
--- a/radio/aidl/android/hardware/radio/CellInfo.aidl
+++ /dev/null
@@ -1,33 +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.CellConnectionStatus;
-import android.hardware.radio.CellInfoCellInfoRatSpecificInfo;
-
-@VintfStability
-parcelable CellInfo {
- /**
- * True if this cell is registered false if not registered.
- */
- boolean registered;
- /**
- * Connection status for the cell.
- */
- CellConnectionStatus connectionStatus;
- CellInfoCellInfoRatSpecificInfo ratSpecificInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoCdma.aidl b/radio/aidl/android/hardware/radio/CellInfoCdma.aidl
deleted file mode 100644
index 27a35d1..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoCdma.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;
-
-import android.hardware.radio.CdmaSignalStrength;
-import android.hardware.radio.CellIdentityCdma;
-import android.hardware.radio.EvdoSignalStrength;
-
-@VintfStability
-parcelable CellInfoCdma {
- CellIdentityCdma cellIdentityCdma;
- CdmaSignalStrength signalStrengthCdma;
- EvdoSignalStrength signalStrengthEvdo;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl b/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl
deleted file mode 100644
index cdd3386..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl
+++ /dev/null
@@ -1,40 +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.CellInfoCdma;
-import android.hardware.radio.CellInfoGsm;
-import android.hardware.radio.CellInfoLte;
-import android.hardware.radio.CellInfoNr;
-import android.hardware.radio.CellInfoTdscdma;
-import android.hardware.radio.CellInfoWcdma;
-
-@VintfStability
-union CellInfoCellInfoRatSpecificInfo {
- /**
- * 3gpp CellInfo types.
- */
- CellInfoGsm gsm;
- CellInfoWcdma wcdma;
- CellInfoTdscdma tdscdma;
- CellInfoLte lte;
- CellInfoNr nr;
- /**
- * 3gpp2 CellInfo types;
- */
- CellInfoCdma cdma;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoGsm.aidl b/radio/aidl/android/hardware/radio/CellInfoGsm.aidl
deleted file mode 100644
index 16ba857..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoGsm.aidl
+++ /dev/null
@@ -1,26 +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.CellIdentityGsm;
-import android.hardware.radio.GsmSignalStrength;
-
-@VintfStability
-parcelable CellInfoGsm {
- CellIdentityGsm cellIdentityGsm;
- GsmSignalStrength signalStrengthGsm;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoInfo.aidl b/radio/aidl/android/hardware/radio/CellInfoInfo.aidl
deleted file mode 100644
index 4d5e12d..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoInfo.aidl
+++ /dev/null
@@ -1,34 +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.CellInfoCdma;
-import android.hardware.radio.CellInfoGsm;
-import android.hardware.radio.CellInfoLte;
-import android.hardware.radio.CellInfoNr;
-import android.hardware.radio.CellInfoTdscdma;
-import android.hardware.radio.CellInfoWcdma;
-
-@VintfStability
-union CellInfoInfo {
- CellInfoGsm gsm;
- CellInfoCdma cdma;
- CellInfoWcdma wcdma;
- CellInfoTdscdma tdscdma;
- CellInfoLte lte;
- CellInfoNr nr;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoLte.aidl b/radio/aidl/android/hardware/radio/CellInfoLte.aidl
deleted file mode 100644
index d3389c1..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoLte.aidl
+++ /dev/null
@@ -1,26 +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.CellIdentityLte;
-import android.hardware.radio.LteSignalStrength;
-
-@VintfStability
-parcelable CellInfoLte {
- CellIdentityLte cellIdentityLte;
- LteSignalStrength signalStrengthLte;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoNr.aidl b/radio/aidl/android/hardware/radio/CellInfoNr.aidl
deleted file mode 100644
index b1f311f..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoNr.aidl
+++ /dev/null
@@ -1,26 +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.CellIdentityNr;
-import android.hardware.radio.NrSignalStrength;
-
-@VintfStability
-parcelable CellInfoNr {
- CellIdentityNr cellIdentityNr;
- NrSignalStrength signalStrengthNr;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl b/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl
deleted file mode 100644
index b7d09bc..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl
+++ /dev/null
@@ -1,26 +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.CellIdentityTdscdma;
-import android.hardware.radio.TdscdmaSignalStrength;
-
-@VintfStability
-parcelable CellInfoTdscdma {
- CellIdentityTdscdma cellIdentityTdscdma;
- TdscdmaSignalStrength signalStrengthTdscdma;
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoType.aidl b/radio/aidl/android/hardware/radio/CellInfoType.aidl
deleted file mode 100644
index 8e5e8c9..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoType.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 CellInfoType {
- NONE,
- GSM,
- CDMA,
- LTE,
- WCDMA,
- TD_SCDMA,
-}
diff --git a/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl b/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl
deleted file mode 100644
index 03b0863..0000000
--- a/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl
+++ /dev/null
@@ -1,26 +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.CellIdentityWcdma;
-import android.hardware.radio.WcdmaSignalStrength;
-
-@VintfStability
-parcelable CellInfoWcdma {
- CellIdentityWcdma cellIdentityWcdma;
- WcdmaSignalStrength signalStrengthWcdma;
-}
diff --git a/radio/aidl/android/hardware/radio/CfData.aidl b/radio/aidl/android/hardware/radio/CfData.aidl
deleted file mode 100644
index c6a91b9..0000000
--- a/radio/aidl/android/hardware/radio/CfData.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;
-
-import android.hardware.radio.CallForwardInfo;
-
-@VintfStability
-parcelable CfData {
- /**
- * This is the response data for SS request to query call forward status.
- * See getCallForwardStatus(). Max size = RadioConst:NUM_SERVICE_CLASSES.
- */
- CallForwardInfo[] cfInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/ClipStatus.aidl b/radio/aidl/android/hardware/radio/ClipStatus.aidl
deleted file mode 100644
index c75c609..0000000
--- a/radio/aidl/android/hardware/radio/ClipStatus.aidl
+++ /dev/null
@@ -1,34 +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 ClipStatus {
- /**
- * CLIP provisioned
- */
- CLIP_PROVISIONED,
- /**
- * CLIP not provisioned
- */
- CLIP_UNPROVISIONED,
- /**
- * Unknown, e.g. no networks etc
- */
- UNKNOWN,
-}
diff --git a/radio/aidl/android/hardware/radio/Clir.aidl b/radio/aidl/android/hardware/radio/Clir.aidl
deleted file mode 100644
index a13ff9d..0000000
--- a/radio/aidl/android/hardware/radio/Clir.aidl
+++ /dev/null
@@ -1,34 +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 Clir {
- /**
- * Use subscription default value
- */
- DEFAULT,
- /**
- * Restrict CLI presentation
- */
- INVOCATION,
- /**
- * Allow CLI presentation
- */
- SUPPRESSION,
-}
diff --git a/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl b/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl
deleted file mode 100644
index 7c6fb7a..0000000
--- a/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl
+++ /dev/null
@@ -1,41 +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
-parcelable ClosedSubscriberGroupInfo {
- /**
- * Indicates whether the cell is restricted to only CSG members. A cell not broadcasting the
- * CSG Indication but reporting CSG information is considered a Hybrid Cell.
- * Refer to the "csg-Indication" field in 3GPP TS 36.331 section 6.2.2
- * SystemInformationBlockType1.
- * Also refer to "CSG Indicator" in 3GPP TS 25.331 section 10.2.48.8.1 and TS 25.304.
- */
- boolean csgIndication;
- /**
- * The human-readable name of the closed subscriber group operating this cell.
- * Refer to "hnb-Name" in TS 36.331 section 6.2.2 SystemInformationBlockType9.
- * Also refer to "HNB Name" in 3GPP TS25.331 section 10.2.48.8.23 and TS 23.003 section 4.8.
- */
- String homeNodebName;
- /**
- * The identity of the closed subscriber group that the cell belongs to.
- * Refer to "CSG-Identity" in TS 36.336 section 6.3.4.
- * Also refer to "CSG Identity" in 3GPP TS 25.331 section 10.3.2.8 and TS 23.003 section 4.7.
- */
- int csgIdentity;
-}
diff --git a/radio/aidl/android/hardware/radio/DataCallFailCause.aidl b/radio/aidl/android/hardware/radio/DataCallFailCause.aidl
deleted file mode 100644
index 021988b..0000000
--- a/radio/aidl/android/hardware/radio/DataCallFailCause.aidl
+++ /dev/null
@@ -1,1303 +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 DataCallFailCause {
- /**
- * An integer cause code defined in TS 24.008 section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B.
- * If the implementation does not have access to the exact cause codes, then it must return one
- * of the following values, as the UI layer needs to distinguish these cases for error
- * notification and potential retries.
- */
- NONE = 0,
- /**
- * No retry
- */
- OPERATOR_BARRED = 0x08,
- /**
- * PDP_FAIL_LLC_SNDCP = 0x19
- */
- NAS_SIGNALLING = 0x0E,
- INSUFFICIENT_RESOURCES = 0x1A,
- /**
- * No retry
- */
- MISSING_UNKNOWN_APN = 0x1B,
- /**
- * No retry
- */
- UNKNOWN_PDP_ADDRESS_TYPE = 0x1C,
- /**
- * No retry
- */
- USER_AUTHENTICATION = 0x1D,
- /**
- * No retry
- */
- ACTIVATION_REJECT_GGSN = 0x1E,
- ACTIVATION_REJECT_UNSPECIFIED = 0x1F,
- /**
- * No retry
- */
- SERVICE_OPTION_NOT_SUPPORTED = 0x20,
- /**
- * No retry
- */
- SERVICE_OPTION_NOT_SUBSCRIBED = 0x21,
- SERVICE_OPTION_OUT_OF_ORDER = 0x22,
- /**
- * No retry
- */
- NSAPI_IN_USE = 0x23,
- /**
- * Possibly restart radio, based on framework config
- */
- REGULAR_DEACTIVATION = 0x24,
- QOS_NOT_ACCEPTED = 0x25,
- NETWORK_FAILURE = 0x26,
- UMTS_REACTIVATION_REQ = 0x27,
- FEATURE_NOT_SUPP = 0x28,
- TFT_SEMANTIC_ERROR = 0x29,
- TFT_SYTAX_ERROR = 0x2A,
- UNKNOWN_PDP_CONTEXT = 0x2B,
- FILTER_SEMANTIC_ERROR = 0x2C,
- FILTER_SYTAX_ERROR = 0x2D,
- PDP_WITHOUT_ACTIVE_TFT = 0x2E,
- /**
- * No retry
- */
- ONLY_IPV4_ALLOWED = 0x32,
- /**
- * No retry
- */
- ONLY_IPV6_ALLOWED = 0x33,
- ONLY_SINGLE_BEARER_ALLOWED = 0x34,
- ESM_INFO_NOT_RECEIVED = 0x35,
- PDN_CONN_DOES_NOT_EXIST = 0x36,
- MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37,
- MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41,
- UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42,
- INVALID_TRANSACTION_ID = 0x51,
- MESSAGE_INCORRECT_SEMANTIC = 0x5F,
- INVALID_MANDATORY_INFO = 0x60,
- MESSAGE_TYPE_UNSUPPORTED = 0x61,
- MSG_TYPE_NONCOMPATIBLE_STATE = 0x62,
- UNKNOWN_INFO_ELEMENT = 0x63,
- CONDITIONAL_IE_ERROR = 0x64,
- MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65,
- /**
- * No retry
- */
- PROTOCOL_ERRORS = 0x6F,
- APN_TYPE_CONFLICT = 0x70,
- INVALID_PCSCF_ADDR = 0x71,
- INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72,
- EMM_ACCESS_BARRED = 0x73,
- EMERGENCY_IFACE_ONLY = 0x74,
- IFACE_MISMATCH = 0x75,
- COMPANION_IFACE_IN_USE = 0x76,
- IP_ADDRESS_MISMATCH = 0x77,
- IFACE_AND_POL_FAMILY_MISMATCH = 0x78,
- EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79,
- AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A,
- OEM_DCFAILCAUSE_1 = 0x1001,
- OEM_DCFAILCAUSE_2 = 0x1002,
- OEM_DCFAILCAUSE_3 = 0x1003,
- OEM_DCFAILCAUSE_4 = 0x1004,
- OEM_DCFAILCAUSE_5 = 0x1005,
- OEM_DCFAILCAUSE_6 = 0x1006,
- OEM_DCFAILCAUSE_7 = 0x1007,
- OEM_DCFAILCAUSE_8 = 0x1008,
- OEM_DCFAILCAUSE_9 = 0x1009,
- OEM_DCFAILCAUSE_10 = 0x100A,
- OEM_DCFAILCAUSE_11 = 0x100B,
- OEM_DCFAILCAUSE_12 = 0x100C,
- OEM_DCFAILCAUSE_13 = 0x100D,
- OEM_DCFAILCAUSE_14 = 0x100E,
- OEM_DCFAILCAUSE_15 = 0x100F,
- /**
- * Not mentioned in the specification
- */
- VOICE_REGISTRATION_FAIL = -1,
- /**
- * Not mentioned in the specification
- */
- DATA_REGISTRATION_FAIL = -2,
- /**
- * Network/modem disonnect
- */
- SIGNAL_LOST = -3,
- /**
- * Preferred technology has changed, must retry with parameters appropriate for new technology
- */
- PREF_RADIO_TECH_CHANGED = -4,
- /**
- * Data call was disconnected because radio was resetting, powered off - no retry
- */
- RADIO_POWER_OFF = -5,
- /**
- * Data call was disconnected by modem because tethered mode was up on same APN/data profile
- * No retry until tethered call is off
- */
- TETHERED_CALL_ACTIVE = -6,
- ERROR_UNSPECIFIED = 0xffff,
- /**
- * Network cannot provide the requested service and PDP context is deactivated because of LLC
- * or SNDCP failure.
- */
- LLC_SNDCP = 0x19,
- /**
- * UE requested to modify QoS parameters or the bearer control mode, which is not compatible
- * with the selected bearer control mode.
- */
- ACTIVATION_REJECTED_BCM_VIOLATION = 0x30,
- /**
- * Network has already initiated the activation, modification, or deactivation of bearer
- * resources that was requested by the UE.
- */
- COLLISION_WITH_NETWORK_INITIATED_REQUEST = 0x38,
- /**
- * Network supports IPv4v6 PDP type only. Non-IP type is not allowed. In LTE mode of operation,
- * this is a PDN throttling cause code, meaning the UE may throttle further requests to the
- * same APN.
- */
- ONLY_IPV4V6_ALLOWED = 0x39,
- /**
- * Network supports non-IP PDP type only. IPv4, IPv6 and IPv4v6 is not allowed. In LTE mode of
- * operation, this is a PDN throttling cause code, meaning the UE can throttle further requests
- * to the same APN.
- */
- ONLY_NON_IP_ALLOWED = 0x3A,
- /**
- * QCI (QoS Class Identifier) indicated in the UE request cannot be supported.
- */
- UNSUPPORTED_QCI_VALUE = 0x3B,
- /**
- * Procedure requested by the UE was rejected because the bearer handling is not supported.
- */
- BEARER_HANDLING_NOT_SUPPORTED = 0x3C,
- /**
- * Not receiving a DNS address that was mandatory.
- */
- INVALID_DNS_ADDR = 0x7B,
- /**
- * Not receiving either a PCSCF or a DNS address, one of them being mandatory.
- */
- INVALID_PCSCF_OR_DNS_ADDRESS = 0x7C,
- /**
- * Emergency call bring up on a different ePDG.
- */
- CALL_PREEMPT_BY_EMERGENCY_APN = 0x7F,
- /**
- * UE performs a detach or disconnect PDN action based on TE requirements.
- */
- UE_INITIATED_DETACH_OR_DISCONNECT = 0x80,
- /**
- * Reason unspecified for foreign agent rejected MIP (Mobile IP) registration.
- */
- MIP_FA_REASON_UNSPECIFIED = 0x7D0,
- /**
- * Foreign agent administratively prohibited MIP (Mobile IP) registration.
- */
- MIP_FA_ADMIN_PROHIBITED = 0x7D1,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of insufficient resources.
- */
- MIP_FA_INSUFFICIENT_RESOURCES = 0x7D2,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of MN-AAA authenticator was
- * wrong.
- */
- MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7D3,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of home agent authentication
- * failure.
- */
- MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 0x7D4,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of requested lifetime was too
- * long.
- */
- MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 0x7D5,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of malformed request.
- */
- MIP_FA_MALFORMED_REQUEST = 0x7D6,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of malformed reply.
- */
- MIP_FA_MALFORMED_REPLY = 0x7D7,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of requested encapsulation was
- * unavailable.
- */
- MIP_FA_ENCAPSULATION_UNAVAILABLE = 0x7D8,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration of VJ Header Compression was unavailable.
- */
- MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 0x7D9,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was
- * unavailable.
- */
- MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 0x7DA,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was mandatory
- * but not requested by device.
- */
- MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 0x7DB,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of delivery style was not
- * supported.
- */
- MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 0x7DC,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of missing NAI (Network Access
- * Identifier).
- */
- MIP_FA_MISSING_NAI = 0x7DD,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Agent.
- */
- MIP_FA_MISSING_HOME_AGENT = 0x7DE,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Address.
- */
- MIP_FA_MISSING_HOME_ADDRESS = 0x7DF,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of unknown challenge.
- */
- MIP_FA_UNKNOWN_CHALLENGE = 0x7E0,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of missing challenge.
- */
- MIP_FA_MISSING_CHALLENGE = 0x7E1,
- /**
- * Foreign agent rejected MIP (Mobile IP) registration because of stale challenge.
- */
- MIP_FA_STALE_CHALLENGE = 0x7E2,
- /**
- * Reason unspecified for home agent rejected MIP (Mobile IP) registration.
- */
- MIP_HA_REASON_UNSPECIFIED = 0x7E3,
- /**
- * Home agent administratively prohibited MIP (Mobile IP) registration.
- */
- MIP_HA_ADMIN_PROHIBITED = 0x7E4,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of insufficient resources.
- */
- MIP_HA_INSUFFICIENT_RESOURCES = 0x7E5,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of MN-HA authenticator was wrong.
- */
- MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7E6,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of foreign agent authentication
- * failure.
- */
- MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 0x7E7,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of registration id mismatch.
- */
- MIP_HA_REGISTRATION_ID_MISMATCH = 0x7E8,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of malformed request.
- */
- MIP_HA_MALFORMED_REQUEST = 0x7E9,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of unknown home agent address.
- */
- MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 0x7EA,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel was unavailable.
- */
- MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 0x7EB,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel is mandatory but
- * not requested by device.
- */
- MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 0x7EC,
- /**
- * Home agent rejected MIP (Mobile IP) registration because of encapsulation unavailable.
- */
- MIP_HA_ENCAPSULATION_UNAVAILABLE = 0x7ED,
- /**
- * Tearing down is in progress.
- */
- CLOSE_IN_PROGRESS = 0x7EE,
- /**
- * Brought down by the network.
- */
- NETWORK_INITIATED_TERMINATION = 0x7EF,
- /**
- * Another application in modem preempts the data call.
- */
- MODEM_APP_PREEMPTED = 0x7F0,
- /**
- * IPV4 PDN is in throttled state due to network providing only IPV6 address during the previous
- * VSNCP bringup (subs_limited_to_v6).
- */
- PDN_IPV4_CALL_DISALLOWED = 0x7F1,
- /**
- * IPV4 PDN is in throttled state due to previous VSNCP bringup failure(s).
- */
- PDN_IPV4_CALL_THROTTLED = 0x7F2,
- /**
- * IPV6 PDN is in throttled state due to network providing only IPV4 address during the previous
- * VSNCP bringup (subs_limited_to_v4).
- */
- PDN_IPV6_CALL_DISALLOWED = 0x7F3,
- /**
- * IPV6 PDN is in throttled state due to previous VSNCP bringup failure(s).
- */
- PDN_IPV6_CALL_THROTTLED = 0x7F4,
- /**
- * Modem restart.
- */
- MODEM_RESTART = 0x7F5,
- /**
- * PDP PPP calls are not supported.
- */
- PDP_PPP_NOT_SUPPORTED = 0x7F6,
- /**
- * RAT on which the data call is attempted/connected is no longer the preferred RAT.
- */
- UNPREFERRED_RAT = 0x7F7,
- /**
- * Physical link is in the process of cleanup.
- */
- PHYSICAL_LINK_CLOSE_IN_PROGRESS = 0x7F8,
- /**
- * Interface bring up is attempted for an APN that is yet to be handed over to target RAT.
- */
- APN_PENDING_HANDOVER = 0x7F9,
- /**
- * APN bearer type in the profile does not match preferred network mode.
- */
- PROFILE_BEARER_INCOMPATIBLE = 0x7FA,
- /**
- * Card was refreshed or removed.
- */
- SIM_CARD_CHANGED = 0x7FB,
- /**
- * Device is going into lower power mode or powering down.
- */
- LOW_POWER_MODE_OR_POWERING_DOWN = 0x7FC,
- /**
- * APN has been disabled.
- */
- APN_DISABLED = 0x7FD,
- /**
- * Maximum PPP inactivity timer expired.
- */
- MAX_PPP_INACTIVITY_TIMER_EXPIRED = 0x7FE,
- /**
- * IPv6 address transfer failed.
- */
- IPV6_ADDRESS_TRANSFER_FAILED = 0x7FF,
- /**
- * Target RAT swap failed.
- */
- TRAT_SWAP_FAILED = 0x800,
- /**
- * Device falls back from eHRPD to HRPD.
- */
- EHRPD_TO_HRPD_FALLBACK = 0x801,
- /**
- * UE is in MIP-only configuration but the MIP configuration fails on call bring up due to
- * incorrect provisioning.
- */
- MIP_CONFIG_FAILURE = 0x802,
- /**
- * PDN inactivity timer expired due to no data transmission in a configurable duration of time.
- */
- PDN_INACTIVITY_TIMER_EXPIRED = 0x803,
- /**
- * IPv4 data call bring up is rejected because the UE already maintains the allotted maximum
- * number of IPv4 data connections.
- */
- MAX_IPV4_CONNECTIONS = 0x804,
- /**
- * IPv6 data call bring up is rejected because the UE already maintains the allotted maximum
- * number of IPv6 data connections.
- */
- MAX_IPV6_CONNECTIONS = 0x805,
- /**
- * New PDN bring up is rejected during interface selection because the UE has already allotted
- * the available interfaces for other PDNs.
- */
- APN_MISMATCH = 0x806,
- /**
- * New call bring up is rejected since the existing data call IP type doesn't match the
- * requested IP.
- */
- IP_VERSION_MISMATCH = 0x807,
- /**
- * Dial up networking (DUN) call bring up is rejected since UE is in eHRPD RAT.
- */
- DUN_CALL_DISALLOWED = 0x808,
- /**
- * Rejected/Brought down since UE is transition between EPC and NONEPC RAT.
- */
- INTERNAL_EPC_NONEPC_TRANSITION = 0x809,
- /**
- * The current interface is being in use.
- */
- INTERFACE_IN_USE = 0x80A,
- /**
- * PDN connection to the APN is disallowed on the roaming network.
- */
- APN_DISALLOWED_ON_ROAMING = 0x80B,
- /**
- * APN-related parameters are changed.
- */
- APN_PARAMETERS_CHANGED = 0x80C,
- /**
- * PDN is attempted to be brought up with NULL APN but NULL APN is not supported.
- */
- NULL_APN_DISALLOWED = 0x80D,
- /**
- * Thermal level increases and causes calls to be torn down when normal mode of operation is
- * not allowed.
- */
- THERMAL_MITIGATION = 0x80E,
- /**
- * PDN Connection to a given APN is disallowed because data is disabled from the device user
- * interface settings.
- */
- DATA_SETTINGS_DISABLED = 0x80F,
- /**
- * PDN Connection to a given APN is disallowed because data roaming is disabled from the device
- * user interface settings and the UE is roaming.
- */
- DATA_ROAMING_SETTINGS_DISABLED = 0x810,
- /**
- * DDS (Default data subscription) switch occurs.
- */
- DDS_SWITCHED = 0x811,
- /**
- * PDN being brought up with an APN that is part of forbidden APN Name list.
- */
- FORBIDDEN_APN_NAME = 0x812,
- /**
- * Default data subscription switch is in progress.
- */
- DDS_SWITCH_IN_PROGRESS = 0x813,
- /**
- * Roaming is disallowed during call bring up.
- */
- CALL_DISALLOWED_IN_ROAMING = 0x814,
- /**
- * UE is unable to bring up a non-IP data call because the device is not camped on a NB1 cell.
- */
- NON_IP_NOT_SUPPORTED = 0x815,
- /**
- * Non-IP PDN is in throttled state due to previous VSNCP bringup failure(s).
- */
- PDN_NON_IP_CALL_THROTTLED = 0x816,
- /**
- * Non-IP PDN is in disallowed state due to the network providing only an IP address.
- */
- PDN_NON_IP_CALL_DISALLOWED = 0x817,
- /**
- * Device in CDMA locked state.
- */
- CDMA_LOCK = 0x818,
- /**
- * Received an intercept order from the base station.
- */
- CDMA_INTERCEPT = 0x819,
- /**
- * Receiving a reorder from the base station.
- */
- CDMA_REORDER = 0x81A,
- /**
- * Receiving a release from the base station with a SO (Service Option) Reject reason.
- */
- CDMA_RELEASE_DUE_TO_SO_REJECTION = 0x81B,
- /**
- * Receiving an incoming call from the base station.
- */
- CDMA_INCOMING_CALL = 0x81C,
- /**
- * Received an alert stop from the base station due to incoming only.
- */
- CDMA_ALERT_STOP = 0x81D,
- /**
- * Channel acquisition failures. This indicates that device has failed acquiring all the
- * channels in the PRL.
- */
- CHANNEL_ACQUISITION_FAILURE = 0x81E,
- /**
- * Maximum access probes transmitted.
- */
- MAX_ACCESS_PROBE = 0x81F,
- /**
- * Concurrent service is not supported by base station.
- */
- CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 0x820,
- /**
- * There was no response received from the base station.
- */
- NO_RESPONSE_FROM_BASE_STATION = 0x821,
- /**
- * The base station rejecting the call.
- */
- REJECTED_BY_BASE_STATION = 0x822,
- /**
- * The concurrent services requested were not compatible.
- */
- CONCURRENT_SERVICES_INCOMPATIBLE = 0x823,
- /**
- * Device does not have CDMA service.
- */
- NO_CDMA_SERVICE = 0x824,
- /**
- * RUIM not being present.
- */
- RUIM_NOT_PRESENT = 0x825,
- /**
- * Receiving a retry order from the base station.
- */
- CDMA_RETRY_ORDER = 0x826,
- /**
- * Access blocked by the base station.
- */
- ACCESS_BLOCK = 0x827,
- /**
- * Access blocked by the base station for all mobile devices.
- */
- ACCESS_BLOCK_ALL = 0x828,
- /**
- * Maximum access probes for the IS-707B call.
- */
- IS707B_MAX_ACCESS_PROBES = 0x829,
- /**
- * Put device in thermal emergency.
- */
- THERMAL_EMERGENCY = 0x82A,
- /**
- * In favor of a voice call or SMS when concurrent voice and data are not supported.
- */
- CONCURRENT_SERVICES_NOT_ALLOWED = 0x82B,
- /**
- * The other clients rejected incoming call.
- */
- INCOMING_CALL_REJECTED = 0x82C,
- /**
- * No service on the gateway.
- */
- NO_SERVICE_ON_GATEWAY = 0x82D,
- /**
- * GPRS context is not available.
- */
- NO_GPRS_CONTEXT = 0x82E,
- /**
- * Network refuses service to the MS because either an identity of the MS is not acceptable to
- * the network or the MS does not pass the authentication check.
- */
- ILLEGAL_MS = 0x82F,
- /**
- * ME could not be authenticated and the ME used is not acceptable to the network.
- */
- ILLEGAL_ME = 0x830,
- /**
- * Not allowed to operate either GPRS or non-GPRS services.
- */
- GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 0x831,
- /**
- * MS is not allowed to operate GPRS services.
- */
- GPRS_SERVICES_NOT_ALLOWED = 0x832,
- /**
- * No matching identity or context could be found in the network.
- */
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 0x833,
- /**
- * Mobile reachable timer has expired, or the GMM context data related to the subscription does
- * not exist in the SGSN.
- */
- IMPLICITLY_DETACHED = 0x834,
- /**
- * UE requests GPRS service, or the network initiates a detach request in a PLMN which does not
- * offer roaming for GPRS services to that MS.
- */
- PLMN_NOT_ALLOWED = 0x835,
- /**
- * MS requests service, or the network initiates a detach request, in a location area where the
- * HPLMN determines that the MS, by subscription, is not allowed to operate.
- */
- LOCATION_AREA_NOT_ALLOWED = 0x836,
- /**
- * UE requests GPRS service or the network initiates a detach request in a PLMN that does not
- * offer roaming for GPRS services.
- */
- GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 0x837,
- /**
- * PDP context already exists.
- */
- PDP_DUPLICATE = 0x838,
- /**
- * RAT change on the UE.
- */
- UE_RAT_CHANGE = 0x839,
- /**
- * Network cannot serve a request from the MS due to congestion.
- */
- CONGESTION = 0x83A,
- /**
- * MS requests an establishment of the radio access bearers for all active PDP contexts by
- * sending a service request message indicating data to the network, but the SGSN does not have
- * any active PDP context.
- */
- NO_PDP_CONTEXT_ACTIVATED = 0x83B,
- /**
- * Access class blocking restrictions for the current camped cell.
- */
- ACCESS_CLASS_DSAC_REJECTION = 0x83C,
- /**
- * SM attempts PDP activation for a maximum of four attempts.
- */
- PDP_ACTIVATE_MAX_RETRY_FAILED = 0x83D,
- /**
- * Radio access bearer failure.
- */
- RADIO_ACCESS_BEARER_FAILURE = 0x83E,
- /**
- * Invalid EPS bearer identity in the request.
- */
- ESM_UNKNOWN_EPS_BEARER_CONTEXT = 0x83F,
- /**
- * Data radio bearer is released by the RRC.
- */
- DRB_RELEASED_BY_RRC = 0x840,
- /**
- * Indicate the connection was released.
- */
- CONNECTION_RELEASED = 0x841,
- /**
- * UE is detached.
- */
- EMM_DETACHED = 0x842,
- /**
- * Attach procedure is rejected by the network.
- */
- EMM_ATTACH_FAILED = 0x843,
- /**
- * Attach procedure is started for EMC purposes.
- */
- EMM_ATTACH_STARTED = 0x844,
- /**
- * Service request procedure failure.
- */
- LTE_NAS_SERVICE_REQUEST_FAILED = 0x845,
- /**
- * Active dedicated bearer was requested using the same default bearer ID.
- */
- DUPLICATE_BEARER_ID = 0x846,
- /**
- * Collision scenarios for the UE and network-initiated procedures.
- */
- ESM_COLLISION_SCENARIOS = 0x847,
- /**
- * Bearer must be deactivated to synchronize with the network.
- */
- ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 0x848,
- /**
- * Active dedicated bearer was requested for an existing default bearer.
- */
- ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 0x849,
- /**
- * Bad OTA message is received from the network.
- */
- ESM_BAD_OTA_MESSAGE = 0x84A,
- /**
- * Download server rejected the call.
- */
- ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 0x84B,
- /**
- * PDN was disconnected by the downlaod server due to IRAT.
- */
- ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 0x84C,
- /**
- * Dedicated bearer will be deactivated regardless of the network response.
- */
- DS_EXPLICIT_DEACTIVATION = 0x84D,
- /**
- * No specific local cause is mentioned, usually a valid OTA cause.
- */
- ESM_LOCAL_CAUSE_NONE = 0x84E,
- /**
- * Throttling is not needed for this service request failure.
- */
- LTE_THROTTLING_NOT_REQUIRED = 0x84F,
- /**
- * Access control list check failure at the lower layer.
- */
- ACCESS_CONTROL_LIST_CHECK_FAILURE = 0x850,
- /**
- * Service is not allowed on the requested PLMN.
- */
- SERVICE_NOT_ALLOWED_ON_PLMN = 0x851,
- /**
- * T3417 timer expiration of the service request procedure.
- */
- EMM_T3417_EXPIRED = 0x852,
- /**
- * Extended service request fails due to expiration of the T3417 EXT timer.
- */
- EMM_T3417_EXT_EXPIRED = 0x853,
- /**
- * Transmission failure of radio resource control (RRC) uplink data.
- */
- RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 0x854,
- /**
- * Radio resource control (RRC) uplink data delivery failed due to a handover.
- */
- RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 0x855,
- /**
- * Radio resource control (RRC) uplink data delivery failed due to a connection release.
- */
- RRC_UPLINK_CONNECTION_RELEASE = 0x856,
- /**
- * Radio resource control (RRC) uplink data delivery failed due to a radio link failure.
- */
- RRC_UPLINK_RADIO_LINK_FAILURE = 0x857,
- /**
- * Radio resource control (RRC) is not connected but the non-access stratum (NAS) sends an
- * uplink data request.
- */
- RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 0x858,
- /**
- * Radio resource control (RRC) connection failure at access stratum.
- */
- RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 0x859,
- /**
- * Radio resource control (RRC) connection establishment is aborted due to another procedure.
- */
- RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 0x85A,
- /**
- * Radio resource control (RRC) connection establishment failed due to access barrred.
- */
- RRC_CONNECTION_ACCESS_BARRED = 0x85B,
- /**
- * Radio resource control (RRC) connection establishment failed due to cell reselection at
- * access stratum.
- */
- RRC_CONNECTION_CELL_RESELECTION = 0x85C,
- /**
- * Connection establishment failed due to configuration failure at the radio resource control
- * (RRC).
- */
- RRC_CONNECTION_CONFIG_FAILURE = 0x85D,
- /**
- * Radio resource control (RRC) connection could not be established in the time limit.
- */
- RRC_CONNECTION_TIMER_EXPIRED = 0x85E,
- /**
- * Connection establishment failed due to a link failure at the radio resource control (RRC).
- */
- RRC_CONNECTION_LINK_FAILURE = 0x85F,
- /**
- * Connection establishment failed as the radio resource control (RRC) is not camped on any
- * cell.
- */
- RRC_CONNECTION_CELL_NOT_CAMPED = 0x860,
- /**
- * Connection establishment failed due to a service interval failure at the radio resource
- * control (RRC).
- */
- RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 0x861,
- /**
- * Radio resource control (RRC) connection establishment failed due to the network rejecting the
- * UE connection request.
- */
- RRC_CONNECTION_REJECT_BY_NETWORK = 0x862,
- /**
- * Normal radio resource control (RRC) connection release.
- */
- RRC_CONNECTION_NORMAL_RELEASE = 0x863,
- /**
- * Radio resource control (RRC) connection release failed due to radio link failure conditions.
- */
- RRC_CONNECTION_RADIO_LINK_FAILURE = 0x864,
- /**
- * Radio resource control (RRC) connection re-establishment failure.
- */
- RRC_CONNECTION_REESTABLISHMENT_FAILURE = 0x865,
- /**
- * UE is out of service during the call register.
- */
- RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 0x866,
- /**
- * Connection has been released by the radio resource control (RRC) due to an abort request.
- */
- RRC_CONNECTION_ABORT_REQUEST = 0x867,
- /**
- * Radio resource control (RRC) connection released due to a system information block read
- * error.
- */
- RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 0x868,
- /**
- * Network-initiated detach with reattach.
- */
- NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 0x869,
- /**
- * Network-initiated detach without reattach.
- */
- NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 0x86A,
- /**
- * ESM procedure maximum attempt timeout failure.
- */
- ESM_PROCEDURE_TIME_OUT = 0x86B,
- /**
- * No PDP exists with the given connection ID while modifying or deactivating or activation for
- * an already active PDP.
- */
- INVALID_CONNECTION_ID = 0x86C,
- /**
- * Maximum NSAPIs have been exceeded during PDP activation.
- */
- MAXIMIUM_NSAPIS_EXCEEDED = 0x86D,
- /**
- * Primary context for NSAPI does not exist.
- */
- INVALID_PRIMARY_NSAPI = 0x86E,
- /**
- * Unable to encode the OTA message for MT PDP or deactivate PDP.
- */
- CANNOT_ENCODE_OTA_MESSAGE = 0x86F,
- /**
- * Radio access bearer is not established by the lower layers during activation, modification,
- * or deactivation.
- */
- RADIO_ACCESS_BEARER_SETUP_FAILURE = 0x870,
- /**
- * Expiration of the PDP establish timer with a maximum of five retries.
- */
- PDP_ESTABLISH_TIMEOUT_EXPIRED = 0x871,
- /**
- * Expiration of the PDP modify timer with a maximum of four retries.
- */
- PDP_MODIFY_TIMEOUT_EXPIRED = 0x872,
- /**
- * Expiration of the PDP deactivate timer with a maximum of four retries.
- */
- PDP_INACTIVE_TIMEOUT_EXPIRED = 0x873,
- /**
- * PDP activation failed due to RRC_ABORT or a forbidden PLMN.
- */
- PDP_LOWERLAYER_ERROR = 0x874,
- /**
- * MO PDP modify collision when the MT PDP is already in progress.
- */
- PDP_MODIFY_COLLISION = 0x875,
- /**
- * Maximum size of the L2 message was exceeded.
- */
- MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876,
- /**
- * Non-access stratum (NAS) request was rejected by the network.
- */
- NAS_REQUEST_REJECTED_BY_NETWORK = 0x877,
- /**
- * Radio resource control (RRC) connection establishment failure due to an error in the request
- * message.
- */
- RRC_CONNECTION_INVALID_REQUEST = 0x878,
- /**
- * Radio resource control (RRC) connection establishment failure due to a change in the tracking
- * area ID.
- */
- RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 0x879,
- /**
- * Radio resource control (RRC) connection establishment failure due to the RF was unavailable.
- */
- RRC_CONNECTION_RF_UNAVAILABLE = 0x87A,
- /**
- * Radio resource control (RRC) connection was aborted before deactivating the LTE stack due to
- * a successful LTE to WCDMA/GSM/TD-SCDMA IRAT change.
- */
- RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 0x87B,
- /**
- * If the UE has an LTE radio link failure before security is established, the radio resource
- * control (RRC) connection must be released and the UE must return to idle.
- */
- RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 0x87C,
- /**
- * Radio resource control (RRC) connection was aborted by the non-access stratum (NAS) after an
- * IRAT to LTE IRAT handover.
- */
- RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 0x87D,
- /**
- * Radio resource control (RRC) connection was aborted before deactivating the LTE stack after a
- * successful LTE to GSM/EDGE IRAT cell change order procedure.
- */
- RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 0x87E,
- /**
- * Radio resource control (RRC) connection was aborted in the middle of a LTE to GSM IRAT cell
- * change order procedure.
- */
- RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 0x87F,
- /**
- * IMSI present in the UE is unknown in the home subscriber server.
- */
- IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 0x880,
- /**
- * IMEI of the UE is not accepted by the network.
- */
- IMEI_NOT_ACCEPTED = 0x881,
- /**
- * EPS and non-EPS services are not allowed by the network.
- */
- EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 0x882,
- /**
- * EPS services are not allowed in the PLMN.
- */
- EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 0x883,
- /**
- * Mobile switching center is temporarily unreachable.
- */
- MSC_TEMPORARILY_NOT_REACHABLE = 0x884,
- /**
- * CS domain is not available.
- */
- CS_DOMAIN_NOT_AVAILABLE = 0x885,
- /**
- * ESM level failure.
- */
- ESM_FAILURE = 0x886,
- /**
- * MAC level failure.
- */
- MAC_FAILURE = 0x887,
- /**
- * Synchronization failure.
- */
- SYNCHRONIZATION_FAILURE = 0x888,
- /**
- * UE security capabilities mismatch.
- */
- UE_SECURITY_CAPABILITIES_MISMATCH = 0x889,
- /**
- * Unspecified security mode reject.
- */
- SECURITY_MODE_REJECTED = 0x88A,
- /**
- * Unacceptable non-EPS authentication.
- */
- UNACCEPTABLE_NON_EPS_AUTHENTICATION = 0x88B,
- /**
- * CS fallback call establishment is not allowed.
- */
- CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 0x88C,
- /**
- * No EPS bearer context was activated.
- */
- NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x88D,
- /**
- * Invalid EMM state.
- */
- INVALID_EMM_STATE = 0x88E,
- /**
- * Non-Access Spectrum layer failure.
- */
- NAS_LAYER_FAILURE = 0x88F,
- /**
- * Multiple PDP call feature is disabled.
- */
- MULTIPLE_PDP_CALL_NOT_ALLOWED = 0x890,
- /**
- * Data call has been brought down because EMBMS is not enabled at the RRC layer.
- */
- EMBMS_NOT_ENABLED = 0x891,
- /**
- * Data call was unsuccessfully transferred during the IRAT handover.
- */
- IRAT_HANDOVER_FAILED = 0x892,
- /**
- * EMBMS data call has been successfully brought down.
- */
- EMBMS_REGULAR_DEACTIVATION = 0x893,
- /**
- * Test loop-back data call has been successfully brought down.
- */
- TEST_LOOPBACK_REGULAR_DEACTIVATION = 0x894,
- /**
- * Lower layer registration failure.
- */
- LOWER_LAYER_REGISTRATION_FAILURE = 0x895,
- /**
- * Network initiates a detach on LTE with error cause "data plan has been replenished or has
- * expired".
- */
- DATA_PLAN_EXPIRED = 0x896,
- /**
- * UMTS interface is brought down due to handover from UMTS to iWLAN.
- */
- UMTS_HANDOVER_TO_IWLAN = 0x897,
- /**
- * Received a connection deny due to general or network busy on EVDO network.
- */
- EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 0x898,
- /**
- * Received a connection deny due to billing or authentication failure on EVDO network.
- */
- EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 0x899,
- /**
- * HDR system has been changed due to redirection or the PRL was not preferred.
- */
- EVDO_HDR_CHANGED = 0x89A,
- /**
- * Device exited HDR due to redirection or the PRL was not preferred.
- */
- EVDO_HDR_EXITED = 0x89B,
- /**
- * Device does not have an HDR session.
- */
- EVDO_HDR_NO_SESSION = 0x89C,
- /**
- * It is ending an HDR call origination in favor of a GPS fix.
- */
- EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 0x89D,
- /**
- * Connection setup on the HDR system was time out.
- */
- EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 0x89E,
- /**
- * Device failed to acquire a co-located HDR for origination.
- */
- FAILED_TO_ACQUIRE_COLOCATED_HDR = 0x89F,
- /**
- * OTASP commit is in progress.
- */
- OTASP_COMMIT_IN_PROGRESS = 0x8A0,
- /**
- * Device has no hybrid HDR service.
- */
- NO_HYBRID_HDR_SERVICE = 0x8A1,
- /**
- * HDR module could not be obtained because of the RF locked.
- */
- HDR_NO_LOCK_GRANTED = 0x8A2,
- /**
- * DBM or SMS is in progress.
- */
- DBM_OR_SMS_IN_PROGRESS = 0x8A3,
- /**
- * HDR module released the call due to fade.
- */
- HDR_FADE = 0x8A4,
- /**
- * HDR system access failure.
- */
- HDR_ACCESS_FAILURE = 0x8A5,
- /**
- * P_rev supported by 1 base station is less than 6, which is not supported for a 1X data call.
- * The UE must be in the footprint of BS which has p_rev >= 6 to support this SO33 call.
- */
- UNSUPPORTED_1X_PREV = 0x8A6,
- /**
- * Client ended the data call.
- */
- LOCAL_END = 0x8A7,
- /**
- * Device has no service.
- */
- NO_SERVICE = 0x8A8,
- /**
- * Device lost the system due to fade.
- */
- FADE = 0x8A9,
- /**
- * Receiving a release from the base station with no reason.
- */
- NORMAL_RELEASE = 0x8AA,
- /**
- * Access attempt is already in progress.
- */
- ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 0x8AB,
- /**
- * Device is in the process of redirecting or handing off to a different target system.
- */
- REDIRECTION_OR_HANDOFF_IN_PROGRESS = 0x8AC,
- /**
- * Device is operating in Emergency mode.
- */
- EMERGENCY_MODE = 0x8AD,
- /**
- * Device is in use (e.g., voice call).
- */
- PHONE_IN_USE = 0x8AE,
- /**
- * Device operational mode is different from the mode requested in the traffic channel bring up.
- */
- INVALID_MODE = 0x8AF,
- /**
- * SIM was marked by the network as invalid for the circuit and/or packet service domain.
- */
- INVALID_SIM_STATE = 0x8B0,
- /**
- * There is no co-located HDR.
- */
- NO_COLLOCATED_HDR = 0x8B1,
- /**
- * UE is entering power save mode.
- */
- UE_IS_ENTERING_POWERSAVE_MODE = 0x8B2,
- /**
- * Dual switch from single standby to dual standby is in progress.
- */
- DUAL_SWITCH = 0x8B3,
- /**
- * Data call bring up fails in the PPP setup due to a timeout. (e.g., an LCP conf ack was not
- * received from the network)
- */
- PPP_TIMEOUT = 0x8B4,
- /**
- * Data call bring up fails in the PPP setup due to an authorization failure.
- * (e.g., authorization is required, but not negotiated with the network during an LCP phase)
- */
- PPP_AUTH_FAILURE = 0x8B5,
- /**
- * Data call bring up fails in the PPP setup due to an option mismatch.
- */
- PPP_OPTION_MISMATCH = 0x8B6,
- /**
- * Data call bring up fails in the PPP setup due to a PAP failure.
- */
- PPP_PAP_FAILURE = 0x8B7,
- /**
- * Data call bring up fails in the PPP setup due to a CHAP failure.
- */
- PPP_CHAP_FAILURE = 0x8B8,
- /**
- * Data call bring up fails in the PPP setup because the PPP is in the process of cleaning the
- * previous PPP session.
- */
- PPP_CLOSE_IN_PROGRESS = 0x8B9,
- /**
- * IPv6 interface bring up fails because the network provided only the IPv4 address for the
- * upcoming PDN permanent client can reattempt a IPv6 call bring up after the IPv4 interface is
- * also brought down. However, there is no guarantee that the network will provide a IPv6
- * address.
- */
- LIMITED_TO_IPV4 = 0x8BA,
- /**
- * IPv4 interface bring up fails because the network provided only the IPv6 address for the
- * upcoming PDN permanent client can reattempt a IPv4 call bring up after the IPv6 interface is
- * also brought down. However there is no guarantee that the network will provide a IPv4
- * address.
- */
- LIMITED_TO_IPV6 = 0x8BB,
- /**
- * Data call bring up fails in the VSNCP phase due to a VSNCP timeout error.
- */
- VSNCP_TIMEOUT = 0x8BC,
- /**
- * Data call bring up fails in the VSNCP phase due to a general error. It's used when there is
- * no other specific error code available to report the failure.
- */
- VSNCP_GEN_ERROR = 0x8BD,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request because the requested APN is unauthorized.
- */
- VSNCP_APN_UNAUTHORIZED = 0x8BE,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request because the PDN limit has been exceeded.
- */
- VSNCP_PDN_LIMIT_EXCEEDED = 0x8BF,
- /**
- * Data call bring up fails in the VSNCP phase due to the network rejected the VSNCP
- * configuration request due to no PDN gateway address.
- */
- VSNCP_NO_PDN_GATEWAY_ADDRESS = 0x8C0,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request because the PDN gateway is unreachable.
- */
- VSNCP_PDN_GATEWAY_UNREACHABLE = 0x8C1,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request due to a PDN gateway reject.
- */
- VSNCP_PDN_GATEWAY_REJECT = 0x8C2,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request with the reason of insufficient parameter.
- */
- VSNCP_INSUFFICIENT_PARAMETERS = 0x8C3,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request with the reason of resource unavailable.
- */
- VSNCP_RESOURCE_UNAVAILABLE = 0x8C4,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request with the reason of administratively prohibited at the HSGW.
- */
- VSNCP_ADMINISTRATIVELY_PROHIBITED = 0x8C5,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of PDN ID in use, or
- * all existing PDNs are brought down with this end reason because one of the PDN bring up was
- * rejected by the network with the reason of PDN ID in use.
- */
- VSNCP_PDN_ID_IN_USE = 0x8C6,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request for the reason of subscriber limitation.
- */
- VSNCP_SUBSCRIBER_LIMITATION = 0x8C7,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request because the PDN exists for this APN.
- */
- VSNCP_PDN_EXISTS_FOR_THIS_APN = 0x8C8,
- /**
- * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
- * configuration request with reconnect to this PDN not allowed, or an active data call is
- * terminated by the network because reconnection to this PDN is not allowed. Upon receiving
- * this error code from the network, the modem infinitely throttles the PDN until the next power
- * cycle.
- */
- VSNCP_RECONNECT_NOT_ALLOWED = 0x8C9,
- /**
- * Device failure to obtain the prefix from the network.
- */
- IPV6_PREFIX_UNAVAILABLE = 0x8CA,
- /**
- * System preference change back to SRAT during handoff
- */
- HANDOFF_PREFERENCE_CHANGED = 0x8CB,
- /**
- * Data call fail due to the slice not being allowed for the data call.
- */
- SLICE_REJECTED = 0x8CC,
- /**
- * No matching rule available for the request, and match-all rule is not allowed for it.
- */
- MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD,
- /**
- * If connection failed for all matching URSP rules.
- */
- ALL_MATCHING_RULES_FAILED = 0x8CE,
-}
diff --git a/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl b/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl
deleted file mode 100644
index 1e83727..0000000
--- a/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl
+++ /dev/null
@@ -1,37 +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;
-
-/**
- * Data connection active status
- */
-@VintfStability
-@Backing(type="int")
-enum DataConnActiveStatus {
- /**
- * Indicates the data connection is inactive.
- */
- INACTIVE,
- /**
- * Indicates the data connection is active with physical link dormant.
- */
- DORMANT,
- /**
- * Indicates the data connection is active with physical link up.
- */
- ACTIVE,
-}
diff --git a/radio/aidl/android/hardware/radio/DataProfileId.aidl b/radio/aidl/android/hardware/radio/DataProfileId.aidl
deleted file mode 100644
index f173f1f..0000000
--- a/radio/aidl/android/hardware/radio/DataProfileId.aidl
+++ /dev/null
@@ -1,32 +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 DataProfileId {
- DEFAULT = 0,
- TETHERED = 1,
- IMS = 2,
- FOTA = 3,
- CBS = 4,
- /**
- * Start of OEM-specific profiles
- */
- OEM_BASE = 1000,
- INVALID = 0xFFFFFFFF,
-}
diff --git a/radio/aidl/android/hardware/radio/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/DataProfileInfo.aidl
deleted file mode 100644
index 5e2d4d2..0000000
--- a/radio/aidl/android/hardware/radio/DataProfileInfo.aidl
+++ /dev/null
@@ -1,103 +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.ApnAuthType;
-import android.hardware.radio.ApnTypes;
-import android.hardware.radio.DataProfileId;
-import android.hardware.radio.DataProfileInfoType;
-import android.hardware.radio.PdpProtocolType;
-import android.hardware.radio.RadioAccessFamily;
-
-@VintfStability
-parcelable DataProfileInfo {
- /**
- * ID of the data profile.
- */
- DataProfileId profileId;
- /**
- * The APN name.
- */
- String apn;
- /**
- * PDP_type values.
- */
- PdpProtocolType protocol;
- /**
- * PDP_type values used on roaming network.
- */
- PdpProtocolType roamingProtocol;
- /**
- * APN authentication type.
- */
- ApnAuthType authType;
- /**
- * The username for APN, or empty string.
- */
- String user;
- /**
- * The password for APN, or empty string.
- */
- String password;
- /**
- * Data profile technology type.
- */
- DataProfileInfoType type;
- /**
- * The period in seconds to limit the maximum connections.
- */
- int maxConnsTime;
- /**
- * The maximum connections during maxConnsTime.
- */
- int maxConns;
- /**
- * The required wait time in seconds after a successful UE initiated disconnect of a given PDN
- * connection before the device can send a new PDN connection request for that given PDN.
- */
- int waitTime;
- /**
- * True to enable the profile, false to disable.
- */
- boolean enabled;
- /**
- * Supported APN types bitmap. See ApnTypes for the value of each bit.
- */
- ApnTypes supportedApnTypesBitmap;
- /**
- * The bearer bitmap. See RadioAccessFamily for the value of each bit.
- */
- RadioAccessFamily bearerBitmap;
- /**
- * Maximum transmission unit (MTU) size in bytes for IPv4.
- */
- int mtuV4;
- /**
- * Maximum transmission unit (MTU) size in bytes for IPv6.
- */
- int mtuV6;
- /**
- * True if this data profile was used to bring up the last default (i.e internet) data
- * connection successfully.
- */
- boolean preferred;
- /**
- * If true, modem must persist this data profile and profileId must not be set to
- * DataProfileId.INVALID. If the same data profile exists, this data profile must overwrite it.
- */
- boolean persistent;
-}
diff --git a/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl b/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl
deleted file mode 100644
index df46ef3..0000000
--- a/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl
+++ /dev/null
@@ -1,25 +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 DataProfileInfoType {
- COMMON,
- THREE_GPP,
- THREE_GPP2,
-}
diff --git a/radio/aidl/android/hardware/radio/DataRegStateResult.aidl b/radio/aidl/android/hardware/radio/DataRegStateResult.aidl
deleted file mode 100644
index 53a3e52..0000000
--- a/radio/aidl/android/hardware/radio/DataRegStateResult.aidl
+++ /dev/null
@@ -1,63 +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.CellIdentity;
-import android.hardware.radio.DataRegStateResultVopsInfo;
-import android.hardware.radio.NrIndicators;
-import android.hardware.radio.RegState;
-
-@VintfStability
-parcelable DataRegStateResult {
- /**
- * Valid reg states are NOT_REG_MT_NOT_SEARCHING_OP, REG_HOME, NOT_REG_MT_SEARCHING_OP,
- * REG_DENIED, UNKNOWN, REG_ROAMING defined in RegState
- */
- RegState regState;
- /**
- * Indicates the available data radio technology, valid values as defined by RadioTechnology.
- */
- int rat;
- /**
- * If registration state is 3 (Registration denied) this is an enumerated reason why
- * registration was denied. See 3GPP TS 24.008, Annex G.6 "Additional cause codes for GMM".
- * 7 == GPRS services not allowed
- * 8 == GPRS services and non-GPRS services not allowed
- * 9 == MS identity cannot be derived by the network
- * 10 == Implicitly detached
- * 14 == GPRS services not allowed in this PLMN
- * 16 == MSC temporarily not reachable
- * 40 == No PDP context activated
- */
- int reasonDataDenied;
- /**
- * The maximum number of simultaneous Data Calls must be established using setupDataCall().
- */
- int maxDataCalls;
- CellIdentity cellIdentity;
- /**
- * Network capabilities for voice over PS services. This info is valid only on LTE network and
- * must be present when device is camped on LTE. vopsInfo must be empty when device is camped
- * only on 2G/3G.
- */
- DataRegStateResultVopsInfo vopsInfo;
- /**
- * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise
- * must be empty.
- */
- NrIndicators nrIndicators;
-}
diff --git a/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl b/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl
deleted file mode 100644
index 885d5b2..0000000
--- a/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.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;
-
-import android.hardware.radio.LteVopsInfo;
-
-@VintfStability
-union DataRegStateResultVopsInfo {
- boolean noinit;
- /**
- * LTE network capability
- */
- LteVopsInfo lteVopsInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/DataRequestReason.aidl b/radio/aidl/android/hardware/radio/DataRequestReason.aidl
deleted file mode 100644
index 74afdcb..0000000
--- a/radio/aidl/android/hardware/radio/DataRequestReason.aidl
+++ /dev/null
@@ -1,35 +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 DataRequestReason {
- /**
- * The reason of the data request is normal
- */
- NORMAL = 1,
- /**
- * The reason of the data request is device shutdown
- */
- SHUTDOWN = 2,
- /**
- * The reason of the data request is IWLAN data handover to another transport
- * (e.g. from cellular to wifi or vise versa)
- */
- HANDOVER = 3,
-}
diff --git a/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl b/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl
deleted file mode 100644
index 1a49762..0000000
--- a/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl
+++ /dev/null
@@ -1,40 +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="byte")
-enum DataThrottlingAction {
- /*
- * Clear all existing data throttling.
- */
- NO_DATA_THROTTLING,
- /**
- * Enact secondary carrier data throttling and remove any existing data throttling on
- * anchor carrier.
- */
- THROTTLE_SECONDARY_CARRIER,
- /**
- * Enact anchor carrier data throttling and disable data on secondary carrier if currently
- * enabled.
- */
- THROTTLE_ANCHOR_CARRIER,
- /**
- * Immediately hold on to current level of throttling.
- */
- HOLD,
-}
diff --git a/radio/aidl/android/hardware/radio/DeviceStateType.aidl b/radio/aidl/android/hardware/radio/DeviceStateType.aidl
deleted file mode 100644
index e622486..0000000
--- a/radio/aidl/android/hardware/radio/DeviceStateType.aidl
+++ /dev/null
@@ -1,37 +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 DeviceStateType {
- /**
- * Device power save mode (provided by PowerManager). True indicates the device is in
- * power save mode.
- */
- POWER_SAVE_MODE,
- /**
- * Device charging state (provided by BatteryManager). True indicates the device is charging.
- */
- CHARGING_STATE,
- /**
- * Low data expected mode. True indicates low data traffic is expected, for example, when the
- * device is idle (e.g. not doing tethering in the background). Note this doesn't mean no data
- * is expected.
- */
- LOW_DATA_EXPECTED,
-}
diff --git a/radio/aidl/android/hardware/radio/Dial.aidl b/radio/aidl/android/hardware/radio/Dial.aidl
deleted file mode 100644
index 9056815..0000000
--- a/radio/aidl/android/hardware/radio/Dial.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;
-
-import android.hardware.radio.Clir;
-import android.hardware.radio.UusInfo;
-
-@VintfStability
-parcelable Dial {
- String address;
- Clir clir;
- /**
- * Vector of User-User Signaling Information
- */
- UusInfo[] uusInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/Domain.aidl b/radio/aidl/android/hardware/radio/Domain.aidl
deleted file mode 100644
index f5e5261..0000000
--- a/radio/aidl/android/hardware/radio/Domain.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 Domain {
- /**
- * Circuit-switched
- */
- CS = 1 << 0,
- /**
- * Packet-switched
- */
- PS = 1 << 1,
-}
diff --git a/radio/aidl/android/hardware/radio/EmcIndicator.aidl b/radio/aidl/android/hardware/radio/EmcIndicator.aidl
deleted file mode 100644
index 6f0b19f..0000000
--- a/radio/aidl/android/hardware/radio/EmcIndicator.aidl
+++ /dev/null
@@ -1,41 +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;
-
-/**
- * Defines the values for emergency service indicator of NR as per 3gpp spec 24.501 sec 9.10.3.5
- */
-@VintfStability
-@Backing(type="byte")
-enum EmcIndicator {
- /**
- * Emergency services not supported
- */
- EMC_NOT_SUPPORTED,
- /**
- * Emergency services supported in NR connected to 5GCN only
- */
- EMC_NR_CONNECTED_TO_5GCN,
- /**
- * Emergency services supported in E-UTRA connected to 5GCN only
- */
- EMC_EUTRA_CONNECTED_TO_5GCN,
- /**
- * Emergency services supported in NR connected to 5GCN and E-UTRA connected to 5GCN
- */
- EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN,
-}
diff --git a/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl b/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl
deleted file mode 100644
index a915ee6..0000000
--- a/radio/aidl/android/hardware/radio/EmergencyCallRouting.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.
- */
-
-package android.hardware.radio;
-
-/**
- * Indicates how the implementation should handle the emergency call if it is required by Android.
- */
-@VintfStability
-@Backing(type="int")
-enum EmergencyCallRouting {
- /**
- * Indicates Android does not require how to handle the corresponding emergency call; it is
- * decided by implementation.
- */
- UNKNOWN,
- /**
- * Indicates the implementation must handle the call through emergency routing.
- */
- EMERGENCY,
- /**
- * Indicates the implementation must handle the call through normal call routing.
- */
- NORMAL,
-}
diff --git a/radio/aidl/android/hardware/radio/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/EmergencyNumber.aidl
deleted file mode 100644
index ee425f8..0000000
--- a/radio/aidl/android/hardware/radio/EmergencyNumber.aidl
+++ /dev/null
@@ -1,73 +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.EmergencyNumberSource;
-import android.hardware.radio.EmergencyServiceCategory;
-
-/**
- * Emergency number contains information of number, one or more service category(s), zero or more
- * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and
- * source(s) that indicate where it comes from.
- *
- * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise
- * field ‘mcc’ must be an empty string. If the emergency number is associated with network operator,
- * field ‘mcc’ and 'mnc' must be provided, otherwise field ‘mnc’ must be an empty string. If the
- * emergency number is specified with emergency service category(s), field 'categories' must be
- * provided, otherwise field 'categories' must be EmergencyServiceCategories::UNSPECIFIED. If the
- * emergency number is specified with emergency uniform resource names (URN), field 'urns' must be
- * provided, otherwise field 'urns' must be an empty list.
- *
- * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and
- * 'urns' fields. Multiple EmergencyNumberSource should be merged into one 'sources' field via
- * bitwise-OR combination for the same EmergencyNumber.
- *
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
- * 3gpp 23.167, Section 6 - Functional description;
- * 3gpp 24.503, Section 5.1.6.8.1 - General;
- * RFC 5031
- */
-@VintfStability
-parcelable EmergencyNumber {
- /**
- * The emergency number. The character in the number string should only be the dial pad
- * character('0'-'9', '*', or '#'). For example: 911.
- */
- String number;
- /**
- * 3-digit Mobile Country Code, 0..999. Empty string if not applicable.
- */
- String mcc;
- /**
- * 2 or 3-digit Mobile Network Code, 0..999. Empty string if not applicable.
- */
- String mnc;
- /**
- * The bitfield of EmergencyServiceCategory(s). See EmergencyServiceCategory for the value of
- * each bit.
- */
- EmergencyServiceCategory categories;
- /**
- * The list of emergency Uniform Resource Names (URN).
- */
- String[] urns;
- /**
- * The bitfield of EmergencyNumberSource(s). See EmergencyNumberSource for the value of
- * each bit.
- */
- EmergencyNumberSource sources;
-}
diff --git a/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl b/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl
deleted file mode 100644
index c2d6547..0000000
--- a/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl
+++ /dev/null
@@ -1,44 +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;
-
-/**
- * The source to tell where the corresponding EmergencyNumber comes from.
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls
- */
-@VintfStability
-@Backing(type="int")
-enum EmergencyNumberSource {
- /**
- * Indicates the number is from the network signal.
- */
- NETWORK_SIGNALING = 1 << 0,
- /**
- * Indicates the number is from the sim card.
- */
- SIM = 1 << 1,
- /**
- * Indicates the number is from the modem config.
- */
- MODEM_CONFIG = 1 << 2,
- /**
- * Indicates the number is available as default. Per the reference, 112, 911 must always be
- * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not
- * present.
- */
- DEFAULT = 1 << 3,
-}
diff --git a/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl b/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl
deleted file mode 100644
index 30d34ab..0000000
--- a/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl
+++ /dev/null
@@ -1,55 +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;
-
-/**
- * Defining Emergency Service Category as follows:
- * - General emergency call, all categories;
- * - Police;
- * - Ambulance;
- * - Fire Brigade;
- * - Marine Guard;
- * - Mountain Rescue;
- * - Manually Initiated eCall (MIeC);
- * - Automatically Initiated eCall (AIeC);
- *
- * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific
- * services are associated with this emergency number.
- *
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls
- */
-@VintfStability
-@Backing(type="int")
-enum EmergencyServiceCategory {
- /**
- * General emergency call, all categories
- */
- UNSPECIFIED = 0,
- POLICE = 1 << 0,
- AMBULANCE = 1 << 1,
- FIRE_BRIGADE = 1 << 2,
- MARINE_GUARD = 1 << 3,
- MOUNTAIN_RESCUE = 1 << 4,
- /**
- * Manually Initiated eCall (MIeC)
- */
- MIEC = 1 << 5,
- /**
- * Automatically Initiated eCall (AIeC)
- */
- AIEC = 1 << 6,
-}
diff --git a/radio/aidl/android/hardware/radio/EmfIndicator.aidl b/radio/aidl/android/hardware/radio/EmfIndicator.aidl
deleted file mode 100644
index 226e684..0000000
--- a/radio/aidl/android/hardware/radio/EmfIndicator.aidl
+++ /dev/null
@@ -1,41 +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;
-
-/**
- * Defines the values for emergency service fallback indicator of NR as per TS 24.501 sec 9.10.3.5.
- */
-@VintfStability
-@Backing(type="byte")
-enum EmfIndicator {
- /**
- * Emergency services fallback not supported
- */
- EMF_NOT_SUPPORTED,
- /**
- * Emergency services fallback supported in NR connected to 5GCN only
- */
- EMF_NR_CONNECTED_TO_5GCN,
- /**
- * Emergency services fallback supported in E-UTRA connected to 5GCN only
- */
- EMF_EUTRA_CONNECTED_TO_5GCN,
- /**
- * Emergency services fallback supported in NR connected to 5GCN and E-UTRA connected to 5GCN.
- */
- EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN,
-}
diff --git a/radio/aidl/android/hardware/radio/EpsQos.aidl b/radio/aidl/android/hardware/radio/EpsQos.aidl
deleted file mode 100644
index ee4cbdd..0000000
--- a/radio/aidl/android/hardware/radio/EpsQos.aidl
+++ /dev/null
@@ -1,34 +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.QosBandwidth;
-
-/**
- * LTE/EPS Quality of Service parameters as per 3gpp spec 24.301 sec 9.9.4.3.
- */
-@VintfStability
-parcelable EpsQos {
- /**
- * Quality of Service Class Identifier (QCI), see 3GPP TS 23.203 and 29.212.
- * The allowed values are standard values(1-9, 65-68, 69-70, 75, 79-80, 82-85)
- * defined in the spec and operator specific values in the range 128-254.
- */
- int qci;
- QosBandwidth downlink;
- QosBandwidth uplink;
-}
diff --git a/radio/aidl/android/hardware/radio/EutranBands.aidl b/radio/aidl/android/hardware/radio/EutranBands.aidl
deleted file mode 100644
index 59fe6c4..0000000
--- a/radio/aidl/android/hardware/radio/EutranBands.aidl
+++ /dev/null
@@ -1,85 +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;
-
-/**
- * EUTRAN bands up to V16.4.0
- */
-@VintfStability
-@Backing(type="int")
-enum EutranBands {
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_4 = 4,
- BAND_5 = 5,
- BAND_6 = 6,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_9 = 9,
- BAND_10 = 10,
- BAND_11 = 11,
- BAND_12 = 12,
- BAND_13 = 13,
- BAND_14 = 14,
- BAND_17 = 17,
- BAND_18 = 18,
- BAND_19 = 19,
- BAND_20 = 20,
- BAND_21 = 21,
- BAND_22 = 22,
- BAND_23 = 23,
- BAND_24 = 24,
- BAND_25 = 25,
- BAND_26 = 26,
- BAND_27 = 27,
- BAND_28 = 28,
- BAND_30 = 30,
- BAND_31 = 31,
- BAND_33 = 33,
- BAND_34 = 34,
- BAND_35 = 35,
- BAND_36 = 36,
- BAND_37 = 37,
- BAND_38 = 38,
- BAND_39 = 39,
- BAND_40 = 40,
- BAND_41 = 41,
- BAND_42 = 42,
- BAND_43 = 43,
- BAND_44 = 44,
- BAND_45 = 45,
- BAND_46 = 46,
- BAND_47 = 47,
- BAND_48 = 48,
- BAND_65 = 65,
- BAND_66 = 66,
- BAND_68 = 68,
- BAND_70 = 70,
- BAND_49 = 49,
- BAND_50 = 50,
- BAND_51 = 51,
- BAND_52 = 52,
- BAND_53 = 53,
- BAND_71 = 71,
- BAND_72 = 72,
- BAND_73 = 73,
- BAND_74 = 74,
- BAND_85 = 85,
- BAND_87 = 87,
- BAND_88 = 88,
-}
diff --git a/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl b/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl
deleted file mode 100644
index ff631f3..0000000
--- a/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl
+++ /dev/null
@@ -1,36 +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
-parcelable EvdoSignalStrength {
- /**
- * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75,
- * then this response value will be 75; INT_MAX means invalid/unreported.
- */
- int dbm;
- /**
- * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB,
- * then this response value will be 125; INT_MAX means invalid/unreported.
- */
- int ecio;
- /**
- * Valid values are 0-8. 8 is the highest signal to noise ratio; INT_MAX means
- * invalid/unreported.
- */
- int signalNoiseRatio;
-}
diff --git a/radio/aidl/android/hardware/radio/FrequencyRange.aidl b/radio/aidl/android/hardware/radio/FrequencyRange.aidl
deleted file mode 100644
index 09ec3bc..0000000
--- a/radio/aidl/android/hardware/radio/FrequencyRange.aidl
+++ /dev/null
@@ -1,41 +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;
-
-/**
- * Mapping the frequency to a rough range.
- */
-@VintfStability
-@Backing(type="int")
-enum FrequencyRange {
- /**
- * Indicates the frequency range is below 1GHz.
- */
- LOW = 1,
- /**
- * Indicates the frequency range is between 1GHz and 3GHz.
- */
- MID = 2,
- /**
- * Indicates the frequency range is between 3GHz and 6GHz.
- */
- HIGH = 3,
- /**
- * Indicates the frequency range is above 6GHz (millimeter wave frequency).
- */
- MMWAVE = 4,
-}
diff --git a/radio/aidl/android/hardware/radio/GeranBands.aidl b/radio/aidl/android/hardware/radio/GeranBands.aidl
deleted file mode 100644
index d3a7598..0000000
--- a/radio/aidl/android/hardware/radio/GeranBands.aidl
+++ /dev/null
@@ -1,36 +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 GeranBands {
- BAND_T380 = 1,
- BAND_T410 = 2,
- BAND_450 = 3,
- BAND_480 = 4,
- BAND_710 = 5,
- BAND_750 = 6,
- BAND_T810 = 7,
- BAND_850 = 8,
- BAND_P900 = 9,
- BAND_E900 = 10,
- BAND_R900 = 11,
- BAND_DCS1800 = 12,
- BAND_PCS1900 = 13,
- BAND_ER900 = 14,
-}
diff --git a/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl
deleted file mode 100644
index 9b08ad9..0000000
--- a/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl
+++ /dev/null
@@ -1,53 +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;
-
-/**
- * Which types of Cell Broadcast Message (CBM) are to be received by the ME
- */
-@VintfStability
-parcelable GsmBroadcastSmsConfigInfo {
- /**
- * Beginning of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined
- * in TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS.
- * All other values must be treated as empty CBM message ID.
- */
- int fromServiceId;
- /**
- * End of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined in
- * TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS.
- * All other values must be treated as empty CBM message ID.
- */
- int toServiceId;
- /**
- * Beginning of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in
- * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS.
- * All other values must be treated as empty CBM data coding scheme.
- */
- int fromCodeScheme;
- /**
- * End of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in
- * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS.
- * All other values must be treated as empty CBM data coding scheme.
- */
- int toCodeScheme;
- /**
- * False means message types specified in <fromServiceId, toServiceId>
- * and <fromCodeScheme, toCodeScheme> are not accepted, while true means accepted.
- */
- boolean selected;
-}
diff --git a/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl b/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl
deleted file mode 100644
index 65f853a..0000000
--- a/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl
+++ /dev/null
@@ -1,33 +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
-parcelable GsmSignalStrength {
- /**
- * Valid values are (0-61, 99) as defined in TS 27.007 8.69; INT_MAX means invalid/unreported.
- */
- int signalStrength;
- /**
- * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
- */
- int bitErrorRate;
- /**
- * Timing advance in bit periods. 1 bit period = 48/13 us. INT_MAX means invalid/unreported.
- */
- int timingAdvance;
-}
diff --git a/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl b/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl
deleted file mode 100644
index 248b4be..0000000
--- a/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl
+++ /dev/null
@@ -1,31 +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
-parcelable GsmSmsMessage {
- /**
- * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005)
- * or empty string for default SMSC
- */
- String smscPdu;
- /**
- * SMS in PDU format as an ASCII hex string less the SMSC address.
- * TP-Layer-Length is be "strlen(pdu)/2
- */
- String pdu;
-}
diff --git a/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl b/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl
deleted file mode 100644
index f6918a8..0000000
--- a/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl
+++ /dev/null
@@ -1,44 +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;
-
-/**
- * The allowed failure modes on an IWLAN handover failure.
- */
-@VintfStability
-@Backing(type="byte")
-enum HandoverFailureMode {
- /**
- * On data handover failure, fallback to the source data transport when the fail cause is due
- * to a hand off preference change.
- */
- LEGACY,
- /**
- * On data handover failure, fallback to the source data transport.
- */
- DO_FALLBACK,
- /**
- * On data handover failure, retry the handover instead of falling back to the source data
- * transport.
- */
- NO_FALLBACK_RETRY_HANDOVER,
- /**
- * On data handover failure, setup a new data connection by sending a normal request to the
- * underlying data service.
- */
- NO_FALLBACK_RETRY_SETUP_NORMAL,
-}
diff --git a/radio/aidl/android/hardware/radio/HardwareConfig.aidl b/radio/aidl/android/hardware/radio/HardwareConfig.aidl
deleted file mode 100644
index d3902af..0000000
--- a/radio/aidl/android/hardware/radio/HardwareConfig.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.HardwareConfigModem;
-import android.hardware.radio.HardwareConfigSim;
-import android.hardware.radio.HardwareConfigState;
-import android.hardware.radio.HardwareConfigType;
-
-@VintfStability
-parcelable HardwareConfig {
- HardwareConfigType type;
- /**
- * RadioConst:MAX_UUID_LENGTH is max length of the string
- */
- String uuid;
- HardwareConfigState state;
- /**
- * Valid only if type is Modem and size = 1 else must be empty. Only one of modem or sim must
- * have size = 1 based on the HardwareConfigType, and the other must have size = 0.
- */
- HardwareConfigModem[] modem;
- /**
- * Valid only if type is SIM and size = 1 else must be empty. Only one of modem or sim must
- * have size = 1 based on the HardwareConfigType, and the other must have size = 0.
- */
- HardwareConfigSim[] sim;
-}
diff --git a/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl b/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl
deleted file mode 100644
index ef348d6..0000000
--- a/radio/aidl/android/hardware/radio/HardwareConfigModem.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;
-
-@VintfStability
-parcelable HardwareConfigModem {
- int rilModel;
- /**
- * bitset - ref. RadioTechnology.
- */
- int rat;
- int maxVoice;
- int maxData;
- int maxStandby;
-}
diff --git a/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl b/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl
deleted file mode 100644
index 85055de..0000000
--- a/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl
+++ /dev/null
@@ -1,25 +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
-parcelable HardwareConfigSim {
- /**
- * RadioConst:MAX_UUID_LENGTH is max length of the string
- */
- String modemUuid;
-}
diff --git a/radio/aidl/android/hardware/radio/HardwareConfigState.aidl b/radio/aidl/android/hardware/radio/HardwareConfigState.aidl
deleted file mode 100644
index 05c806d..0000000
--- a/radio/aidl/android/hardware/radio/HardwareConfigState.aidl
+++ /dev/null
@@ -1,25 +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 HardwareConfigState {
- ENABLED,
- STANDBY,
- DISABLED,
-}
diff --git a/radio/aidl/android/hardware/radio/HardwareConfigType.aidl b/radio/aidl/android/hardware/radio/HardwareConfigType.aidl
deleted file mode 100644
index 5605c2b..0000000
--- a/radio/aidl/android/hardware/radio/HardwareConfigType.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 HardwareConfigType {
- MODEM,
- SIM,
-}
diff --git a/radio/aidl/android/hardware/radio/IRadio.aidl b/radio/aidl/android/hardware/radio/IRadio.aidl
deleted file mode 100644
index 352cbfb..0000000
--- a/radio/aidl/android/hardware/radio/IRadio.aidl
+++ /dev/null
@@ -1,2073 +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.AccessNetwork;
-import android.hardware.radio.CallForwardInfo;
-import android.hardware.radio.CardPowerState;
-import android.hardware.radio.CarrierRestrictions;
-import android.hardware.radio.CarrierRestrictionsWithPriority;
-import android.hardware.radio.CdmaBroadcastSmsConfigInfo;
-import android.hardware.radio.CdmaRoamingType;
-import android.hardware.radio.CdmaSmsAck;
-import android.hardware.radio.CdmaSmsMessage;
-import android.hardware.radio.CdmaSmsWriteArgs;
-import android.hardware.radio.CdmaSubscriptionSource;
-import android.hardware.radio.DataProfileInfo;
-import android.hardware.radio.DataRequestReason;
-import android.hardware.radio.DataThrottlingAction;
-import android.hardware.radio.DeviceStateType;
-import android.hardware.radio.Dial;
-import android.hardware.radio.EmergencyCallRouting;
-import android.hardware.radio.EmergencyServiceCategory;
-import android.hardware.radio.GsmBroadcastSmsConfigInfo;
-import android.hardware.radio.GsmSmsMessage;
-import android.hardware.radio.IRadioIndication;
-import android.hardware.radio.IRadioResponse;
-import android.hardware.radio.IccIo;
-import android.hardware.radio.ImsSmsMessage;
-import android.hardware.radio.ImsiEncryptionInfo;
-import android.hardware.radio.IndicationFilter;
-import android.hardware.radio.KeepaliveRequest;
-import android.hardware.radio.LinkAddress;
-import android.hardware.radio.NetworkScanRequest;
-import android.hardware.radio.NrDualConnectivityState;
-import android.hardware.radio.NvItem;
-import android.hardware.radio.NvWriteItem;
-import android.hardware.radio.OptionalSliceInfo;
-import android.hardware.radio.OptionalTrafficDescriptor;
-import android.hardware.radio.PersoSubstate;
-import android.hardware.radio.PhonebookRecordInfo;
-import android.hardware.radio.PreferredNetworkType;
-import android.hardware.radio.RadioAccessFamily;
-import android.hardware.radio.RadioAccessNetworks;
-import android.hardware.radio.RadioAccessSpecifier;
-import android.hardware.radio.RadioBandMode;
-import android.hardware.radio.RadioCapability;
-import android.hardware.radio.RadioTechnology;
-import android.hardware.radio.ResetNvType;
-import android.hardware.radio.SelectUiccSub;
-import android.hardware.radio.SignalThresholdInfo;
-import android.hardware.radio.SimApdu;
-import android.hardware.radio.SimLockMultiSimPolicy;
-import android.hardware.radio.SmsAcknowledgeFailCause;
-import android.hardware.radio.SmsWriteArgs;
-import android.hardware.radio.TtyMode;
-
-/**
- * This interface is used by telephony and telecom to talk to cellular radio.
- * All the functions have minimum one parameter:
- * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
- * duration of a method call. If clients provide colliding serials (including passing the same
- * serial to different methods), multiple responses (one for each method call) must still be served.
- * setResponseFunctions must work with IRadioResponse and IRadioIndication.
- */
-@VintfStability
-interface IRadio {
- /**
- * Answer incoming call. Must not be called for WAITING calls.
- * switchWaitingOrHoldingAndActive() must be used in this case instead
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.acceptCallResponse()
- */
- oneway void acceptCall(in int serial);
-
- /**
- * Acknowledge successful or failed receipt of SMS previously indicated via unsol
- * responseNewSms(), including acknowledgement TPDU to send as the RP-User-Data element of the
- * RP-ACK or RP-ERROR PDU.
- *
- * @param serial Serial number of request.
- * @param success true on successful receipt (send RP-ACK)
- * false on failed receipt (send RP-ERROR)
- * @param ackPdu acknowledgement TPDU in hexadecimal format
- *
- * Response callback is IRadioResponse.acknowledgeIncomingGsmSmsWithPduResponse()
- */
- oneway void acknowledgeIncomingGsmSmsWithPdu(
- in int serial, in boolean success, in String ackPdu);
-
- /**
- * Acknowledge the success or failure in the receipt of SMS previously indicated
- * via responseCdmaNewSms()
- *
- * @param serial Serial number of request.
- * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal
- *
- * Response callback is IRadioResponse.acknowledgeLastIncomingCdmaSmsResponse()
- */
- oneway void acknowledgeLastIncomingCdmaSms(in int serial, in CdmaSmsAck smsAck);
-
- /**
- * Acknowledge successful or failed receipt of SMS previously indicated via unsolResponseNewSms
- *
- * @param serial Serial number of request.
- * @param success is true on successful receipt
- * (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt
- * (basically, AT+CNMA=2 from TS 27.005)
- * @param cause: if success is false, this contains the failure cause as defined
- * in TS 23.040, 9.2.3.22.
- *
- * Response function is IRadioResponse.acknowledgeLastIncomingGsmSmsResponse()
- */
- oneway void acknowledgeLastIncomingGsmSms(
- in int serial, in boolean success, in SmsAcknowledgeFailCause cause);
-
- /**
- * Reserves an unallocated pdu session id from the pool of ids. The allocated id is returned
- * in the response. When the id is no longer needed, call releasePduSessionId to return it to
- * the pool.
- *
- * Reference: 3GPP TS 24.007 section 11.2.3.1b
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.allocatePduSessionIdResponse()
- */
- oneway void allocatePduSessionId(in int serial);
-
- /**
- * Whether uiccApplications are enabled, or disabled.
- * By default uiccApplications must be enabled, unless enableUiccApplications() with enable
- * being false is called.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.areUiccApplicationsEnabledResponse()
- */
- oneway void areUiccApplicationsEnabled(in int serial);
-
- /**
- * Indicates that a handover was cancelled after a call to IRadio::startHandover.
- * Since the handover was unsuccessful, the modem retains ownership over any of the resources
- * being transferred and is still responsible for releasing them.
- *
- * @param serial Serial number of request.
- * @param id callId The identifier of the data call which is provided in SetupDataCallResult
- *
- * Response function is IRadioResponse.cancelHandoverResponse()
- */
- oneway void cancelHandover(in int serial, in int callId);
-
- /**
- * Cancel the current USSD session if one exists.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.cancelPendingUssdResponse()
- */
- oneway void cancelPendingUssd(in int serial);
-
- /**
- * Supplies old ICC PIN2 and new PIN2.
- *
- * @param serial Serial number of request.
- * @param oldPin2 Old pin2 value
- * @param newPin2 New pin2 value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.changeIccPin2ForAppResponse()
- */
- oneway void changeIccPin2ForApp(
- in int serial, in String oldPin2, in String newPin2, in String aid);
-
- /**
- * Supplies old ICC PIN and new PIN.
- *
- * @param serial Serial number of request.
- * @param oldPin Old pin value
- * @param newPin New pin value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.changeIccPinForAppResponse()
- */
- oneway void changeIccPinForApp(
- in int serial, in String oldPin, in String newPin, in String aid);
-
- /**
- * Conference holding and active (like AT+CHLD=3)
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.conferenceResponse()
- */
- oneway void conference(in int serial);
-
- /**
- * Deactivate packet data connection and remove from the data call list. An
- * unsolDataCallListChanged() must be sent when data connection is deactivated.
- *
- * @param serial Serial number of request.
- * @param cid Data call id.
- * @param reason The request reason. Must be normal, handover, or shutdown.
- *
- * Response function is IRadioResponse.deactivateDataCallResponse()
- */
- oneway void deactivateDataCall(in int serial, in int cid, in DataRequestReason reason);
-
- /**
- * Deletes a CDMA SMS message from RUIM memory.
- *
- * @param serial Serial number of request.
- * @param index record index of the message to delete
- *
- * Response callback is IRadioResponse.deleteSmsOnRuimResponse()
- */
- oneway void deleteSmsOnRuim(in int serial, in int index);
-
- /**
- * Deletes a SMS message from SIM memory.
- *
- * @param serial Serial number of request.
- * @param index Record index of the message to delete.
- *
- * Response function is IRadioResponse.deleteSmsOnSimResponse()
- */
- oneway void deleteSmsOnSim(in int serial, in int index);
-
- /**
- * Initiate voice call. This method is never used for supplementary service codes.
- *
- * @param serial Serial number of request.
- * @param dialInfo Dial struct
- *
- * Response function is IRadioResponse.dialResponse()
- */
- oneway void dial(in int serial, in Dial dialInfo);
-
- /**
- * Initiate emergency voice call, with zero or more emergency service category(s), zero or
- * more emergency Uniform Resource Names (URN), and routing information for handling the call.
- * Android uses this request to make its emergency call instead of using @1.0::IRadio.dial
- * if the 'address' in the 'dialInfo' field is identified as an emergency number by Android.
- *
- * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
- * request can still be sent out on the other subscription as long as routing is set to
- * @1.4::EmergencyNumberRouting#EMERGENCY. This radio request will not be sent on an inactive
- * (PIN/PUK locked) subscription unless both subscriptions are PIN/PUK locked. In this case,
- * the request will be sent on the primary subscription.
- *
- * Some countries or carriers require some emergency numbers that must be handled with normal
- * call routing if possible or emergency routing. 1) if the 'routing' field is specified as
- * @1.4::EmergencyNumberRouting#NORMAL, the implementation must try the full radio service to
- * use normal call routing to handle the call; if service cannot support normal routing, the
- * implementation must use emergency routing to handle the call. 2) if 'routing' is specified
- * as @1.4::EmergencyNumberRouting#EMERGENCY, the implementation must use emergency routing to
- * handle the call. 3) if 'routing' is specified as @1.4::EmergencyNumberRouting#UNKNOWN,
- * Android does not know how to handle the call.
- *
- * If the dialed emergency number does not have a specified emergency service category, the
- * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the dialed
- * emergency number does not have specified emergency Uniform Resource Names, the 'urns' field
- * is set to an empty list. If the underlying technology used to request emergency services
- * does not support the emergency service category or emergency uniform resource names, the
- * field 'categories' or 'urns' may be ignored.
- *
- * In the scenarios that the 'address' in the 'dialInfo' field has other functions besides the
- * emergency number function, if the 'hasKnownUserIntentEmergency' field is true, the user's
- * intent for this dial request is emergency call, and the modem must treat this as an actual
- * emergency dial; if the 'hasKnownUserIntentEmergency' field is false, Android does not know
- * user's intent for this call.
- *
- * If 'isTesting' is true, this request is for testing purpose, and must not be sent to a real
- * emergency service; otherwise it's for a real emergency call request.
- *
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
- * 3gpp 23.167, Section 6 - Functional description;
- * 3gpp 24.503, Section 5.1.6.8.1 - General;
- * RFC 5031
- *
- * @param serial Serial number of request.
- * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
- * @param categories bitfield<@1.4::EmergencyServiceCategory> the Emergency Service Category(s)
- * of the call.
- * @param urns the emergency Uniform Resource Names (URN)
- * @param routing @1.4::EmergencyCallRouting the emergency call routing information.
- * @param hasKnownUserIntentEmergency Flag indicating if user's intent for the emergency call
- * is known.
- * @param isTesting Flag indicating if this request is for testing purpose.
- *
- * Response function is IRadioResponse.emergencyDialResponse()
- */
- oneway void emergencyDial(in int serial, in Dial dialInfo,
- in EmergencyServiceCategory categories, in String[] urns,
- in EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency,
- in boolean isTesting);
-
- /**
- * Toggle logical modem on/off. This is similar to @1.0::IRadio.setRadioPower(), however that
- * does not enforce that radio power is toggled only for the corresponding radio and certain
- * vendor implementations do it for all radios. This new API should affect only the modem for
- * which it is called. A modem stack must be on/active only when both setRadioPower() and
- * enableModem() are set to on for it.
- *
- * SIM must be read if available even if modem is off/inactive.
- *
- * @param serial Serial number of request.
- * @param on True to turn on the logical modem, otherwise turn it off.
- *
- * Response function is IRadioResponse.enableModemResponse()
- */
- oneway void enableModem(in int serial, in boolean on);
-
- /**
- * Enable or disable UiccApplications on the SIM. If disabled:
- * - Modem will not register on any network.
- * - SIM must be PRESENT, and the IccId of the SIM must still be accessible.
- * - The corresponding modem stack is still functional, e.g. able to make emergency calls or
- * do network scan.
- * By default if this API is not called, the uiccApplications must be enabled automatically.
- * It must work for both single SIM and DSDS cases for UX consistency.
- * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM
- * insertion / unplug.
- *
- * @param serial Serial number of request.
- * @param enable true if to enable uiccApplications, false to disable.
- *
- * Response callback is IRadioResponse.enableUiccApplicationsResponse()
- */
- oneway void enableUiccApplications(in int serial, in boolean enable);
-
- /**
- * Request the radio's system selection module to exit emergency callback mode. Radio must not
- * respond with SUCCESS until the modem has completely exited from Emergency Callback Mode.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.exitEmergencyCallbackModeResponse()
- */
- oneway void exitEmergencyCallbackMode(in int serial);
-
- /**
- * Connects the two calls and disconnects the subscriber from both calls.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.explicitCallTransferResponse()
- */
- oneway void explicitCallTransfer(in int serial);
-
- /**
- * Get carrier restrictions.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getAllowedCarriersResponse_1_4()
- */
- oneway void getAllowedCarriers(in int serial);
-
- /**
- * Requests bitmap representing the currently allowed network types.
- * getPreferredNetworkType, getPreferredNetworkTypesBitmap will not be called anymore
- * except for IRadio v1.5 or older devices.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getAllowedNetworkTypesBitmapResponse()
- */
- oneway void getAllowedNetworkTypesBitmap(in int serial);
-
- /**
- * Get the list of band modes supported by RF.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getAvailableBandModesResponse()
- */
- oneway void getAvailableBandModes(in int serial);
-
- /**
- * Scans for available networks
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getAvailableNetworksResponse()
- */
- oneway void getAvailableNetworks(in int serial);
-
- /**
- * Get all the barring info for the current camped cell applicable to the current user.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getBarringInfoResponse()
- */
- oneway void getBarringInfo(in int serial);
-
- /**
- * Return string value indicating baseband version, eg response from AT+CGMR
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getBasebandVersionResponse()
- */
- oneway void getBasebandVersion(in int serial);
-
- /**
- * Request the device MDN / H_SID / H_NID. The request is only allowed when CDMA subscription
- * is available. When CDMA subscription is changed, application layer must re-issue the request
- * to update the subscription information.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getCDMASubscriptionResponse()
- */
- oneway void getCDMASubscription(in int serial);
-
- /**
- * Request call forward status.
- *
- * @param serial Serial number of request.
- * @param callInfo CallForwardInfo
- *
- * Response function is IRadioResponse.getCallForwardStatusResponse()
- */
- oneway void getCallForwardStatus(in int serial, in CallForwardInfo callInfo);
-
- /**
- * Query current call waiting state
- *
- * @param serial Serial number of request.
- * @param serviceClass Service class is the TS 27.007 service class to query
- *
- * Response function is IRadioResponse.getCallWaitingResponse()
- */
- oneway void getCallWaiting(in int serial, in int serviceClass);
-
- /**
- * Request the setting of CDMA Broadcast SMS config
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getCdmaBroadcastConfigResponse()
- */
- oneway void getCdmaBroadcastConfig(in int serial);
-
- /**
- * Request the actual setting of the roaming preferences in CDMA in the modem
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getCdmaRoamingPreferenceResponse()
- */
- oneway void getCdmaRoamingPreference(in int serial);
-
- /**
- * Request to query the location where the CDMA subscription shall be retrieved.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getCdmaSubscriptionSourceResponse()
- */
- oneway void getCdmaSubscriptionSource(in int serial);
-
- /**
- * Request all of the current cell information known to the radio. The radio
- * must return list of all current cells, including the neighboring cells. If for a particular
- * cell information isn't known then the appropriate unknown value will be returned.
- * This does not cause or change the rate of unsolicited cellInfoList().
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getCellInfoListResponse()
- */
- oneway void getCellInfoList(in int serial);
-
- /**
- * Queries the status of the CLIP supplementary service (for MMI code "*#30#")
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getClipResponse()
- */
- oneway void getClip(in int serial);
-
- /**
- * Gets current CLIR status
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getClirResponse()
- */
- oneway void getClir(in int serial);
-
- /**
- * Requests current call list
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getCurrentCallsResponse_1_6()
- */
- oneway void getCurrentCalls(in int serial);
-
- /**
- * Returns the data call list. An entry is added when a setupDataCall() is issued and removed
- * on a deactivateDataCall(). The list is emptied when setRadioPower() off/on issued or when
- * the vendor HAL or modem crashes.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getDataCallListResponse_1_6()
- */
- oneway void getDataCallList(in int serial);
-
- /**
- * Request current data registration state.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getDataRegistrationStateResponse_1_6()
- */
- oneway void getDataRegistrationState(in int serial);
-
- /**
- * Request the device ESN / MEID / IMEI / IMEISV. The request is always allowed and contains
- * GSM and CDMA device identity. When CDMA subscription is changed the ESN/MEID changes.
- * The application layer must re-issue the request to update the device identity in this case.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getDeviceIdentityResponse()
- */
- oneway void getDeviceIdentity(in int serial);
-
- /**
- * Query the status of a facility lock state
- *
- * @param serial Serial number of request.
- * @param facility is the facility string code from TS 27.007 7.4
- * (eg "AO" for BAOC, "SC" for SIM lock)
- * @param password is the password, or "" if not required
- * @param serviceClass is the TS 27.007 service class bit vector of services to query
- * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
- *
- * Response function is IRadioResponse.getFacilityLockForAppResponse()
- */
- oneway void getFacilityLockForApp(in int serial, in String facility, in String password,
- in int serviceClass, in String appId);
-
- /**
- * Request the setting of GSM/WCDMA Cell Broadcast SMS config.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getGsmBroadcastConfigResponse()
- */
- oneway void getGsmBroadcastConfig(in int serial);
-
- /**
- * Request all of the current hardware (modem and sim) associated with Radio.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getHardwareConfigResponse()
- */
- oneway void getHardwareConfig(in int serial);
-
- /**
- * Requests status of the ICC card
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getIccCardStatusResponse()
- *
- */
- oneway void getIccCardStatus(in int serial);
-
- /**
- * Request current IMS registration state
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getImsRegistrationStateResponse()
- */
- oneway void getImsRegistrationState(in int serial);
-
- /**
- * Get the SIM IMSI. Only valid when radio state is "RADIO_STATE_ON"
- *
- * @param serial Serial number of request.
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.getImsiForAppResponse()
- *
- */
- oneway void getImsiForApp(in int serial, in String aid);
-
- /**
- * Requests the failure cause code for the most recently terminated call.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getLastCallFailCauseResponse()
- *
- */
- oneway void getLastCallFailCause(in int serial);
-
- /**
- * Get modem activity information for power consumption estimation. Request clear-on-read
- * statistics information that is used for estimating the per-millisecond power consumption
- * of the cellular modem.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getModemActivityInfoResponse()
- */
- oneway void getModemActivityInfo(in int serial);
-
- /**
- * Request status of logical modem. It returns isEnabled=true if the logical modem is on.
- * This method is the getter method for enableModem.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getModemStackStatusResponse()
- */
- oneway void getModemStackStatus(in int serial);
-
- /**
- * Queries the current state of the uplink mute setting
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getMuteResponse()
- */
- oneway void getMute(in int serial);
-
- /**
- * Request neighboring cell id in GSM network
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getNeighboringCidsResponse()
- */
- oneway void getNeighboringCids(in int serial);
-
- /**
- * Query current network selection mode
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getNetworkSelectionModeResponse()
- */
- oneway void getNetworkSelectionMode(in int serial);
-
- /**
- * Request current operator ONS or EONS
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getOperatorResponse()
- */
- oneway void getOperator(in int serial);
-
- /**
- * Query the preferred network type (CS/PS domain, RAT, and operation mode)
- * for searching and registering
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getPreferredNetworkTypeResponse()
- */
- oneway void getPreferredNetworkType(in int serial);
-
- /**
- * Query the preferred network type bitmap.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getPreferredNetworkTypeBitmapResponse()
- */
- oneway void getPreferredNetworkTypeBitmap(in int serial);
-
- /**
- * Request the setting of preferred voice privacy mode.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getPreferredVoicePrivacyResponse()
- */
- oneway void getPreferredVoicePrivacy(in int serial);
-
- /**
- * Used to get phone radio capability.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getRadioCapabilityResponse()
- */
- oneway void getRadioCapability(in int serial);
-
- /**
- * Requests current signal strength and associated information. Must succeed if radio is on.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getSignalStrengthResponse_1_6()
- */
- oneway void getSignalStrength(in int serial);
-
- /**
- * Get the phone book capacity
- *
- * @param serial Serial number of request.
- *
- * Response function is defined from IRadioResponse.getSimPhonebookCapacityResponse()
- */
- oneway void getSimPhonebookCapacity(in int serial);
-
- /**
- * Get the local and global phonebook records from the SIM card.
- * This should be called again after a simPhonebookChanged notification is received.
- * The phonebook records are received via IRadioIndication.simPhonebookRecordsReceived()
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getSimPhonebookRecordsResponse()
- */
- oneway void getSimPhonebookRecords(in int serial);
-
- /**
- * Request to get the current slicing configuration including URSP rules and NSSAIs
- * (configured, allowed and rejected). URSP stands for UE route selection policy and is defined
- * in 3GPP TS 24.526 Section 4.2. An NSSAI is a collection of network slices. Each network slice
- * is identified by an S-NSSAI and is represented by the struct SliceInfo. NSSAI and S-NSSAI
- * are defined in 3GPP TS 24.501.
- *
- * Response function is IRadioResponse.getSlicingConfigResponse()
- */
- oneway void getSlicingConfig(in int serial);
-
- /**
- * Get the default Short Message Service Center address on the device.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getSmscAddressResponse()
- */
- oneway void getSmscAddress(in int serial);
-
- /**
- * Get which bands the modem's background scan is acting on.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getSystemSelectionChannelsResponse()
- */
- oneway void getSystemSelectionChannels(in int serial);
-
- /**
- * Request the setting of TTY mode
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getTTYModeResponse()
- */
- oneway void getTTYMode(in int serial);
-
- /**
- * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only
- * when radio state is not RADIO_STATE_UNAVAILABLE
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.getVoiceRadioTechnologyResponse()
- */
- oneway void getVoiceRadioTechnology(in int serial);
-
- /**
- * Request current voice registration state.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.getVoiceRegistrationStateResponse()
- */
- oneway void getVoiceRegistrationState(in int serial);
-
- /**
- * When STK application gets stkCallSetup(), the call actually has been initialized by the
- * mobile device already. (We could see the call has been in the 'call list'). STK application
- * needs to accept/reject the call according to user operations.
- *
- * @param serial Serial number of request.
- * @param accept true = accept the call setup, false = reject the call setup
- *
- * Response callback is IRadioResponse.handleStkCallSetupRequestFromSimResponse()
- */
- oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept);
-
- /**
- * Hang up a specific line (like AT+CHLD=1x). After this HANGUP request returns, Radio must
- * show the connection is NOT active anymore in next getCurrentCalls() query.
- *
- * @param serial Serial number of request.
- * @param gsmIndex Connection index (value of 'x' in CHLD above)
- *
- * Response function is IRadioResponse.hangupResponse()
- */
- oneway void hangup(in int serial, in int gsmIndex);
-
- /**
- * Hang up waiting or held (like AT+CHLD=1). After this HANGUP request returns, Radio must show
- * the connection is NOT active anymore in next getCurrentCalls() query.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.hangupForegroundResumeBackgroundResponse()
- */
- oneway void hangupForegroundResumeBackground(in int serial);
-
- /**
- * Hang up waiting or held (like AT+CHLD=0). After this HANGUP request returns, Radio must show
- * the connection is NOT active anymore in next getCurrentCalls() query.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.hangupWaitingOrBackgroundResponse()
- */
- oneway void hangupWaitingOrBackground(in int serial);
-
- /**
- * Close a previously opened logical channel. This command reflects TS 27.007
- * "close logical channel" operation (+CCHC).
- *
- * @param serial Serial number of request.
- * @param channelId session id of the logical channel (+CCHC).
- *
- * Response callback is IRadioResponse.iccCloseLogicalChannelResponse()
- */
- oneway void iccCloseLogicalChannel(in int serial, in int channelId);
-
- /**
- * Request ICC I/O operation. This is similar to the TS 27.007 "restricted SIM" operation where
- * it assumes all of the EF selection must be done by the callee. Arguments and responses that
- * are unused for certain values of "command" must be ignored or set to empty string.
- * Note that IccIo has a "PIN2" field which may be empty string, or may specify a PIN2 for
- * operations that require a PIN2 (eg updating FDN records).
- *
- * @param serial Serial number of request.
- * @param iccIo IccIo
- *
- * Response function is IRadioResponse.iccIOForAppResponse()
- */
- oneway void iccIOForApp(in int serial, in IccIo iccIo);
-
- /**
- * Open a new logical channel and select the given application. This command
- * reflects TS 27.007 "open logical channel" operation (+CCHO).
- *
- * @param serial Serial number of request.
- * @param aid AID value, See ETSI 102.221 and 101.220.
- * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to P2Constant:NO_P2
- *
- * Response callback is IRadioResponse.iccOpenLogicalChannelResponse()
- */
- oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2);
-
- /**
- * Request APDU exchange on the basic channel. This command reflects TS 27.007
- * "generic SIM access" operation (+CSIM). The modem must ensure proper function of GSM/CDMA,
- * and filter commands appropriately. It must filter channel management and SELECT by DF
- * name commands. "sessionid" field must be ignored.
- *
- * @param serial Serial number of request.
- * @param message SimApdu as defined in types.hal to be sent
- *
- * Response callback is IRadioResponse.iccTransmitApduBasicChannelResponse()
- */
- oneway void iccTransmitApduBasicChannel(in int serial, in SimApdu message);
-
- /**
- * Exchange APDUs with a UICC over a previously opened logical channel. This command reflects
- * TS 27.007 "generic logical channel access" operation (+CGLA). The modem must filter channel
- * management and SELECT by DF name commands.
- *
- * @param serial Serial number of request.
- * @param message SimApdu as defined in types.hal to be sent
- *
- * Response callback is IRadioResponse.iccTransmitApduLogicalChannelResponse()
- */
- oneway void iccTransmitApduLogicalChannel(in int serial, in SimApdu message);
-
- /**
- * Is E-UTRA-NR Dual Connectivity enabled
- *
- * @param serial Serial number of request.
- * Response callback is IRadioResponse.isNrDualConnectivityEnabledResponse()
- */
- oneway void isNrDualConnectivityEnabled(in int serial);
-
- /**
- * Read one of the radio NV items.
- * This is used for device configuration by some CDMA operators.
- *
- * @param serial Serial number of request.
- * @param itemId NvItem is radio NV item as defined in types.hal
- *
- * Response callback is IRadioResponse.nvReadItemResponse()
- */
- oneway void nvReadItem(in int serial, in NvItem itemId);
-
- /**
- * Reset the radio NV configuration to the factory state.
- * This is used for device configuration by some CDMA operators.
- *
- * @param serial Serial number of request.
- * @param resetType ResetNvType as defined in types.hal
- *
- * Response callback is IRadioResponse.nvResetConfigResponse()
- */
- oneway void nvResetConfig(in int serial, in ResetNvType resetType);
-
- /**
- * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
- * This is used for device configuration by some CDMA operators.
- *
- * @param serial Serial number of request.
- * @param prl PRL as a byte array
- *
- * Response callback is IRadioResponse.nvWriteCdmaPrlResponse()
- */
- oneway void nvWriteCdmaPrl(in int serial, in byte[] prl);
-
- /**
- * Write one of the radio NV items.
- * This is used for device configuration by some CDMA operators.
- *
- * @param serial Serial number of request.
- * @param item NvWriteItem as defined in types.hal
- *
- * Response callback is IRadioResponse.nvWriteItemResponse()
- */
- oneway void nvWriteItem(in int serial, in NvWriteItem item);
-
- /**
- * Pull LCE service for capacity information.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.pullLceDataResponse() which may return
- * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
- *
- * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
- */
- oneway void pullLceData(in int serial);
-
- /**
- * Send UDUB (user determined user busy) to ringing or waiting call answer)
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.rejectCallResponse()
- */
- oneway void rejectCall(in int serial);
-
- /**
- * Releases a pdu session id that was previously allocated using allocatePduSessionId.
- * Reference: 3GPP TS 24.007 section 11.2.3.1b
- *
- * @param serial Serial number of request.
- * @param id Pdu session id to release.
- *
- * Response function is IRadioResponse.releasePduSessionIdResponse()
- */
- oneway void releasePduSessionId(in int serial, in int id);
-
- /**
- * Indicates whether there is storage available for new SMS messages.
- *
- * @param serial Serial number of request.
- * @param available true if memory is available for storing new messages,
- * false if memory capacity is exceeded
- *
- * Response callback is IRadioResponse.reportSmsMemoryStatusResponse()
- */
- oneway void reportSmsMemoryStatus(in int serial, in boolean available);
-
- /**
- * Indicates that the StkService is running and is ready to receive unsolicited stk commands.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.reportStkServiceIsRunningResponse()
- */
- oneway void reportStkServiceIsRunning(in int serial);
-
- /**
- * Returns the response of SIM Authentication through Radio challenge request.
- *
- * @param serial Serial number of request.
- * @param authContext P2 value of authentication command, see P2 parameter in
- * 3GPP TS 31.102 7.1.2
- * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
- *
- * Response callback is IRadioResponse.requestIccSimAuthenticationResponse()
- */
- oneway void requestIccSimAuthentication(
- 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 callback is IRadioResponse.requestIsimAuthenticationResponse()
- */
- oneway void requestIsimAuthentication(in int serial, in String challenge);
-
- /**
- * Device is shutting down. All further commands are ignored and RADIO_NOT_AVAILABLE
- * must be returned.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.requestShutdownResponse()
- */
- oneway void requestShutdown(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().
- */
- oneway void responseAcknowledgement();
-
- /**
- * Send DTMF string
- *
- * @param serial Serial number of request.
- * @param dtmf DTMF string
- * @param on DTMF ON length in milliseconds, or 0 to use default
- * @param off is the DTMF OFF length in milliseconds, or 0 to use default
- *
- * Response callback is IRadioResponse.sendBurstDtmfResponse()
- */
- oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off);
-
- /**
- * Send FLASH command
- *
- * @param serial Serial number of request.
- * @param featureCode String associated with Flash command
- *
- * Response callback is IRadioResponse.sendCDMAFeatureCodeResponse()
- */
- oneway void sendCDMAFeatureCode(in int serial, in String featureCode);
-
- /**
- * Send a CDMA SMS message
- *
- * @param serial Serial number of request.
- * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
- *
- * Response callback is IRadioResponse.sendCdmaSmsResponse()
- */
- oneway void sendCdmaSms(in int serial, in CdmaSmsMessage sms);
-
- /**
- * Send an SMS message. Identical to sendCdmaSms, except that more messages are expected to be
- * sent soon.
- *
- * @param serial Serial number of request.
- * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
- *
- * Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse()
- */
- oneway void sendCdmaSmsExpectMore(in int serial, in CdmaSmsMessage sms);
-
- /**
- * Send the updated device state. This is providing the device state information for the modem
- * to perform power saving strategies.
- *
- * @param serial Serial number of request.
- * @param deviceStateType The updated device state type.
- * @param state The updated state. See the definition of state at DeviceStateType.
- *
- * Response callback is IRadioResponse.sendDeviceStateResponse()
- */
- oneway void sendDeviceState(
- in int serial, in DeviceStateType deviceStateType, in boolean state);
-
- /**
- * Send a DTMF tone. If the implementation is currently playing a tone requested via
- * startDtmf(), that tone must be cancelled and the new tone must be played instead.
- *
- * @param serial Serial number of request.
- * @param s string with single char having one of 12 values: 0-9, *, #
- *
- * Response function is IRadioResponse.sendDtmfResponse()
- */
- oneway void sendDtmf(in int serial, in String s);
-
- /**
- * Requests to send a SAT/USAT envelope command to SIM.
- * 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
- *
- * Response function is IRadioResponse.sendEnvelopeResponse()
- */
- oneway void sendEnvelope(in int serial, in String command);
-
- /**
- * Requests to send a SAT/USAT envelope command to SIM. The SAT/USAT envelope command refers to
- * 3GPP TS 11.14 and 3GPP TS 31.111. This request has one difference from sendEnvelope():
- * The SW1 and SW2 status bytes from the UICC response are returned along with the response
- * data, using the same structure as iccIOForApp(). The implementation must perform normal
- * processing of a '91XX' response in SW1/SW2 to retrieve the pending proactive command and
- * send it as an unsolicited response, as sendEnvelope() does.
- *
- * @param serial Serial number of request.
- * @param contents SAT/USAT command in hexadecimal format starting with command tag
- *
- * Response callback is IRadioResponse.sendEnvelopeWithStatusResponse()
- */
- oneway void sendEnvelopeWithStatus(in int serial, in String contents);
-
- /**
- * Send a SMS message over IMS. Based on the return error, caller decides to resend if sending
- * sms fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry.
- * In case of retry, data is encoded based on Voice Technology available.
- *
- * @param serial Serial number of request.
- * @param message ImsSmsMessage as defined in types.hal to be sent
- *
- * Response callback is IRadioResponse.sendImsSmsResponse()
- */
- oneway void sendImsSms(in int serial, in ImsSmsMessage message);
-
- /**
- * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent
- * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command).
- * Based on the returned error, caller decides to resend if sending sms fails.
- * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and
- * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
- *
- * @param serial Serial number of request.
- * @param message GsmSmsMessage as defined in types.hal
- *
- * Response function is IRadioResponse.sendSMSExpectMoreResponse()
- *
- * DEPRECATED in @1.6 or higher which uses sendSmsExpectMore().
- */
- oneway void sendSMSExpectMore(in int serial, in GsmSmsMessage message);
-
- /**
- * Send an SMS message. Based on the returned error, caller decides to resend if sending sms
- * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and
- * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
- *
- * @param serial Serial number of request.
- * @param message GsmSmsMessage as defined in types.hal
- *
- * Response function is IRadioResponse.sendSmsResponse()
- */
- oneway void sendSms(in int serial, in GsmSmsMessage message);
-
- /**
- * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent
- * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command).
- * Based on the return error, caller decides to resend if sending sms fails.
- * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and
- * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
- *
- * @param serial Serial number of request.
- * @param message GsmSmsMessage as defined in types.hal
- *
- * Response function is IRadioResponse.sendSmsExpectMoreResponse()
- */
- oneway void sendSmsExpectMore(in int serial, in GsmSmsMessage message);
-
- /**
- * 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
- * first byte of response data
- *
- * Response function is IRadioResponse.sendTerminalResponseResponseToSim()
- */
- oneway void sendTerminalResponseToSim(in int serial, in String commandResponse);
-
- /**
- * Send a USSD message. If a USSD session already exists, the message must be sent in the
- * context of that session. Otherwise, a new session must be created. The network reply must be
- * reported via unsolOnUssd.
- *
- * Only one USSD session must exist at a time, and the session is assumed to exist until:
- * a) The android system invokes cancelUssd()
- * b) The implementation sends a unsolOnUssd() with a type code of
- * "0" (USSD-Notify/no further action) or "2" (session terminated)
- *
- * @param serial Serial number of request.
- * @param ussd string containing the USSD request in UTF-8 format
- *
- * Response function is IRadioResponse.sendUssdResponse()
- *
- * See also requestCancelUssd, unsolOnUssd
- */
- oneway void sendUssd(in int serial, in String ussd);
-
- /**
- * Separate a party from a multiparty call placing the multiparty call (less the specified
- * party) on hold and leaving the specified party as the only other member of the current
- * (active) call. Like AT+CHLD=2x.
- *
- * See TS 22.084 1.3.8.2 (iii)
- * TS 22.030 6.5.5 "Entering "2X followed by send"
- * TS 27.007 "AT+CHLD=2x"
- *
- * @param serial Serial number of request.
- * @param gsmIndex contains Connection index (value of 'x' in CHLD above)
- *
- * Response function is IRadioResponse.separateConnectionResponse()
- */
- oneway void separateConnection(in int serial, in int gsmIndex);
-
- /**
- * Set carrier restrictions. Expected modem behavior:
- * If never receives this command:
- * - Must allow all carriers
- * Receives this command:
- * - Only allow carriers specified in carriers. The restriction persists across power cycles
- * and FDR. If a present SIM is allowed, modem must not reload the SIM. If a present SIM is
- * *not* allowed, modem must detach from the registered network and only keep emergency
- * service, and notify Android SIM refresh reset with new SIM state being
- * CardState:RESTRICTED. Emergency service must be enabled.
- *
- * @param serial Serial number of request.
- * @param carriers CarrierRestrictionsWithPriority consisting allowed and excluded carriers
- * as defined in types.hal
- * @param multiSimPolicy Policy to be used for devices with multiple SIMs.
- *
- * Response callback is IRadioResponse.setAllowedCarriersResponse()
- */
- oneway void setAllowedCarriers(in int serial, in CarrierRestrictionsWithPriority carriers,
- in SimLockMultiSimPolicy multiSimPolicy);
-
- /**
- * Requests to set the network type for searching and registering. Instruct the radio to
- * *only* accept the types of network provided. setPreferredNetworkTypesBitmap and
- * setPreferredNetworkType will not be called anymore except for IRadio v1.5 or older devices.
- * In case of an emergency call, the modem is authorized to bypass this restriction.
- *
- * @param serial Serial number of request.
- * @param networkTypeBitmap a 32-bit bearer bitmap of RadioAccessFamily
- *
- * Response callback is IRadioResponse.setAllowedNetworkTypesBitmapResponse()
- */
- oneway void setAllowedNetworkTypesBitmap(in int serial, in RadioAccessFamily networkTypeBitmap);
-
- /**
- * Assign a specified band for RF configuration.
- *
- * @param serial Serial number of request.
- * @param mode RadioBandMode defined in types.hal
- *
- * Response function is IRadioResponse.setBandModeResponse()
- */
- oneway void setBandMode(in int serial, in RadioBandMode mode);
-
- /**
- * Change call barring facility password
- *
- * @param serial Serial number of request.
- * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
- * @param oldPassword old password
- * @param newPassword new password
- *
- * Response function is IRadioResponse.setBarringPasswordResponse()
- */
- oneway void setBarringPassword(
- in int serial, in String facility, in String oldPassword, in String newPassword);
-
- /**
- * Configure call forward rule
- *
- * @param serial Serial number of request.
- * @param callInfo CallForwardInfo
- *
- * Response function is IRadioResponse.setCallForwardResponse()
- */
- oneway void setCallForward(in int serial, in CallForwardInfo callInfo);
-
- /**
- * Configure current call waiting state
- *
- * @param serial Serial number of request.
- * @param enable is false for "disabled" and true for "enabled"
- * @param serviceClass is the TS 27.007 service class bit vector of services to modify
- *
- * Response function is IRadioResponse.setCallWaitingResponse()
- */
- oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass);
-
- /**
- * Provide Carrier specific information to the modem that must be used to encrypt the IMSI and
- * IMPI. Sent by the framework during boot, carrier switch and everytime the framework receives
- * a new certificate.
- *
- * @param serial Serial number of request.
- * @param imsiEncryptionInfo ImsiEncryptionInfo as defined in types.hal.
- *
- * Response callback is IRadioResponse.setCarrierInfoForImsiEncryptionResponse()
- */
- oneway void setCarrierInfoForImsiEncryption(
- in int serial, in ImsiEncryptionInfo imsiEncryptionInfo);
-
- /**
- * Enable or disable the reception of CDMA Cell Broadcast SMS
- *
- * @param serial Serial number of request.
- * @param activate indicates to activate or turn off the reception of CDMA
- * Cell Broadcast SMS. true = activate, false = turn off
- *
- * Response callback is IRadioResponse.setCdmaBroadcastActivationResponse()
- */
- oneway void setCdmaBroadcastActivation(in int serial, in boolean activate);
-
- /**
- * Set CDMA Broadcast SMS config
- *
- * @param serial Serial number of request.
- * @param configInfo CDMA Broadcast SMS config to be set.
- *
- * Response callback is IRadioResponse.setCdmaBroadcastConfigResponse()
- */
- oneway void setCdmaBroadcastConfig(in int serial, in CdmaBroadcastSmsConfigInfo[] configInfo);
-
- /**
- * Request to set the roaming preferences in CDMA
- *
- * @param serial Serial number of request.
- * @param type CdmaRoamingType defined in types.hal
- *
- * Response callback is IRadioResponse.setCdmaRoamingPreferenceResponse()
- */
- oneway void setCdmaRoamingPreference(in int serial, in CdmaRoamingType type);
-
- /**
- * Request to set the location where the CDMA subscription shall be retrieved
- *
- * @param serial Serial number of request.
- * @param cdmaSub CdmaSubscriptionSource
- *
- * Response callback is IRadioResponse.setCdmaSubscriptionSourceResponse()
- */
- oneway void setCdmaSubscriptionSource(in int serial, in CdmaSubscriptionSource cdmaSub);
-
- /**
- * Sets the minimum time between when unsolicited cellInfoList() must be invoked.
- * A value of 0, means invoke cellInfoList() when any of the reported information changes.
- * Setting the value to INT_MAX(0x7fffffff) means never issue a unsolicited cellInfoList().
- *
- * @param serial Serial number of request.
- * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList()
- *
- * Response callback is IRadioResponse.setCellInfoListRateResponse()
- */
- oneway void setCellInfoListRate(in int serial, in int rate);
-
- /**
- * Set current CLIR status
- *
- * @param serial Serial number of request.
- * @param status "n" parameter from TS 27.007 7.7
- *
- * Response function is IRadioResponse.setClirResponse()
- */
- oneway void setClir(in int serial, in int status);
-
- /**
- * Tells the modem whether data calls are allowed or not
- *
- * @param serial Serial number of request.
- * @param allow true to allow data calls, false to disallow data calls
- *
- * Response callback is IRadioResponse.setDataAllowedResponse()
- */
- oneway void setDataAllowed(in int serial, in boolean allow);
-
- /**
- * Send data profiles of the current carrier to the modem.
- *
- * @param serial Serial number of request.
- * @param profiles Array of DataProfileInfo to set.
- *
- * Response callback is IRadioResponse.setDataProfileResponse()
- */
- oneway void setDataProfile(in int serial, in DataProfileInfo[] profiles);
-
- /**
- * Control data throttling at modem.
- * - DataThrottlingAction:NO_DATA_THROTTLING should clear any existing data throttling within
- * the requested completion window.
- * - DataThrottlingAction:THROTTLE_SECONDARY_CARRIER: Remove any existing throttling on anchor
- * carrier and achieve maximum data throttling on secondary carrier within the requested
- * completion window.
- * - DataThrottlingAction:THROTTLE_ANCHOR_CARRIER: disable secondary carrier and achieve maximum
- * data throttling on anchor carrier by requested completion window.
- * - DataThrottlingAction:HOLD: Immediately hold on to current level of throttling.
- *
- * @param serial Serial number of request.
- * @param dataThrottlingAction DataThrottlingAction as defined in types.hal
- * @param completionDurationMillis window, in milliseconds, in which the requested throttling
- * action has to be achieved. This must be 0 when dataThrottlingAction is
- * DataThrottlingAction:HOLD.
- *
- * Response function is IRadioResponse.setDataThrottlingResponse()
- */
- oneway void setDataThrottling(in int serial, in DataThrottlingAction dataThrottlingAction,
- in long completionDurationMillis);
-
- /**
- * Enable/disable one facility lock
- *
- * @param serial Serial number of request.
- * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
- * @param lockState false for "unlock" and true for "lock"
- * @param password is the password
- * @param serviceClass is string representation of decimal TS 27.007 service class bit vector.
- * Eg, the string "1" means "set this facility for voice services"
- * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
- *
- * Response function is IRadioResponse.setFacilityLockForAppResponse()
- */
- oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState,
- in String password, in int serviceClass, in String appId);
-
- /**
- * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS
- *
- * @param serial Serial number of request.
- * @param activate indicates to activate or turn off the reception of GSM/WCDMA
- * Cell Broadcast SMS. true = activate, false = turn off
- *
- * Response callback is IRadioResponse.setGsmBroadcastActivationResponse()
- */
- oneway void setGsmBroadcastActivation(in int serial, in boolean activate);
-
- /**
- * Set GSM/WCDMA Cell Broadcast SMS config
- *
- * @param serial Serial number of request.
- * @param configInfo Setting of GSM/WCDMA Cell broadcast config
- *
- * Response callback is IRadioResponse.setGsmBroadcastConfigResponse()
- */
- oneway void setGsmBroadcastConfig(in int serial, in GsmBroadcastSmsConfigInfo[] configInfo);
-
- /**
- * Sets the indication filter. Prevents the reporting of specified unsolicited indications from
- * the radio. This is used for power saving in instances when those indications are not needed.
- * If unset, defaults to IndicationFilter:ALL.
- *
- * @param serial Serial number of request.
- * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the
- * indications are enabled. See IndicationFilter for the definition of each bit.
- *
- * Response callback is IRadioResponse.setIndicationFilterResponse()
- */
- oneway void setIndicationFilter(in int serial, in IndicationFilter indicationFilter);
-
- /**
- * Set an APN to initial attach network.
- *
- * @param serial Serial number of request.
- * @param dataProfileInfo data profile containing APN settings
- *
- * Response callback is IRadioResponse.setInitialAttachApnResponse()
- */
- oneway void setInitialAttachApn(in int serial, in DataProfileInfo dataProfileInfo);
-
- /**
- * Sets the link capacity reporting criteria. The resulting reporting criteria are the AND of
- * all the supplied criteria. Note that reporting criteria must be individually set for each
- * RAN. If unset, reporting criteria for that RAN are implementation-defined.
- *
- * Response callback is IRadioResponse.setLinkCapacityReportingCriteriaResponse().
- *
- * @param serial Serial number of request.
- * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0
- * disables hysteresis.
- * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL
- * reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value
- * of 0 disables hysteresis.
- * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL
- * reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value
- * of 0 disables hysteresis.
- * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A
- * vector size of 0 disables the use of DL thresholds for reporting.
- * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A
- * vector size of 0 disables the use of UL thresholds for reporting.
- * @param accessNetwork The type of network for which to apply these thresholds.
- */
- oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs,
- in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps,
- in int[] thresholdsUplinkKbps, in AccessNetwork accessNetwork);
-
- /**
- * Enables/disables network state change notifications due to changes in LAC and/or CID (for
- * GSM) or BID/SID/NID/latitude/longitude (for CDMA). Basically +CREG=2 vs. +CREG=1 (TS 27.007).
- * The Radio implementation must default to "updates enabled" when the screen is on and
- * "updates disabled" when the screen is off.
- *
- * @param serial Serial number of request.
- * @param enable true=updates enabled (+CREG=2), false=updates disabled (+CREG=1)
- *
- * Response callback is IRadioResponse.setLocationUpdatesResponse()
- */
- oneway void setLocationUpdates(in int serial, in boolean enable);
-
- /**
- * Turn on or off uplink (microphone) mute. Must only be sent while voice call is active.
- * Must always be reset to "disable mute" when a new voice call is initiated
- *
- * @param serial Serial number of request.
- * @param enable true for "enable mute" and false for "disable mute"
- *
- * Response function is IRadioResponse.setMuteResponse()
- */
- oneway void setMute(in int serial, in boolean enable);
-
- /**
- * Specify that the network must be selected automatically.
- * This request must not respond until the new operator is selected and registered.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.setNetworkSelectionModeAutomaticResponse()
- */
- oneway void setNetworkSelectionModeAutomatic(in int serial);
-
- /**
- * Manually select a specified network. This request must not respond until the new operator is
- * selected and registered. Per TS 23.122, the RAN is just the initial suggested value.
- * If registration fails, the RAN is not available afterwards, or the RAN is not within the
- * network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem will need to
- * select the next best RAN for network registration.
- *
- * @param serial Serial number of request.
- * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170").
- * @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem
- * will select the next best RAN for network registration.
- *
- * Response function is IRadioResponse.setNetworkSelectionModeManualResponse()
- */
- oneway void setNetworkSelectionModeManual(
- in int serial, in String operatorNumeric, in RadioAccessNetworks ran);
-
- /**
- * Enable or disable E-UTRA-NR dual connectivity. If disabled then UE will not connect
- * to secondary carrier.
- *
- * @param serial Serial number of request.
- * @param nrDualConnectivityState expected NR dual connectivity state.
- * 1: Enable NR dual connectivity {NrDualConnectivityState:ENABLE}
- * 2: Disable NR dual connectivity {NrDualConnectivityState:DISABLE}
- * 3: Disable NR dual connectivity and force secondary cell to be released
- * {NrDualConnectivityState:DISABLE_IMMEDIATE}
- *
- * Response callback is IRadioResponse.setNRDualConnectivityStateResponse()
- */
- oneway void setNrDualConnectivityState(
- in int serial, in NrDualConnectivityState nrDualConnectivityState);
-
- /**
- * Requests to set the preferred network type for searching and registering
- * (CS/PS domain, RAT, and operation mode)
- *
- * @param serial Serial number of request.
- * @param nwType PreferredNetworkType defined in types.hal
- *
- * Response callback is IRadioResponse.setPreferredNetworkTypeResponse()
- */
- oneway void setPreferredNetworkType(in int serial, in PreferredNetworkType nwType);
-
- /**
- * Requests to set the preferred network type for searching and registering.
- *
- * @param serial Serial number of request.
- * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
- *
- * Response callback is IRadioResponse.setPreferredNetworkTypeBitmapResponse()
- */
- oneway void setPreferredNetworkTypeBitmap(
- in int serial, in RadioAccessFamily networkTypeBitmap);
-
- /**
- * Request to set the preferred voice privacy mode used in voice scrambling.
- *
- * @param serial Serial number of request.
- * @param enable false for Standard Privacy Mode (Public Long Code Mask)
- * true for Enhanced Privacy Mode (Private Long Code Mask)
- *
- * Response callback is IRadioResponse.setPreferredVoicePrivacyResponse()
- */
- oneway void setPreferredVoicePrivacy(in int serial, in boolean enable);
-
- /**
- * Used to set the phones radio capability. Be VERY careful using this request as it may cause
- * some vendor modems to reset. Because of the possible modem reset any radio commands after
- * this one may not be processed.
- *
- * @param serial Serial number of request.
- * @param rc RadioCapability structure to be set
- *
- * Response callback is IRadioResponse.setRadioCapabilityResponse()
- */
- oneway void setRadioCapability(in int serial, in RadioCapability rc);
-
- /**
- * Toggle radio on and off (for "airplane" mode). If the radio is turned off/on the radio modem
- * subsystem is expected return to an initialized state. For instance, any voice and data calls
- * must be terminated and all associated lists emptied.
- * When setting radio power on to exit from airplane mode to place an emergency call on this
- * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In
- * this case, this modem is optimized to scan only emergency call bands, until:
- * 1) Emergency call is completed; or
- * 2) Another setRadioPower_1_5 is issued with forEmergencyCall being false or
- * preferredForEmergencyCall being false; or
- * 3) Timeout after 30 seconds if dial or emergencyDial is not called.
- * Once one of these conditions is reached, the modem should move into normal operation.
- *
- * @param serial Serial number of request.
- * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false.
- * @param forEmergencyCall To indication to radio if this request is due to emergency call.
- * No effect if powerOn is false.
- * @param preferredForEmergencyCall indicate whether the following emergency call will be sent
- * on this modem or not. No effect if forEmergencyCall is false, or powerOn is false.
- *
- * Response callback is IRadioConfigResponse.setRadioPowerResponse.
- */
- oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall,
- in boolean preferredForEmergencyCall);
-
- /**
- * Set response functions for radio requests & radio indications.
- *
- * @param radioResponse Object containing response functions
- * @param radioIndication Object containing radio indications
- */
- void setResponseFunctions(in IRadioResponse radioResponse, in IRadioIndication radioIndication);
-
- /**
- * 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.
- *
- * @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.
- *
- * Response callback is IRadioResponse.setSignalStrengthReportingCriteriaResponse()
- */
- oneway void setSignalStrengthReportingCriteria(in int serial,
- in SignalThresholdInfo signalThresholdInfo, in AccessNetwork accessNetwork);
-
- /**
- * Set SIM card power state. Request is used to power off or power on the card. It should not
- * generate a CardState.CARDSTATE_ABSENT indication, since the SIM is still physically inserted.
- * When SIM card is in POWER_UP_PASS_THROUGH, the modem does not send any command to it (for
- * example SELECT of MF, or TERMINAL CAPABILITY), and the SIM card is controlled completely by
- * Telephony sending APDUs directly. The SIM card state must be RIL_CARDSTATE_PRESENT and the
- * number of card apps will be 0. No new error code is generated. Emergency calls are supported
- * in the same way as if the SIM card is absent. Pass-through mode is valid only for the
- * specific card session where it is activated, and normal behavior occurs at the next SIM
- * initialization, unless POWER_UP_PASS_THROUGH is requested again.
- * The device is required to power down the SIM card before it can switch the mode between
- * POWER_UP and POWER_UP_PASS_THROUGH. At device power up, the SIM interface is powered up
- * automatically. Each subsequent request to this method is processed only after the completion
- * of the previous one.
- * When the SIM is in POWER_DOWN, the modem should send an empty vector of AppStatus in
- * CardStatus.applications. If a SIM in the POWER_DOWN state is removed and a new SIM is
- * inserted, the new SIM should be in POWER_UP mode by default. If the device is turned off or
- * restarted while the SIM is in POWER_DOWN, then the SIM should turn on normally in POWER_UP
- * mode when the device turns back on.
- *
- * @param serial Serial number of request
- * @param powerUp POWER_DOWN if powering down the SIM card
- * POWER_UP if powering up the SIM card
- * POWER_UP_PASS_THROUGH if powering up the SIM card in pass through mode
- *
- * Response callback is IRadioResponse.setSimCardPowerResponse().
- */
- oneway void setSimCardPower(in int serial, in CardPowerState powerUp);
-
- /**
- * Set the default Short Message Service Center address on the device.
- *
- * @param serial Serial number of request.
- * @param smsc Short Message Service Center address to set
- *
- * Response callback is IRadioResponse.setSmscAddressResponse()
- */
- oneway void setSmscAddress(in int serial, in String smsc);
-
- /**
- * Enables/disables supplementary service related notifications from the network.
- * Notifications are reported via unsolSuppSvcNotification().
- *
- * @param serial Serial number of request.
- * @param enable true = notifications enabled, false = notifications disabled.
- *
- * Response function is IRadioResponse.setSuppServiceNotificationsResponse()
- */
- oneway void setSuppServiceNotifications(in int serial, in boolean enable);
-
- /**
- * Specify which bands modem's background scan must act on. If specifyChannels is true, it only
- * scans bands specified in specifiers. If specifyChannels is false, it scans all bands. For
- * example, CBRS is only on LTE band 48. By specifying this band, modem saves more power.
- *
- * @param serial Serial number of request.
- * @param specifyChannels whether to scan bands defined in specifiers.
- * @param specifiers which bands to scan. Only used if specifyChannels is true.
- *
- * Response callback is IRadioResponse.setSystemSelectionChannelsResponse()
- */
- oneway void setSystemSelectionChannels(
- in int serial, in boolean specifyChannels, in RadioAccessSpecifier[] specifiers);
-
- /**
- * Request to set the TTY mode
- *
- * @param serial Serial number of request.
- * @param mode TtyMode
- *
- * Response callback is IRadioResponse.setTTYModeResponse()
- */
- oneway void setTTYMode(in int serial, in TtyMode mode);
-
- /**
- * Selection/de-selection of a subscription from a SIM card
- *
- * @param serial Serial number of request.
- * @param uiccSub SelectUiccSub as defined in types.hal
- *
- * Response callback is IRadioResponse.setUiccSubscriptionResponse()
- */
- oneway void setUiccSubscription(in int serial, in SelectUiccSub uiccSub);
-
- /**
- * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE,
- * the data connection must be added to data calls and a unsolDataCallListChanged() must be
- * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be lost
- * due to many factors, including deactivateDataCall() being issued, the radio powered off,
- * reception lost or even transient factors like congestion. This data call list is returned by
- * getDataCallList() and dataCallListChanged().
- * The Radio is expected to:
- * - Create one data call context.
- * - Create and configure a dedicated interface for the context.
- * - The interface must be point to point.
- * - The interface is configured with one or more addresses and is capable of sending and
- * receiving packets. The format is IP address with optional "/" prefix length (The format is
- * defined in RFC-4291 section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or
- * "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If the prefix length is
- * absent, then the addresses are assumed to be point to point with IPv4 with prefix length 32
- * or IPv6 with prefix length 128.
- * - Must not modify routing configuration related to this interface; routing management is
- * exclusively within the purview of the Android OS.
- * - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified in
- * the response of getDataRegistrationState.
- *
- * @param serial Serial number of request.
- * @param accessNetwork The access network to setup the data call. If the data connection cannot
- * be established on the specified access network then this should respond with an error.
- * @param dataProfileInfo Data profile info.
- * @param roamingAllowed Indicates whether or not data roaming is allowed by the user.
- * @param reason The request reason. Must be DataRequestReason:NORMAL or
- * DataRequestReason:HANDOVER.
- * @param addresses If the reason is DataRequestReason:HANDOVER, this indicates the list of link
- * addresses of the existing data connection. This parameter must be ignored unless
- * reason is DataRequestReason:HANDOVER.
- * @param dnses If the reason is DataRequestReason:HANDOVER, this indicates the list of DNS
- * addresses of the existing data connection. The format is defined in RFC-4291 section
- * 2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless
- * reason is DataRequestReason:HANDOVER.
- * @param pduSessionId The pdu session id to be used for this data call. A value of 0 means no
- * pdu session id was attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b
- * @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from
- * EPDG to 5G. It is valid only when accessNetwork is AccessNetwork:NGRAN. If the slice
- * passed from EPDG is rejected, then the data failure cause must be
- * DataCallFailCause:SLICE_REJECTED.
- * @param trafficDescriptor TrafficDescriptor for which data connection needs to be established.
- * It is used for URSP traffic matching as described in TS 24.526 Section 4.2.2.
- * It includes an optional DNN which, if present, must be used for traffic matching --
- * it does not specify the end point to be used for the data call. The end point is
- * specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end point if
- * one is not specified through URSP rules.
- * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this
- * request is allowed. If false, this request must not use the match-all URSP rule and if
- * a non-match-all rule is not found (or if URSP rules are not available) it should
- * return failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed
- * as some requests need to have a hard failure if the intention cannot be met, for
- * example, a zero-rating slice.
- *
- * Response function is IRadioResponse.setupDataCallResponse()
- */
- oneway void setupDataCall(in int serial, in AccessNetwork accessNetwork,
- in DataProfileInfo dataProfileInfo, in boolean roamingAllowed,
- in DataRequestReason reason, in LinkAddress[] addresses, in String[] dnses,
- in int pduSessionId, in OptionalSliceInfo sliceInfo,
- in OptionalTrafficDescriptor trafficDescriptor, in boolean matchAllRuleAllowed);
-
- /**
- * Start playing a DTMF tone. Continue playing DTMF tone until stopDtmf is received. If a
- * startDtmf() is received while a tone is currently playing, it must cancel the previous tone
- * and play the new one.
- *
- * @param serial Serial number of request.
- * @param s string having a single character with one of 12 values: 0-9,*,#
- *
- * Response function is IRadioResponse.startDtmfResponse()
- */
- oneway void startDtmf(in int serial, in String s);
-
- /**
- * Indicates that a handover to the IWLAN transport has begun. Any resources being transferred
- * to the IWLAN transport cannot be released while a handover is underway. For example, if a
- * pdu session id needs to be transferred to IWLAN, then the modem should not release the id
- * while the handover is in progress. If a handover was unsuccessful, then the framework calls
- * IRadio::cancelHandover. The modem retains ownership over any of the resources being
- * transferred to IWLAN. If a handover was successful, the framework calls
- * IRadio::deactivateDataCall with reason HANDOVER. The IWLAN transport now owns the transferred
- * resources and is responsible for releasing them.
- *
- * @param serial Serial number of request.
- * @param id callId The identifier of the data call which is provided in SetupDataCallResult
- *
- * Response function is IRadioResponse.startHandoverResponse()
- */
- oneway void startHandover(in int serial, in int callId);
-
- /**
- * Start a Keepalive session (for IPsec)
- *
- * @param serial Serial number of request.
- * @param keepalive A request structure containing all necessary info to describe a keepalive
- *
- * Response function is IRadioResponse.startKeepaliveResponse()
- */
- oneway void startKeepalive(in int serial, in KeepaliveRequest keepalive);
-
- /**
- * Start Link Capacity Estimate (LCE) service if supported by the radio.
- *
- * @param serial Serial number of request.
- * @param reportInterval desired reporting interval (ms).
- * @param pullMode LCE service mode. true: PULL; false: PUSH.
- *
- * Response callback is IRadioResponse.startLceServiceResponse()
- *
- * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
- */
- oneway void startLceService(in int serial, in int reportInterval, in boolean pullMode);
-
- /**
- * Starts a network scan.
- *
- * @param serial Serial number of request.
- * @param request Defines the radio networks/bands/channels which need to be scanned.
- *
- * Response function is IRadioResponse.startNetworkScanResponse()
- */
- oneway void startNetworkScan(in int serial, in NetworkScanRequest request);
-
- /**
- * Stop playing a currently playing DTMF tone.
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.stopDtmfResponse()
- */
- oneway void stopDtmf(in int serial);
-
- /**
- * Stop an ongoing Keepalive session (for IPsec)
- *
- * @param serial Serial number of request.
- * @param sessionHandle The handle that was provided by IRadioResponse.startKeepaliveResponse
- *
- * Response function is IRadioResponse.stopKeepaliveResponse()
- */
- oneway void stopKeepalive(in int serial, in int sessionHandle);
-
- /**
- * Stop Link Capacity Estimate (LCE) service, the STOP operation must be idempotent for the
- * radio modem.
- *
- * @param serial Serial number of request.
- *
- * Response callback is IRadioResponse.stopLceServiceResponse()
- *
- * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
- */
- oneway void stopLceService(in int serial);
-
- /**
- * Stops ongoing network scan
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.stopNetworkScanResponse()
- */
- oneway void stopNetworkScan(in int serial);
-
- /**
- * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was returned as a failure
- * from a previous operation.
- *
- * @param serial Serial number of request.
- * @param pin2 PIN2 value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.supplyIccPin2ForAppResponse()
- */
- oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid);
-
- /**
- * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state
- *
- * @param serial Serial number of request.
- * @param pin PIN value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.supplyIccPinForAppResponse()
- */
- oneway void supplyIccPinForApp(in int serial, in String pin, in String aid);
-
- /**
- * Supplies ICC PUK2 and new PIN2.
- *
- * @param serial Serial number of request.
- * @param puk2 PUK2 value
- * @param pin2 New PIN2 value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.supplyIccPuk2ForAppResponse()
- */
- oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid);
-
- /**
- * Supplies ICC PUK and new PIN.
- *
- * @param serial Serial number of request.
- * @param puk PUK value
- * @param pin New PIN value
- * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- *
- * Response function is IRadioResponse.supplyIccPukForAppResponse()
- */
- oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid);
-
- /**
- * Requests that network personalization be deactivated
- *
- * @param serial Serial number of request.
- * @param netPin Network depersonlization code
- *
- * Response function is IRadioResponse.supplyNetworkDepersonalizationResponse()
- */
- oneway void supplyNetworkDepersonalization(in int serial, in String netPin);
-
- /**
- * Request that deactivates one category of device personalization. Device personalization
- * generally binds the device so it can only be used on one carrier or even one carrier subnet
- * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a
- * contract period or other event), the controlKey will be delivered to either the user for
- * manual entry or to a carrier app on the device for automatic entry.
- *
- * @param serial Serial number of request.
- * @param persoType SIM personalization type.
- * @param controlKey the unlock code for removing persoType personalization from this device
- *
- * Response function is IRadioResponse.supplySimDepersonalizationResponse()
- */
- oneway void supplySimDepersonalization(
- in int serial, in PersoSubstate persoType, in String controlKey);
-
- /**
- * Switch waiting or holding call and active call (like AT+CHLD=2).
- * Call transitions must happen as shown below.
- * BEFORE AFTER
- * Call 1 Call 2 Call 1 Call 2
- * ACTIVE HOLDING HOLDING ACTIVE
- * ACTIVE WAITING HOLDING ACTIVE
- * HOLDING WAITING HOLDING ACTIVE
- * ACTIVE IDLE HOLDING IDLE
- * IDLE IDLE IDLE IDLE
- *
- * @param serial Serial number of request.
- *
- * Response function is IRadioResponse.switchWaitingOrHoldingAndActiveResponse()
- */
- oneway void switchWaitingOrHoldingAndActive(in int serial);
-
- /**
- * Insert, delete or update a phonebook record on the SIM card. If the index of recordInfo is 0,
- * the phonebook record will be added to global or local phonebook, and global phonebook has
- * higher priority than local phonebook. If the fields in the recordInfo are all empty except
- * for the index, the phonebook record specified by the index will be deleted. The indication
- * simPhonebookChanged will be called after every successful call of updateSimPhonebookRecords.
- *
- * @param serial Serial number of request.
- * @param recordInfo Details of the record to insert, delete or update.
- *
- * Response callback is IRadioResponse.updateSimPhonebookRecordsResponse()
- */
- oneway void updateSimPhonebookRecords(in int serial, in PhonebookRecordInfo recordInfo);
-
- /**
- * Stores a CDMA SMS message to RUIM memory.
- *
- * @param serial Serial number of request.
- * @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal
- *
- * Response callback is IRadioResponse.writeSmsToRuimResponse()
- */
- oneway void writeSmsToRuim(in int serial, in CdmaSmsWriteArgs cdmaSms);
-
- /**
- * Stores a SMS message to SIM memory.
- *
- * @param serial Serial number of request.
- * @param smsWriteArgs SmsWriteArgs defined in types.hal
- *
- * Response function is IRadioResponse.writeSmsToSimResponse()
- */
- oneway void writeSmsToSim(in int serial, in SmsWriteArgs smsWriteArgs);
-}
diff --git a/radio/aidl/android/hardware/radio/IRadioIndication.aidl b/radio/aidl/android/hardware/radio/IRadioIndication.aidl
deleted file mode 100644
index 054a53e..0000000
--- a/radio/aidl/android/hardware/radio/IRadioIndication.aidl
+++ /dev/null
@@ -1,632 +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.BarringInfo;
-import android.hardware.radio.CdmaCallWaiting;
-import android.hardware.radio.CdmaInformationRecords;
-import android.hardware.radio.CdmaOtaProvisionStatus;
-import android.hardware.radio.CdmaSignalInfoRecord;
-import android.hardware.radio.CdmaSmsMessage;
-import android.hardware.radio.CdmaSubscriptionSource;
-import android.hardware.radio.CellIdentity;
-import android.hardware.radio.CellInfo;
-import android.hardware.radio.Domain;
-import android.hardware.radio.EmergencyNumber;
-import android.hardware.radio.HardwareConfig;
-import android.hardware.radio.KeepaliveStatus;
-import android.hardware.radio.LceDataInfo;
-import android.hardware.radio.LinkCapacityEstimate;
-import android.hardware.radio.NetworkScanResult;
-import android.hardware.radio.PbReceivedStatus;
-import android.hardware.radio.PcoDataInfo;
-import android.hardware.radio.PhoneRestrictedState;
-import android.hardware.radio.PhonebookRecordInfo;
-import android.hardware.radio.PhysicalChannelConfig;
-import android.hardware.radio.RadioCapability;
-import android.hardware.radio.RadioIndicationType;
-import android.hardware.radio.RadioState;
-import android.hardware.radio.RadioTechnology;
-import android.hardware.radio.SetupDataCallResult;
-import android.hardware.radio.SignalStrength;
-import android.hardware.radio.SimRefreshResult;
-import android.hardware.radio.SrvccState;
-import android.hardware.radio.StkCcUnsolSsResult;
-import android.hardware.radio.SuppSvcNotification;
-import android.hardware.radio.UssdModeType;
-
-/**
- * Interface declaring unsolicited radio indications.
- */
-@VintfStability
-interface IRadioIndication {
- /**
- * Indicate barring information for the user’s access category / access class and PLMN.
- *
- * <p>Provide information about the barring status of the cell for the user. The information
- * provided should describe all barring configurations that are applicable to the current user,
- * even if the user is not currently barred (due to conditional barring). This informs Android
- * of likely future (statistical) barring for specific services.
- *
- * <p>This indication should be sent whenever the cell’s barring config changes for the current
- * user, or if the user’s conditional barring status changes due to re-evaluation of the
- * barring conditions. Barring status will likely change when the device camps for service,
- * when PLMN selection is completed, when the device attempts to access a conditionally barred
- * service, and when the System Information including barring info for a camped cell is updated.
- */
- oneway void barringInfoChanged(in RadioIndicationType type, in CellIdentity cellIdentity,
- in BarringInfo[] barringInfos);
-
- /**
- * Ring indication for an incoming call (eg, RING or CRING event). There must be at least one
- * callRing() at the beginning of a call and sending multiple is optional. If the system
- * property ro.telephony.call_ring.multiple is false then the upper layers must generate the
- * multiple events internally. Otherwise the vendor code must generate multiple callRing() if
- * ro.telephony.call_ring.multiple is true or if it is absent.
- * The rate of these events is controlled by ro.telephony.call_ring.delay and has a default
- * value of 3000 (3 seconds) if absent.
- *
- * @param type Type of radio indication
- * @param isGsm true for GSM & false for CDMA
- * @param record Cdma Signal Information
- */
- oneway void callRing(
- in RadioIndicationType type, in boolean isGsm, in CdmaSignalInfoRecord record);
-
- /**
- * Indicates when call state has changed. Callee must invoke IRadio.getCurrentCalls(). Must be
- * invoked on, for example, "RING", "BUSY", "NO CARRIER", and also call state transitions
- * (DIALING->ALERTING ALERTING->ACTIVE). Redundent or extraneous invocations are tolerated.
- *
- * @param type Type of radio indication
- */
- oneway void callStateChanged(in RadioIndicationType type);
-
- /**
- * Indicates that the modem requires the Carrier info for IMSI/IMPI encryption. This might
- * happen when the modem restarts or for some reason it's cache has been invalidated.
- *
- * @param type Type of radio indication
- */
- oneway void carrierInfoForImsiEncryption(in RadioIndicationType info);
-
- /**
- * Indicates when CDMA radio receives a call waiting indication.
- *
- * @param type Type of radio indication
- * @param callWaitingRecord Cdma CallWaiting information
- */
- oneway void cdmaCallWaiting(in RadioIndicationType type, in CdmaCallWaiting callWaitingRecord);
-
- /**
- * Indicates when CDMA radio receives one or more info recs.
- *
- * @param type Type of radio indication
- * @param records New Cdma Information
- */
- oneway void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecords records);
-
- /**
- * Indicates when new CDMA SMS is received. Callee must subsequently confirm the receipt of the
- * SMS with acknowledgeLastIncomingCdmaSms(). Server must not send cdmaNewSms() messages until
- * acknowledgeLastIncomingCdmaSms() has been received.
- *
- * @param type Type of radio indication
- * @param msg Cdma Sms Message
- */
- oneway void cdmaNewSms(in RadioIndicationType type, in CdmaSmsMessage msg);
-
- /**
- * Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call.
- *
- * @param type Type of radio indication
- * @param status Cdma OTA provision status
- */
- oneway void cdmaOtaProvisionStatus(
- in RadioIndicationType type, in CdmaOtaProvisionStatus status);
-
- /**
- * Indicates when PRL (preferred roaming list) changes.
- *
- * @param type Type of radio indication
- * @param version PRL version after PRL changes
- */
- oneway void cdmaPrlChanged(in RadioIndicationType type, in int version);
-
- /**
- * Indicates that SMS storage on the RUIM is full. Messages cannot be saved on the RUIM until
- * space is freed.
- *
- * @param type Type of radio indication
- */
- oneway void cdmaRuimSmsStorageFull(in RadioIndicationType type);
-
- /**
- * Indicates when CDMA subscription source changed.
- *
- * @param type Type of radio indication
- * @param cdmaSource New Cdma SubscriptionSource
- */
- oneway void cdmaSubscriptionSourceChanged(
- in RadioIndicationType type, in CdmaSubscriptionSource cdmaSource);
-
- /**
- * Report all of the current cell information known to the radio.
- *
- * @param type Type of radio indication
- * @param records Current cell information
- */
- oneway void cellInfoList(in RadioIndicationType type, in CellInfo[] records);
-
- /**
- * Report the current list of emergency numbers. Each emergency number in the emergency number
- * list contains a dialing number, zero or more service category(s), zero or more emergency
- * uniform resource names, mobile country code, mobile network code, and source(s) that indicate
- * where it comes from.
- * Radio must report all the valid emergency numbers with known mobile country code, mobile
- * network code, emergency service categories, and emergency uniform resource names from all
- * available sources including network signaling, sim, modem/oem configuration, and default
- * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118
- * and 119 must be available when sim is not present). Radio shall not report emergency numbers
- * that are invalid in the current locale. The reported emergency number list must not have
- * duplicate EmergencyNumber entries. Please refer the documentation of EmergencyNumber to
- * construct each emergency number to report.
- * Radio must report the complete list of emergency numbers whenever the emergency numbers in
- * the list are changed or whenever the client and the radio server are connected.
- *
- * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
- * 3gpp 24.008, Section 9.2.13.4 - Emergency Number List
- *
- * @param type Type of radio indication
- * @param emergencyNumberList Current list of emergency numbers known to radio.
- */
- oneway void currentEmergencyNumberList(
- in RadioIndicationType type, in EmergencyNumber[] emergencyNumberList);
-
- /**
- * Indicates current link capacity estimate. This indication is sent whenever the reporting
- * criteria, as set by IRadio.setLinkCapacityReportingCriteria, are met and the indication is
- * not suppressed by IRadio.setIndicationFilter().
- *
- * @param type Type of radio indication
- * @param lce LinkCapacityEstimate
- */
- oneway void currentLinkCapacityEstimate(
- in RadioIndicationType type, in LinkCapacityEstimate lce);
-
- /**
- * Indicates physical channel configurations. An empty configs list shall be returned when the
- * radio is in idle mode (i.e. RRC idle).
- *
- * @param type Type of radio indication
- * @param configs Vector of PhysicalChannelConfigs
- */
- oneway void currentPhysicalChannelConfigs(
- in RadioIndicationType type, in PhysicalChannelConfig[] configs);
-
- /**
- * Indicates current signal strength of the radio.
- *
- * @param type Type of radio indication
- * @param signalStrength SignalStrength information
- */
- oneway void currentSignalStrength(
- in RadioIndicationType type, in SignalStrength signalStrength);
-
- /**
- * Indicates data call contexts have changed.
- *
- * @param type Type of radio indication
- * @param dcList Array of SetupDataCallResult identical to that returned by
- * IRadio.getDataCallList(). It is the complete list of current data contexts including
- * new contexts that have been activated. A data call is only removed from this list
- * when any of the below conditions is matched:
- * - The framework sends a IRadio.deactivateDataCall().
- * - The radio is powered off/on.
- * - Unsolicited disconnect from either modem or network side.
- */
- oneway void dataCallListChanged(in RadioIndicationType type, in SetupDataCallResult[] dcList);
-
- /**
- * Indicates that the radio system selection module has autonomously entered emergency
- * callback mode.
- *
- * @param type Type of radio indication
- */
- oneway void enterEmergencyCallbackMode(in RadioIndicationType type);
-
- /**
- * Indicates when Emergency Callback Mode Ends. Indicates that the radio system selection module
- * has proactively exited emergency callback mode.
- *
- * @param type Type of radio indication
- */
- oneway void exitEmergencyCallbackMode(in RadioIndicationType type);
-
- /**
- * Indicates when the hardware configuration associated with the RILd changes.
- *
- * @param type Type of radio indication
- * @param configs Array of hardware configs
- */
- oneway void hardwareConfigChanged(in RadioIndicationType type, in HardwareConfig[] configs);
-
- /**
- * Indicates when IMS registration state has changed. To get IMS registration state and IMS SMS
- * format, callee needs to invoke getImsRegistrationState().
- *
- * @param type Type of radio indication
- */
- oneway void imsNetworkStateChanged(in RadioIndicationType type);
-
- /**
- * Indicates that nework doesn't have in-band information, need to play out-band tone.
- *
- * @param type Type of radio indication
- * @param start true = start play ringback tone, false = stop playing ringback tone
- */
- oneway void indicateRingbackTone(in RadioIndicationType type, in boolean start);
-
- /**
- * Indicates a status update for a particular Keepalive session. This must include a handle for
- * a previous session and should include a status update regarding the state of a keepalive.
- * Unsolicited keepalive status reports should never be PENDING as unsolicited status should
- * only be sent when known.
- *
- * @param type Type of radio indication
- * @param status Status information for a Keepalive session
- */
- oneway void keepaliveStatus(in RadioIndicationType type, in KeepaliveStatus status);
-
- /**
- * Indicates when there is an incoming Link Capacity Estimate (LCE) info report.
- *
- * @param type Type of radio indication
- * @param lce LceData information
- *
- * DEPRECATED in @1.2 and above, use IRadioIndication.currentLinkCapacityEstimate() instead.
- */
- oneway void lceData(in RadioIndicationType type, in LceDataInfo lce);
-
- /**
- * Indicates when there is a modem reset.
- * When modem restarts, one of the following radio state transitions must happen
- * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or
- * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF
- * This message must be sent either just before the Radio State changes to
- * RadioState:UNAVAILABLE or just after but must never be sent after the Radio State changes
- * from RadioState:UNAVAILABLE to RadioState:ON/RadioState:OFF again. It must NOT be sent after
- * the Radio state changes to RadioState:ON/RadioState:OFF after the modem restart as that may
- * be interpreted as a second modem reset by the framework.
- *
- * @param type Type of radio indication
- * @param reason the reason for the reset. It may be a crash signature if the restart was due to
- * a crash or some string such as "user-initiated restart" or "AT command initiated
- * restart" that explains the cause of the modem restart
- */
- oneway void modemReset(in RadioIndicationType type, in String reason);
-
- /**
- * Incremental network scan results.
- *
- * @param type Type of radio indication
- * @param result the result of the network scan
- */
- oneway void networkScanResult(in RadioIndicationType type, in NetworkScanResult result);
-
- /**
- * Indicates when voice or data network state changed. Callee must invoke
- * IRadio.getVoiceRegistrationState(), IRadio.getDataRegistrationState(), and
- * IRadio.getOperator()
- *
- * @param type Type of radio indication
- */
- oneway void networkStateChanged(in RadioIndicationType type);
-
- /**
- * Indicates when new Broadcast SMS is received
- *
- * @param type Type of radio indication
- * @param data If received from GSM network, "data" is byte array of 88 bytes which indicates
- * each page of a CBS Message sent to the MS by the BTS as coded in 3GPP 23.041 Section
- * 9.4.1.2. If received from UMTS network, "data" is byte array of 90 up to 1252 bytes
- * which contain between 1 and 15 CBS Message pages sent as one packet to the MS by the
- * BTS as coded in 3GPP 23.041 Section 9.4.2.2
- */
- oneway void newBroadcastSms(in RadioIndicationType type, in byte[] data);
-
- /**
- * Indicates when new SMS is received. Callee must subsequently confirm the receipt of the SMS
- * with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or newSmsStatusReport()
- * messages until an acknowledgeLastIncomingGsmSms() has been received.
- *
- * @param type Type of radio indication
- * @param pdu PDU of SMS-DELIVER represented as byte array.
- * The PDU starts with the SMSC address per TS 27.005 (+CMT:)
- */
- oneway void newSms(in RadioIndicationType type, in byte[] pdu);
-
- /**
- * Indicates when new SMS has been stored on SIM card
- *
- * @param type Type of radio indication
- * @param recordNumber Record number on the sim
- */
- oneway void newSmsOnSim(in RadioIndicationType type, in int recordNumber);
-
- /**
- * Indicates when new SMS Status Report is received. Callee must subsequently confirm the
- * receipt of the SMS with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or
- * newSmsStatusReport() messages until an acknowledgeLastIncomingGsmSms() has been received
- *
- * @param type Type of radio indication
- * @param pdu PDU of SMS-STATUS-REPORT represented as byte array.
- * The PDU starts with the SMSC address per TS 27.005 (+CMT:)
- */
- oneway void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu);
-
- /**
- * Indicates when radio has received a NITZ time message.
- *
- * @param type Type of radio indication
- * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt"
- * @param receivedTime milliseconds since boot that the NITZ time was received
- */
- oneway void nitzTimeReceived(
- in RadioIndicationType type, in String nitzTime, in long receivedTime);
-
- /**
- * Indicates when Supplementary service(SS) response is received when DIAL/USSD/SS is changed to
- * SS by call control.
- *
- * @param type Type of radio indication
- */
- oneway void onSupplementaryServiceIndication(
- in RadioIndicationType type, in StkCcUnsolSsResult ss);
-
- /**
- * Indicates when a new USSD message is received. The USSD session is assumed to persist if the
- * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated.
- *
- * @param type Type of radio indication
- * @param modeType USSD type code
- * @param msg Message string in UTF-8, if applicable
- */
- oneway void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg);
-
- /**
- * Indicates when there is new Carrier PCO data received for a data call. Ideally only new data
- * must be forwarded, though this is not required. Multiple boxes of carrier PCO data for a
- * given call must result in a series of pcoData() calls.
- *
- * @param type Type of radio indication
- * @param pco New PcoData
- */
- oneway void pcoData(in RadioIndicationType type, in PcoDataInfo pco);
-
- /**
- * Sent when setRadioCapability() completes. Returns the phone radio capability exactly as
- * getRadioCapability() and must be the same set as sent by setRadioCapability().
- *
- * @param type Type of radio indication
- * @param rc Current radio capability
- */
- oneway void radioCapabilityIndication(in RadioIndicationType type, in RadioCapability rc);
-
- /**
- * Indicates when radio state changes.
- *
- * @param type Type of radio indication
- * @param radioState Current radio state
- */
- oneway void radioStateChanged(in RadioIndicationType type, in RadioState radioState);
-
- /**
- * Report that Registration or a Location/Routing/Tracking Area update has failed.
- *
- * <p>Indicate whenever a registration procedure, including a location, routing, or tracking
- * area update fails. This includes procedures that do not necessarily result in a change of
- * the modem's registration status. If the modem's registration status changes, that is
- * reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState().
- *
- * @param cellIdentity the CellIdentity, which must include the globally unique identifier for
- * the cell (for example, all components of the CGI or ECGI).
- * @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the
- * cell that was chosen for the failed registration attempt.
- * @param domain Domain::CS, Domain::PS, or both in case of a combined procedure.
- * @param causeCode the primary failure cause code of the procedure.
- * For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95
- * For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147
- * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9
- * For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2
- * MAX_INT if this value is unused.
- * @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate.
- * For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be
- * included as an additionalCauseCode.
- * For LTE (ESM), cause codes are in TS 24.301 9.9.4.4
- * MAX_INT if this value is unused.
- */
- oneway void registrationFailed(in RadioIndicationType type, in CellIdentity cellIdentity,
- in String chosenPlmn, in Domain domain, in int causeCode, in int additionalCauseCode);
-
- /**
- * Indicates that framework/application must reset the uplink mute state.
- *
- * @param type Type of radio indication
- */
- oneway void resendIncallMute(in RadioIndicationType type);
-
- /**
- * Indicates a restricted state change (eg, for Domain Specific Access Control).
- * Radio must send this msg after radio off/on cycle no matter it is changed or not.
- *
- * @param type Type of radio indication
- * @param state Bitmask of restricted state as defined by PhoneRestrictedState
- */
- oneway void restrictedStateChanged(in RadioIndicationType type, in PhoneRestrictedState state);
-
- /**
- * Indicates the ril connects and returns the version
- *
- * @param type Type of radio indication
- */
- oneway void rilConnected(in RadioIndicationType type);
-
- /**
- * Indicates whether SIM phonebook is changed. This indication is sent whenever the SIM
- * phonebook is changed, including SIM is inserted or removed and updated by
- * IRadio.updateSimPhonebookRecords.
- *
- * @param type Type of radio indication
- */
- oneway void simPhonebookChanged(in RadioIndicationType type);
-
- /**
- * Indicates the content of all the used records in the SIM phonebook. This indication is
- * associated with the API getSimPhonebookRecords and might be received more than once that is
- * replying on the record count.
- *
- * @param type Type of radio indication
- * @param status Status of PbReceivedStatus
- * @param records Vector of PhonebookRecordInfo
- */
- oneway void simPhonebookRecordsReceived(in RadioIndicationType type, in PbReceivedStatus status,
- in PhonebookRecordInfo[] records);
-
- /**
- * Indicates that file(s) on the SIM have been updated, or the SIM has been reinitialized.
- * If the SIM state changes as a result of the SIM refresh (eg, SIM_READY ->
- * SIM_LOCKED_OR_ABSENT), simStatusChanged() must be sent.
- *
- * @param type Type of radio indication
- * @param refreshResult Result of sim refresh
- */
- oneway void simRefresh(in RadioIndicationType type, in SimRefreshResult refreshResult);
-
- /**
- * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a
- * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular,
- * incoming Class 2 messages must not be stored.
- *
- * @param type Type of radio indication
- */
- oneway void simSmsStorageFull(in RadioIndicationType type);
-
- /**
- * Indicates that SIM state changes. Callee must invoke getIccCardStatus().
- *
- * @param type Type of radio indication
- */
- oneway void simStatusChanged(in RadioIndicationType type);
-
- /**
- * Indicates when Single Radio Voice Call Continuity (SRVCC) progress state has changed.
- *
- * @param type Type of radio indication
- * @param state New Srvcc State
- */
- oneway void srvccStateNotify(in RadioIndicationType type, in SrvccState state);
-
- /**
- * Indicates when there is an ALPHA from UICC during Call Control.
- *
- * @param type Type of radio indication
- * @param alpha ALPHA string from UICC in UTF-8 format
- */
- oneway void stkCallControlAlphaNotify(in RadioIndicationType type, in String alpha);
-
- /**
- * Indicates when SIM wants application to setup a voice call.
- *
- * @param type Type of radio indication
- * @param timeout Timeout value in millisec for setting up voice call
- */
- oneway void stkCallSetup(in RadioIndicationType type, in long timeout);
-
- /**
- * Indicates when SIM notifies applcations some event happens.
- *
- * @param type Type of radio indication
- * @param cmd SAT/USAT commands or responses sent by ME to SIM or commands handled by ME,
- * represented as byte array starting with first byte of response data for command tag.
- * Refer to TS 102.223 section 9.4 for command types
- */
- oneway void stkEventNotify(in RadioIndicationType type, in String cmd);
-
- /**
- * Indicates when SIM issue a STK proactive command to applications
- *
- * @param type Type of radio indication
- * @param cmd SAT/USAT proactive represented as byte array starting with command tag.
- * Refer to TS 102.223 section 9.4 for command types
- */
- oneway void stkProactiveCommand(in RadioIndicationType type, in String cmd);
-
- /**
- * Indicates when STK session is terminated by SIM.
- *
- * @param type Type of radio indication
- */
- oneway void stkSessionEnd(in RadioIndicationType type);
-
- /**
- * Indicated when there is a change in subscription status.
- * This event must be sent in the following scenarios
- * - subscription readiness at modem, which was selected by telephony layer
- * - when subscription is deactivated by modem due to UICC card removal
- * - when network invalidates the subscription i.e. attach reject due to authentication reject
- *
- * @param type Type of radio indication
- * @param activate false for subscription deactivated, true for subscription activated
- */
- oneway void subscriptionStatusChanged(in RadioIndicationType type, in boolean activate);
-
- /**
- * Reports supplementary service related notification from the network.
- *
- * @param type Type of radio indication
- * @param suppSvc SuppSvcNotification as defined in types.hal
- */
- oneway void suppSvcNotify(in RadioIndicationType type, in SuppSvcNotification suppSvc);
-
- /**
- * Report change of whether uiccApplications are enabled, or disabled.
- *
- * @param type Type of radio indication
- * @param enabled whether uiccApplications are enabled, or disabled
- */
- oneway void uiccApplicationsEnablementChanged(in RadioIndicationType type, in boolean enabled);
-
- /**
- * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in
- * IRadio.SetupDataCall. During that time, no new calls are allowed to IRadio.SetupDataCall that
- * use the same APN. When IRadioIndication.unthrottleApn is sent, AOSP will no longer throttle
- * calls to IRadio.SetupDataCall for the given APN.
- *
- * @param type Type of radio indication
- * @param apn Apn to unthrottle
- */
- oneway void unthrottleApn(in RadioIndicationType type, in String apn);
-
- /**
- * Indicates that voice technology has changed. Responds with new rat.
- *
- * @param type Type of radio indication
- * @param rat Current new voice rat
- */
- oneway void voiceRadioTechChanged(in RadioIndicationType type, in RadioTechnology rat);
-}
diff --git a/radio/aidl/android/hardware/radio/IRadioResponse.aidl b/radio/aidl/android/hardware/radio/IRadioResponse.aidl
deleted file mode 100644
index 9ae6495..0000000
--- a/radio/aidl/android/hardware/radio/IRadioResponse.aidl
+++ /dev/null
@@ -1,3055 +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.ActivityStatsInfo;
-import android.hardware.radio.BarringInfo;
-import android.hardware.radio.Call;
-import android.hardware.radio.CallForwardInfo;
-import android.hardware.radio.CardStatus;
-import android.hardware.radio.CarrierRestrictions;
-import android.hardware.radio.CarrierRestrictionsWithPriority;
-import android.hardware.radio.CdmaBroadcastSmsConfigInfo;
-import android.hardware.radio.CdmaRoamingType;
-import android.hardware.radio.CdmaSubscriptionSource;
-import android.hardware.radio.CellIdentity;
-import android.hardware.radio.CellInfo;
-import android.hardware.radio.ClipStatus;
-import android.hardware.radio.DataRegStateResult;
-import android.hardware.radio.GsmBroadcastSmsConfigInfo;
-import android.hardware.radio.HardwareConfig;
-import android.hardware.radio.IccIoResult;
-import android.hardware.radio.KeepaliveStatus;
-import android.hardware.radio.LastCallFailCauseInfo;
-import android.hardware.radio.LceDataInfo;
-import android.hardware.radio.LceStatusInfo;
-import android.hardware.radio.NeighboringCell;
-import android.hardware.radio.OperatorInfo;
-import android.hardware.radio.PersoSubstate;
-import android.hardware.radio.PhonebookCapacity;
-import android.hardware.radio.PreferredNetworkType;
-import android.hardware.radio.RadioAccessFamily;
-import android.hardware.radio.RadioAccessSpecifier;
-import android.hardware.radio.RadioBandMode;
-import android.hardware.radio.RadioCapability;
-import android.hardware.radio.RadioResponseInfo;
-import android.hardware.radio.RadioTechnology;
-import android.hardware.radio.RadioTechnologyFamily;
-import android.hardware.radio.RegStateResult;
-import android.hardware.radio.SendSmsResult;
-import android.hardware.radio.SetupDataCallResult;
-import android.hardware.radio.SignalStrength;
-import android.hardware.radio.SimLockMultiSimPolicy;
-import android.hardware.radio.SlicingConfig;
-import android.hardware.radio.TtyMode;
-import android.hardware.radio.VoiceRegStateResult;
-
-/**
- * Interface declaring response functions to solicited radio requests.
- */
-@VintfStability
-interface IRadioResponse {
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void acceptCallResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void acknowledgeIncomingGsmSmsWithPduResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_SMS_TO_ACK
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_NOT_READY
- * RadioError:INVALID_MODEM_STATE
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void acknowledgeLastIncomingCdmaSmsResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void acknowledgeLastIncomingGsmSmsResponse(in RadioResponseInfo info);
-
- /**
- * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
- * radio request which take long time to respond. For more details, refer
- * https://source.android.com/devices/tech/connect/ril.html
- *
- * @param serial Serial no. of the request whose acknowledgement is sent.
- */
- oneway void acknowledgeRequest(in int serial);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param id The allocated id. On an error, this is set to 0.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES- Indicates that no pdu session ids are available
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void allocatePduSessionIdResponse(in RadioResponseInfo info, in int id);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param enabled whether Uicc applications are enabled.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:SIM_ABSENT
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- */
- oneway void areUiccApplicationsEnabledResponse(in RadioResponseInfo info, in boolean enabled);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param dcResponse Attributes of data call
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_CALL_ID
- */
- oneway void cancelHandoverResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_BUSY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void cancelPendingUssdResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT (old PIN2 is invalid)
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_PUK2
- */
- oneway void changeIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void changeIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_STATE
- * RadioError:INVALID_CALL_ID
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void conferenceResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * 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:INVALID_CALL_ID
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void deactivateDataCallResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NO_SUCH_ENTRY
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:SIM_ABSENT
- */
- oneway void deleteSmsOnRuimResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_FULL
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NO_SUCH_ENTRY
- * RadioError:INTERNAL_ERR
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:SIM_ABSENT
- */
- oneway void deleteSmsOnSimResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:DIAL_MODIFIED_TO_USSD
- * RadioError:DIAL_MODIFIED_TO_SS
- * RadioError:DIAL_MODIFIED_TO_DIAL
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:INVALID_STATE
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:MODEM_ERR
- * RadioError:NO_SUBSCRIPTION
- * RadioError:NO_NETWORK_FOUND
- * RadioError:INVALID_CALL_ID
- * RadioError:DEVICE_IN_USE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:ABORTED
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:CANCELLED
- */
- oneway void dialResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:DIAL_MODIFIED_TO_USSD
- * RadioError:DIAL_MODIFIED_TO_SS
- * RadioError:DIAL_MODIFIED_TO_DIAL
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:MODEM_ERR
- * RadioError:NO_SUBSCRIPTION
- * RadioError:NO_NETWORK_FOUND
- * RadioError:INVALID_CALL_ID
- * RadioError:DEVICE_IN_USE
- * RadioError:ABORTED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void emergencyDialResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:MODEM_ERR
- * RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim
- * mode, or when there is only one modem available, as this API should only
- * be called in multi sim status.
- */
- oneway void enableModemResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:SIM_ABSENT
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:BUSY
- */
- oneway void enableUiccApplicationsResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NO_ALLOWED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void exitEmergencyCallbackModeResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void explicitCallTransferResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param carriers Carrier restriction information.
- * @param multiSimPolicy Policy used for devices with multiple SIM cards.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getAllowedCarriersResponse(in RadioResponseInfo info,
- in CarrierRestrictionsWithPriority carriers, in SimLockMultiSimPolicy multiSimPolicy);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:MODE_NOT_SUPPORTED
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- */
- oneway void getAllowedNetworkTypesBitmapResponse(
- in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param bandModes List of RadioBandMode listing supported modes
- *
- * 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:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getAvailableBandModesResponse(
- in RadioResponseInfo info, in RadioBandMode[] bandModes);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param networkInfos List of network operator information as OperatorInfos defined in
- * types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:ABORTED
- * RadioError:DEVICE_IN_USE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- */
- oneway void getAvailableNetworksResponse(
- in RadioResponseInfo info, in OperatorInfo[] networkInfos);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param cellIdentity CellIdentity for the barring infos.
- * @param barringInfos a vector of barring info for all barring service types
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- */
- oneway void getBarringInfoResponse(
- in RadioResponseInfo info, in CellIdentity cellIdentity, in BarringInfo[] barringInfos);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param version string containing version string for log reporting
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:EMPTY_RECORD
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NOT_PROVISIONED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getBasebandVersionResponse(in RadioResponseInfo info, in String version);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param mdn MDN if CDMA subscription is available
- * @param hSid is a comma separated list of H_SID (Home SID) if CDMA subscription is available,
- * in decimal format
- * @param hNid is a comma separated list of H_NID (Home NID) if CDMA subscription is available,
- * in decimal format
- * @param min MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
- * @param prl PRL version if CDMA subscription is available
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SUBSCRIPTION_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:NOT_PROVISIONED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void getCDMASubscriptionResponse(in RadioResponseInfo info, in String mdn,
- in String hSid, in String hNid, in String min, in String prl);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param callForwardInfos points to a vector of CallForwardInfo, one for each distinct
- * registered phone number. For example, if data is forwarded to +18005551212 and voice
- * is forwarded to +18005559999, then two separate CallForwardInfo's must be returned.
- * However, if both data and voice are forwarded to +18005551212, then a single
- * CallForwardInfo must be returned with the service class set to "data + voice = 3".
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SYSTEM_ERR
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getCallForwardStatusResponse(
- in RadioResponseInfo info, in CallForwardInfo[] callForwardInfos);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param enable If current call waiting state is disabled, enable = false else true
- * @param serviceClass If enable, then callWaitingResp[1] must follow, with the TS 27.007
- * service class bit vector of services for which call waiting is enabled. For example,
- * if callWaitingResp[0] is 1 and callWaitingResp[1] is 3, then call waiting is enabled
- * for data and voice and disabled for everything else.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getCallWaitingResponse(
- in RadioResponseInfo info, in boolean enable, in int serviceClass);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param configs Vector of CDMA Broadcast SMS configs.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void getCdmaBroadcastConfigResponse(
- in RadioResponseInfo info, in CdmaBroadcastSmsConfigInfo[] configs);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param type CdmaRoamingType defined in types.hal
- *
- * 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:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void getCdmaRoamingPreferenceResponse(
- in RadioResponseInfo info, in CdmaRoamingType type);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param source CDMA subscription source
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SUBSCRIPTION_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void getCdmaSubscriptionSourceResponse(
- in RadioResponseInfo info, in CdmaSubscriptionSource source);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param cellInfo List of current cell information known to radio
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- */
- oneway void getCellInfoListResponse(in RadioResponseInfo info, in CellInfo[] cellInfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param status indicates CLIP status
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getClipResponse(in RadioResponseInfo info, in ClipStatus status);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param n is "n" parameter from TS 27.007 7.7
- * @param m is "m" parameter from TS 27.007 7.7
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getClirResponse(in RadioResponseInfo info, in int n, in int m);
-
- /**
- * @param info Response info struct containing respontype, serial no. and error
- * @param calls Current call list
- *
- * Valid errors returned:
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getCurrentCallsResponse(in RadioResponseInfo info, in Call[] calls);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param dcResponse List of SetupDataCallResult as defined in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:SIM_ABSENT
- */
- oneway void getDataCallListResponse(
- in RadioResponseInfo info, in SetupDataCallResult[] dcResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param dataRegResponse Current Data registration response as defined by RegStateResult in
- * types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NOT_PROVISIONED
- */
- oneway void getDataRegistrationStateResponse(
- in RadioResponseInfo info, in RegStateResult dataRegResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param imei IMEI if GSM subscription is available
- * @param imeisv IMEISV if GSM subscription is available
- * @param esn ESN if CDMA subscription is available
- * @param meid MEID if CDMA subscription is available
- *
- * If a empty string value is returned for any of the device id, it means that there was error
- * accessing the device.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:NOT_PROVISIONED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getDeviceIdentityResponse(in RadioResponseInfo info, in String imei,
- in String imeisv, in String esn, in String meid);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param response 0 is the TS 27.007 service class bit vector of services for which the
- * specified barring facility is active. "0" means "disabled for all"
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getFacilityLockForAppResponse(in RadioResponseInfo info, in int response);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param configs Vector of GSM/WCDMA Cell broadcast configs
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void getGsmBroadcastConfigResponse(
- in RadioResponseInfo info, in GsmBroadcastSmsConfigInfo[] configs);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param config Array of HardwareConfig of the radio.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getHardwareConfigResponse(in RadioResponseInfo info, in HardwareConfig[] config);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param imsi String containing the IMSI
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_SIM_STATE
- * RadioError:SIM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getIMSIForAppResponse(in RadioResponseInfo info, in String imsi);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param cardStatus ICC card status as defined by CardStatus in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getIccCardStatusResponse(in RadioResponseInfo info, in CardStatus cardStatus);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param isRegistered false = not registered, true = registered
- * @param ratFamily RadioTechnologyFamily as defined in types.hal. This value is valid only if
- * isRegistered is true.
- *
- * 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:REQUEST_NOT_SUPPORTED
- */
- oneway void getImsRegistrationStateResponse(
- in RadioResponseInfo info, in boolean isRegistered, in RadioTechnologyFamily ratFamily);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param failCauseInfo Contains LastCallFailCause and vendor cause code.
- *
- * The vendor cause code must be used for debugging purpose only. The implementation must return
- * one of the values of LastCallFailCause as mentioned below.
- * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H where possible.
- * CDMA failure reasons codes for the possible call failure scenarios described in the
- * "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard.
- * Any of the following reason codes if the call is failed or dropped due to reason mentioned
- * with in the braces.
- * LastCallFailCause:RADIO_OFF (Radio is OFF)
- * LastCallFailCause:OUT_OF_SERVICE (No cell coverage)
- * LastCallFailCause:NO_VALID_SIM (No valid SIM)
- * LastCallFailCause:RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario)
- * LastCallFailCause:NETWORK_RESP_TIMEOUT (No response from network)
- * LastCallFailCause:NETWORK_REJECT (Explicit network reject)
- * LastCallFailCause:RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH)
- * LastCallFailCause:RADIO_LINK_FAILURE (Radio Link Failure)
- * LastCallFailCause:RADIO_LINK_LOST (Radio link lost due to poor coverage)
- * LastCallFailCause:RADIO_UPLINK_FAILURE (Radio uplink failure)
- * LastCallFailCause:RADIO_SETUP_FAILURE (RRC connection setup failure)
- * LastCallFailCause:RADIO_RELEASE_NORMAL (RRC connection release, normal)
- * LastCallFailCause:RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal)
- * LastCallFailCause:ACCESS_CLASS_BLOCKED (Access class barring)
- * LastCallFailCause:NETWORK_DETACH (Explicit network detach)
- * OEM causes (LastCallFailCause:OEM_CAUSE_XX) must be used for debug purpose only
- *
- * If the implementation does not have access to the exact cause codes, then it must return one
- * of the values listed in LastCallFailCause, as the UI layer needs to distinguish these cases
- * for tone generation or error notification.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:NO_MEMORY
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getLastCallFailCauseResponse(
- in RadioResponseInfo info, in LastCallFailCauseInfo failCauseinfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param activityInfo modem activity information
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:NOT_PROVISIONED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getModemActivityInfoResponse(
- in RadioResponseInfo info, in ActivityStatsInfo activityInfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:MODEM_ERR
- */
- oneway void getModemStackStatusResponse(in RadioResponseInfo info, in boolean isEnabled);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param enable true for "mute enabled" and false for "mute disabled"
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getMuteResponse(in RadioResponseInfo info, in boolean enable);
-
- /**
- * @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
- */
- oneway 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:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getNetworkSelectionModeResponse(in RadioResponseInfo info, in boolean manual);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param longName is long alpha ONS or EONS or empty string if unregistered
- * @param shortName is short alpha ONS or EONS or empty string if unregistered
- * @param numeric is 5 or 6 digit numeric code (MCC + MNC) or empty string if unregistered
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getOperatorResponse(
- in RadioResponseInfo info, in String longName, in String shortName, in String numeric);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- */
- oneway void getPreferredNetworkTypeBitmapResponse(
- in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param nwType RadioPreferredNetworkType defined in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getPreferredNetworkTypeResponse(
- in RadioResponseInfo info, in PreferredNetworkType nwType);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param enable false for Standard Privacy Mode (Public Long Code Mask)
- * true for Enhanced Privacy Mode (Private Long Code Mask)
- *
- * Valid errors:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getPreferredVoicePrivacyResponse(in RadioResponseInfo info, in boolean enable);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param rc Radio capability as defined by RadioCapability in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param signalStrength Current signal strength
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- */
- oneway void getSignalStrengthResponse(
- in RadioResponseInfo info, in SignalStrength signalStrength);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param capacity Response capacity enum indicating response processing status
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
- * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
- */
- oneway void getSimPhonebookCapacityResponse(
- in RadioResponseInfo info, in PhonebookCapacity capacity);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
- * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
- */
- oneway void getSimPhonebookRecordsResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param slicingConfig Current slicing configuration
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- */
- oneway void getSlicingConfigResponse(in RadioResponseInfo info, in SlicingConfig slicingConfig);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param smsc Short Message Service Center address on the device
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:MODEM_ERR
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NOT_PROVISIONED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void getSmscAddressResponse(in RadioResponseInfo info, in String smsc);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param specifiers List of RadioAccessSpecifiers that are scanned.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- */
- oneway void getSystemSelectionChannelsResponse(
- in RadioResponseInfo info, in RadioAccessSpecifier[] specifiers);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param mode TtyMode
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void getTTYModeResponse(in RadioResponseInfo info, in TtyMode mode);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param rat Current voice RAT
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void getVoiceRadioTechnologyResponse(in RadioResponseInfo info, in RadioTechnology rat);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param voiceRegResponse Current Voice registration response as defined by RegStateResult
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- */
- oneway void getVoiceRegistrationStateResponse(
- in RadioResponseInfo info, in RegStateResult voiceRegResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void handleStkCallSetupRequestFromSimResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:INVALID_STATE
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void hangupConnectionResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:NO_RESOURCES
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void hangupForegroundResumeBackgroundResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:NO_RESOURCES
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- */
- oneway void hangupWaitingOrBackgroundResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void iccCloseLogicalChannelResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param iccIo ICC io operation response as defined by IccIoResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_PIN2
- * RadioError:SIM_PUK2
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_SIM_STATE
- * RadioError:SIM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void iccIOForAppResponse(in RadioResponseInfo info, in IccIoResult iccIo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param channelId session id of the logical channel.
- * @param selectResponse Contains the select response for the open channel command with one
- * byte per integer
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:MISSING_RESOURCE
- * RadioError:NO_SUCH_ELEMENT
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ERR
- * RadioError:INVALID_SIM_STATE
- * RadioError:MISSING_RESOURCE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void iccOpenLogicalChannelResponse(
- in RadioResponseInfo info, in int channelId, in byte[] selectResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param result IccIoResult as defined in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void iccTransmitApduBasicChannelResponse(
- in RadioResponseInfo info, in IccIoResult result);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param result IccIoResult as defined in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void iccTransmitApduLogicalChannelResponse(
- in RadioResponseInfo info, in IccIoResult result);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled
- * else false.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void isNrDualConnectivityEnabledResponse(
- in RadioResponseInfo info, in boolean isEnabled);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param result string containing the contents of the NV item
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void nvReadItemResponse(in RadioResponseInfo info, in String result);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void nvResetConfigResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void nvWriteCdmaPrlResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void nvWriteItemResponse(in RadioResponseInfo info);
-
- /**
- * @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
- */
- oneway 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
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INVALID_STATE
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void rejectCallResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void releasePduSessionIdResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:MODEM_ERR
- * RadioError:INVALID_STATE
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void reportSmsMemoryStatusResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void reportStkServiceIsRunningResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param result IccIoResult as defined in types.hal
- *
- * 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:SIM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void requestIccSimAuthenticationResponse(
- in RadioResponseInfo info, in IccIoResult result);
-
- /**
- * @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
- */
- oneway void requestIsimAuthenticationResponse(in RadioResponseInfo info, in String response);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void requestShutdownResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * 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:INVALID_CALL_ID
- * RadioError:INVALID_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:OPERATION_NOT_ALLOWED
- */
- oneway void sendBurstDtmfResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * 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:INVALID_CALL_ID
- * RadioError:INVALID_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:OPERATION_NOT_ALLOWED
- */
- oneway void sendCDMAFeatureCodeResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Response to sms sent as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:ENCODING_ERR
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NETWORK_NOT_READY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED
- * RadioError:ACCESS_BARRED
- * RadioError:BLOCKED_DUE_TO_CALL
- */
- oneway void sendCdmaSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Sms result struct as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:ENCODING_ERR
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:ENCODING_ERR
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED
- * RadioError:ACCESS_BARRED
- * RadioError:BLOCKED_DUE_TO_CALL
- */
- oneway void sendCdmaSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void sendDeviceStateResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void sendDtmfResponse(in RadioResponseInfo info);
-
- /**
- * @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
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_BUSY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void sendEnvelopeResponse(in RadioResponseInfo info, in String commandResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param iccIo IccIoResult as defined in types.hal corresponding to ICC IO response
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_BUSY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void sendEnvelopeWithStatusResponse(in RadioResponseInfo info, in IccIoResult iccIo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Response to sms sent as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:ENCODING_ERR
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NETWORK_NOT_READY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void sendImsSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Response to sms sent as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:ENCODING_ERR
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NETWORK_NOT_READY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void sendSMSExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Response to sms sent as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:ENCODING_ERR
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NETWORK_NOT_READY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- * RadioError:ACCESS_BARRED
- * RadioError:BLOCKED_DUE_TO_CALL
- */
- oneway void sendSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param sms Response to sms sent as defined by SendSmsResult in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SMS_SEND_FAIL_RETRY
- * RadioError:NETWORK_REJECT
- * RadioError:INVALID_STATE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SYSTEM_ERR
- * RadioError:ENCODING_ERR
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:MODEM_ERR
- * RadioError:NETWORK_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NETWORK_NOT_READY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- * RadioError:ACCESS_BARRED
- * RadioError:BLOCKED_DUE_TO_CALL
- */
- oneway void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void sendTerminalResponseToSimResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:USSD_MODIFIED_TO_DIAL
- * RadioError:USSD_MODIFIED_TO_SS
- * RadioError:USSD_MODIFIED_TO_USSD
- * RadioError:SIM_BUSY
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:ABORTED
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void sendUssdResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:CANCELLED
- */
- oneway void separateConnectionResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void setAllowedCarriersResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:MODE_NOT_SUPPORTED
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- */
- oneway void setAllowedNetworkTypesBitmapResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setBandModeResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setBarringPasswordResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_STATE
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setCallForwardResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_STATE
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setCallWaitingResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:RIL_E_SUCCESS
- * RadioError:RIL_E_RADIO_NOT_AVAILABLE
- * RadioError:SIM_ABSENT
- * RadioError:RIL_E_REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_INTERNAL_FAILURE
- */
- oneway void setCarrierInfoForImsiEncryptionResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void setCdmaBroadcastActivationResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void setCdmaBroadcastConfigResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void setCdmaRoamingPreferenceResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_ABSENT
- * RadioError:SUBSCRIPTION_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void setCdmaSubscriptionSourceResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void setCellInfoListRateResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setClirResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:DEVICE_IN_USE
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void setDataAllowedResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SUBSCRIPTION_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void setDataProfileResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void setDataThrottlingResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param retry 0 is the number of retries remaining, or -1 if unknown
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SS_MODIFIED_TO_DIAL
- * RadioError:SS_MODIFIED_TO_USSD
- * RadioError:SS_MODIFIED_TO_SS
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_STATE
- * RadioError:FDN_CHECK_FAILURE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setFacilityLockForAppResponse(in RadioResponseInfo info, in int retry);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void setGsmBroadcastActivationResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void setGsmBroadcastConfigResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- */
- oneway void setIndicationFilterResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SUBSCRIPTION_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NOT_PROVISIONED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setInitialAttachApnResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- */
- oneway void setLinkCapacityReportingCriteriaResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void setLocationUpdatesResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_MEMORY
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setMuteResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:ILLEGAL_SIM_OR_ME
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- *
- * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
- * no retries needed, such as illegal SIM or ME.
- */
- oneway void setNetworkSelectionModeAutomaticResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:ILLEGAL_SIM_OR_ME
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- *
- * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
- * no retries needed, such as illegal SIM or ME.
- */
- oneway void setNetworkSelectionModeManualResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_STATE
- */
- oneway void setNrDualConnectivityStateResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:MODE_NOT_SUPPORTED
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- */
- oneway void setPreferredNetworkTypeBitmapResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:MODE_NOT_SUPPORTED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setPreferredNetworkTypeResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_CALL_ID
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setPreferredVoicePrivacyResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param rc Radio capability as defined by RadioCapability in types.hal used to
- * feedback return status
- *
- * Valid errors returned:
- * RadioError:NONE means a unsol radioCapability() will be sent within 30 seconds.
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:INVALID_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:RF_HARDWARE_ISSUE
- * RadioError:NO_RF_CALIBRATION_INFO
- */
- oneway void setRadioPowerResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:RADIO_NOT_AVAILABLE
- */
- oneway void setSignalStrengthReportingCriteriaResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SIM_ERR (indicates a timeout or other issue making the SIM unresponsive)
- */
- oneway void setSimCardPowerResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_RATE_LIMITED
- * RadioError:MODEM_ERR
- * RadioError:NO_RESOURCES
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void setSmscAddressResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SIM_BUSY
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:SIM_ABSENT
- */
- oneway void setSuppServiceNotificationsResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_ARGUMENTS
- */
- oneway void setSystemSelectionChannelsResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setTTYModeResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SUBSCRIPTION_NOT_SUPPORTED
- * RadioError:NO_MEMORY
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void setUiccSubscriptionResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param dcResponse SetupDataCallResult defined in types.hal
- *
- * Valid errors returned:
- * RadioError:NONE must be returned on both success and failure of setup with the
- * DataCallResponse.status containing the actual status
- * For all other errors the DataCallResponse is ignored.
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW
- * RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES if the vendor is unable handle due to resources are full.
- * RadioError:SIM_ABSENT
- */
- oneway void setupDataCallResponse(in RadioResponseInfo info, in SetupDataCallResult dcResponse);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void startDtmfResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INTERNAL_ERR
- * RadioError:NO_RESOURCES
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_CALL_ID
- */
- oneway void startHandoverResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param status Status object containing a new handle and a current status. The status returned
- * here may be PENDING to indicate that the radio has not yet processed the keepalive
- * request.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:NO_RESOURCES
- * RadioError:INVALID_ARGUMENTS
- */
- oneway void startKeepaliveResponse(in RadioResponseInfo info, in KeepaliveStatus status);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param statusInfo LceStatusInfo indicating LCE status
- *
- * 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
- */
- oneway void startLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:DEVICE_IN_USE
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- */
- oneway void startNetworkScanResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:NO_MEMORY
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_CALL_ID
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- */
- oneway void stopDtmfResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INVALID_ARGUMENTS
- */
- oneway void stopKeepaliveResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param statusInfo LceStatusInfo indicating LCE status
- *
- * 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
- */
- oneway void stopLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- */
- oneway void stopNetworkScanResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_PUK2
- */
- oneway void supplyIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void supplyIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT (PUK is invalid)
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void supplyIccPuk2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:PASSWORD_INCORRECT (PUK is invalid)
- * RadioError:INTERNAL_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void supplyIccPukForAppResponse(in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:PASSWORD_INCORRECT (code is invalid)
- * RadioError:NO_MEMORY
- * RadioError:INVALID_SIM_STATE
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:SIM_ABSENT
- */
- oneway void supplyNetworkDepersonalizationResponse(
- in RadioResponseInfo info, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param persoType SIM Personalisation type
- * @param remainingRetries postiive values indicates number of retries remaining, must be equal
- * to -1 if number of retries is infinite.
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:PASSWORD_INCORRECT (code is invalid)
- * RadioError:NO_MEMORY
- * RadioError:INVALID_SIM_STATE
- * RadioError:INTERNAL_ERR
- * RadioError:SYSTEM_ERR
- * RadioError:MODEM_ERR
- * RadioError:INVALID_ARGUMENTS
- * RadioError:NO_RESOURCES
- * RadioError:REQUEST_NOT_SUPPORTED
- */
- oneway void supplySimDepersonalizationResponse(
- in RadioResponseInfo info, in PersoSubstate persoType, in int remainingRetries);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
- * RadioError:INVALID_STATE
- * RadioError:NO_MEMORY
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:INVALID_STATE
- * RadioError:INVALID_CALL_ID
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- */
- oneway void switchWaitingOrHoldingAndActiveResponse(in RadioResponseInfo info);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param updatedRecordIndex The index of the updated or inserted record in the phonebook and
- * the minimum value is 1
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SIM_STATE
- * RadioError:MODEM_ERR
- * RadioError:INTERNAL_ERR
- * RadioError:SIM_ERR
- * RadioError:NO_SUCH_ENTRY
- * RadioError:NO_RESOURCES
- * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
- * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
- */
- oneway void updateSimPhonebookRecordsResponse(
- in RadioResponseInfo info, in int updatedRecordIndex);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param index record index where the cmda sms message is stored
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:SIM_FULL
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- * RadioError:ENCODING_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:INVALID_MODEM_STATE
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:NO_RESOURCES
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:SIM_ABSENT
- */
- oneway void writeSmsToRuimResponse(in RadioResponseInfo info, in int index);
-
- /**
- * @param info Response info struct containing response type, serial no. and error
- * @param index record index where the message is stored
- *
- * Valid errors returned:
- * RadioError:NONE
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SIM_FULL
- * RadioError:INVALID_ARGUMENTS
- * RadioError:INVALID_SMS_FORMAT
- * RadioError:INTERNAL_ERR
- * RadioError:MODEM_ERR
- * RadioError:ENCODING_ERR
- * RadioError:NO_MEMORY
- * RadioError:NO_RESOURCES
- * RadioError:INVALID_MODEM_STATE
- * RadioError:OPERATION_NOT_ALLOWED
- * RadioError:INVALID_SMSC_ADDRESS
- * RadioError:RADIO_NOT_AVAILABLE
- * RadioError:SYSTEM_ERR
- * RadioError:REQUEST_NOT_SUPPORTED
- * RadioError:CANCELLED
- * RadioError:INVALID_MODEM_STATE
- * RadioError:SIM_ABSENT
- */
- oneway void writeSmsToSimResponse(in RadioResponseInfo info, in int index);
-}
diff --git a/radio/aidl/android/hardware/radio/ISap.aidl b/radio/aidl/android/hardware/radio/ISap.aidl
index 55950fd..1ca4fe7 100644
--- a/radio/aidl/android/hardware/radio/ISap.aidl
+++ b/radio/aidl/android/hardware/radio/ISap.aidl
@@ -24,7 +24,7 @@
* Empty top level interface.
*/
@VintfStability
-interface ISap {
+oneway interface ISap {
/**
* TRANSFER_APDU_REQ from SAP 1.1 spec 5.1.6
*
@@ -32,7 +32,7 @@
* @param type APDU command type
* @param command CommandAPDU/CommandAPDU7816 parameter depending on type
*/
- oneway void apduReq(in int token, in SapApduType type, in byte[] command);
+ void apduReq(in int token, in SapApduType type, in byte[] command);
/**
* CONNECT_REQ from SAP 1.1 spec 5.1.1
@@ -40,14 +40,14 @@
* @param token Id to match req-resp. Resp must include same token.
* @param maxMsgSize MaxMsgSize to be used for SIM Access Profile connection
*/
- oneway void connectReq(in int token, in int maxMsgSize);
+ 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.
*/
- oneway void disconnectReq(in int 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
@@ -55,14 +55,14 @@
* @param token Id to match req-resp. Resp must include same token.
* @param state true for on, false for off
*/
- oneway void powerReq(in int token, in boolean state);
+ 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.
*/
- oneway void resetSimReq(in int token);
+ void resetSimReq(in int token);
/**
* Set callback that has response and unsolicited indication functions
@@ -77,19 +77,19 @@
* @param token Id to match req-resp. Resp must include same token.
* @param transferProtocol Transport Protocol
*/
- oneway void setTransferProtocolReq(in int token, in SapTransferProtocol transferProtocol);
+ 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.
*/
- oneway void transferAtrReq(in int 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.
*/
- oneway void transferCardReaderStatusReq(in int token);
+ void transferCardReaderStatusReq(in int token);
}
diff --git a/radio/aidl/android/hardware/radio/ISapCallback.aidl b/radio/aidl/android/hardware/radio/ISapCallback.aidl
index e7a4bac..00e543b 100644
--- a/radio/aidl/android/hardware/radio/ISapCallback.aidl
+++ b/radio/aidl/android/hardware/radio/ISapCallback.aidl
@@ -22,7 +22,7 @@
import android.hardware.radio.SapStatus;
@VintfStability
-interface ISapCallback {
+oneway interface ISapCallback {
/**
* TRANSFER_APDU_RESP from SAP 1.1 spec 5.1.7
*
@@ -37,7 +37,7 @@
* @param apduRsp APDU Response. Valid only if command was processed correctly and no error
* occurred.
*/
- oneway void apduResponse(in int token, in SapResultCode resultCode, in byte[] apduRsp);
+ void apduResponse(in int token, in SapResultCode resultCode, in byte[] apduRsp);
/**
* CONNECT_RESP from SAP 1.1 spec 5.1.2
@@ -47,7 +47,7 @@
* @param maxMsgSize MaxMsgSize supported by server if request cannot be fulfilled.
* Valid only if connectResponse is SapConnectResponse:MSG_SIZE_TOO_LARGE.
*/
- oneway void connectResponse(in int token, in SapConnectRsp sapConnectRsp, in int maxMsgSize);
+ void connectResponse(in int token, in SapConnectRsp sapConnectRsp, in int maxMsgSize);
/**
* DISCONNECT_IND from SAP 1.1 spec 5.1.5
@@ -55,21 +55,21 @@
* @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
*/
- oneway void disconnectIndication(in int token, in SapDisconnectType disconnectType);
+ 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.
*/
- oneway void disconnectResponse(in int token);
+ 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.
*/
- oneway void errorResponse(in int token);
+ 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
@@ -84,7 +84,7 @@
* SapResultCode:CARD_REMOVED,
* SapResultCode:CARD_ALREADY_POWERED_ON (possible only for power on req)
*/
- oneway void powerResponse(in int token, in SapResultCode resultCode);
+ void powerResponse(in int token, in SapResultCode resultCode);
/**
* RESET_SIM_RESP from SAP 1.1 spec 5.1.15
@@ -98,7 +98,7 @@
* SapResultCode:CARD_ALREADY_POWERED_OFF,
* SapResultCode:CARD_REMOVED
*/
- oneway void resetSimResponse(in int token, in SapResultCode resultCode);
+ void resetSimResponse(in int token, in SapResultCode resultCode);
/**
* STATUS_IND from SAP 1.1 spec 5.1.16
@@ -106,7 +106,7 @@
* @param token Id to match req-resp. Value must match the one in req.
* @param status Parameter to indicate reason for the status change.
*/
- oneway void statusIndication(in int token, in SapStatus status);
+ void statusIndication(in int token, in SapStatus status);
/**
* TRANSFER_ATR_RESP from SAP 1.1 spec 5.1.9
@@ -122,7 +122,7 @@
* @param atr Answer to Reset from the subscription module. Included only if no error occurred,
* otherwise empty.
*/
- oneway void transferAtrResponse(in int token, in SapResultCode resultCode, in byte[] atr);
+ void transferAtrResponse(in int token, in SapResultCode resultCode, in byte[] atr);
/**
* TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.18
@@ -136,7 +136,7 @@
* @param cardReaderStatus Card Reader Status coded as described in 3GPP TS 11.14 Section 12.33
* and TS 31.111 Section 8.33
*/
- oneway void transferCardReaderStatusResponse(
+ void transferCardReaderStatusResponse(
in int token, in SapResultCode resultCode, in int cardReaderStatus);
/**
@@ -148,5 +148,5 @@
* SapResultCode:SUCCESS
* SapResultCode:NOT_SUPPORTED
*/
- oneway void transferProtocolResponse(in int token, in SapResultCode resultCode);
+ void transferProtocolResponse(in int token, in SapResultCode resultCode);
}
diff --git a/radio/aidl/android/hardware/radio/IccIo.aidl b/radio/aidl/android/hardware/radio/IccIo.aidl
deleted file mode 100644
index 7441758..0000000
--- a/radio/aidl/android/hardware/radio/IccIo.aidl
+++ /dev/null
@@ -1,55 +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
-parcelable IccIo {
- /**
- * One of the commands listed for TS 27.007 +CRSM
- */
- int command;
- /**
- * EF ID
- */
- int fileId;
- /**
- * "pathid" from TS 27.007 +CRSM command. Path is in hex ASCII format eg "7f205f70"
- * Path must always be provided.
- */
- String path;
- /**
- * Value of p1 defined as per 3GPP TS 51.011
- */
- int p1;
- /**
- * Value of p2 defined as per 3GPP TS 51.011
- */
- int p2;
- /**
- * Value of p3 defined as per 3GPP TS 51.011
- */
- int p3;
- /**
- * Information to be written to the SIM
- */
- String data;
- String pin2;
- /**
- * AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
- */
- String aid;
-}
diff --git a/radio/aidl/android/hardware/radio/IccIoResult.aidl b/radio/aidl/android/hardware/radio/IccIoResult.aidl
deleted file mode 100644
index 94377b4..0000000
--- a/radio/aidl/android/hardware/radio/IccIoResult.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
-parcelable IccIoResult {
- int sw1;
- int sw2;
- /**
- * In hex string format ([a-fA-F0-9]*), except for SIM_AUTHENTICATION response for which it is
- * in Base64 format, see 3GPP TS 31.102 7.1.2
- */
- String simResponse;
-}
diff --git a/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl b/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl
deleted file mode 100644
index 3b4efe6..0000000
--- a/radio/aidl/android/hardware/radio/ImsSmsMessage.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.CdmaSmsMessage;
-import android.hardware.radio.GsmSmsMessage;
-import android.hardware.radio.RadioTechnologyFamily;
-
-@VintfStability
-parcelable ImsSmsMessage {
- RadioTechnologyFamily tech;
- /**
- * Retry if true
- */
- boolean retry;
- /**
- * Valid field if retry is set to true.
- * Contains messageRef from SendSmsResult struct corresponding to failed MO SMS.
- */
- int messageRef;
- /**
- * Valid field if tech is 3GPP2 and size = 1 else must be empty. Only one of cdmaMessage and
- * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0.
- */
- CdmaSmsMessage[] cdmaMessage;
- /**
- * Valid field if tech is 3GPP and size = 1 else must be empty. Only one of cdmaMessage and
- * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0.
- */
- GsmSmsMessage[] gsmMessage;
-}
diff --git a/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl b/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl
deleted file mode 100644
index dbb0a9e..0000000
--- a/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl
+++ /dev/null
@@ -1,57 +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.PublicKeyType;
-
-/**
- * Carrier specific Information sent by the carrier, which will be used to encrypt IMSI and IMPI.
- */
-@VintfStability
-parcelable ImsiEncryptionInfo {
- /**
- * MCC of the Carrier.
- */
- String mcc;
- /**
- * MNC of the Carrier.
- */
- String mnc;
- /**
- * Carrier specific key to be used for encryption. It must be opaque to the framework.
- * This is the byte-stream representation of the key. This is an external encoded form for the
- * key used when a standard representation of the key is needed outside the Java Virtual
- * Machine, as when transmitting the key to some other party. The key is encoded according to a
- * standard format (such as X.509 SubjectPublicKeyInfo or PKCS#8), and is returned using the
- * getEncoded method as defined on the java.security.Key interface.
- */
- byte[] carrierKey;
- /**
- * This is an opaque value we're given by the carrier and is returned to the carrier.
- * This is used by the server to help it locate the private key to decrypt the
- * permanent identity.
- */
- String keyIdentifier;
- /**
- * Date-time in UTC when the key will expire.
- */
- long expirationTime;
- /**
- * Public key type.
- */
- PublicKeyType keyType;
-}
diff --git a/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl b/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl
deleted file mode 100644
index 4a863a7..0000000
--- a/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.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;
-
-/**
- * Values are in seconds.
- */
-@VintfStability
-@Backing(type="int")
-enum IncrementalResultsPeriodicityRange {
- MIN = 1,
- MAX = 10,
-}
diff --git a/radio/aidl/android/hardware/radio/IndicationFilter.aidl b/radio/aidl/android/hardware/radio/IndicationFilter.aidl
deleted file mode 100644
index 826c8c1..0000000
--- a/radio/aidl/android/hardware/radio/IndicationFilter.aidl
+++ /dev/null
@@ -1,69 +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 IndicationFilter {
- NONE = 0,
- ALL = ~0,
- /**
- * When this bit is set, modem must send the signal strength update through
- * IRadioIndication.currentSignalStrength() when all criteria specified by
- * IRadio.setSignalStrengthReportingCriteria() are met.
- */
- SIGNAL_STRENGTH = 1 << 0,
- /**
- * When this bit is set, modem must invoke IRadioIndication.networkStateChanged() when any field
- * in VoiceRegStateResult or DataRegStateResult changes. When this bit is not set, modem must
- * suppress IRadioIndication.networkStateChanged() when there are only changes from
- * insignificant fields. Modem must invoke IRadioIndication.networkStateChanged() when
- * significant fields are updated regardless of whether this bit is set.
- *
- * The following fields are considered significant: VoiceRegStateResult.regState,
- * VoiceRegStateResult.rat, DataRegStateResult.regState, DataRegStateResult.rat.
- */
- FULL_NETWORK_STATE = 1 << 1,
- /**
- * When this bit is set, modem must send IRadioIndication.dataCallListChanged() whenever any
- * field in ITypes.SetupDataCallResult changes. When this bit is not set, modem must suppress
- * the indication when the only changed field is 'active' (for data dormancy). For all other
- * field changes, the modem must send IRadioIndication.dataCallListChanged() regardless of
- * whether this bit is set.
- */
- DATA_CALL_DORMANCY_CHANGED = 1 << 2,
- /**
- * When this bit is set, modem must send the link capacity update through
- * IRadioIndication.currentLinkCapacityEstimate() when all criteria specified by
- * IRadio.setLinkCapacityReportingCriteria() are met.
- */
- LINK_CAPACITY_ESTIMATE = 1 << 3,
- /**
- * When this bit is set, the modem must send the physical channel configuration update through
- * IRadioIndication.currentPhysicalChannelConfigs() when the configuration has changed. It is
- * recommended that this be reported whenever link capacity or signal strength is reported.
- */
- PHYSICAL_CHANNEL_CONFIG = 1 << 4,
- /**
- * Control the unsolicited sending of registration failure reports via onRegistrationFailed
- */
- REGISTRATION_FAILURE = 1 << 5,
- /**
- * Control the unsolicited sending of barring info updates via onBarringInfo
- */
- BARRING_INFO = 1 << 6,
-}
diff --git a/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl b/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl
deleted file mode 100644
index ef594ad..0000000
--- a/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl
+++ /dev/null
@@ -1,54 +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.KeepaliveType;
-
-@VintfStability
-parcelable KeepaliveRequest {
- /**
- * The format of the keepalive packet
- */
- KeepaliveType type;
- /**
- * Source address with type = family, in network byte order
- */
- byte[] sourceAddress;
- /**
- * Source port if relevant for the given type
- * INT_MAX: 0x7FFFFFFF denotes that the field is unused
- */
- int sourcePort;
- /**
- * Destination address with type = family, in network byte order
- */
- byte[] destinationAddress;
- /**
- * Destination if relevant for the given type
- * INT_MAX: 0x7FFFFFFF denotes that the field is unused
- */
- int destinationPort;
- /**
- * The max interval between packets, in milliseconds
- */
- int maxKeepaliveIntervalMillis;
- /**
- * Context ID, returned in setupDataCallResponse that uniquely identifies the data call to which
- * this keepalive must applied.
- */
- int cid;
-}
diff --git a/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl b/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl
deleted file mode 100644
index 911cdae..0000000
--- a/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl
+++ /dev/null
@@ -1,31 +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.KeepaliveStatusCode;
-
-@VintfStability
-parcelable KeepaliveStatus {
- /**
- * The sessionHandle provided by the API
- */
- int sessionHandle;
- /**
- * Status for the given keepalive
- */
- KeepaliveStatusCode code;
-}
diff --git a/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl b/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl
deleted file mode 100644
index ed4b327..0000000
--- a/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl
+++ /dev/null
@@ -1,35 +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 KeepaliveStatusCode {
- /**
- * Keepalive is currently active
- */
- ACTIVE,
- /**
- * Keepalive is inactive, which indicates an error
- */
- INACTIVE,
- /**
- * Requested keepalive has not yet been processed by the modem.
- * Only allowed in a RESPONSE message to a REQUEST
- */
- PENDING,
-}
diff --git a/radio/aidl/android/hardware/radio/KeepaliveType.aidl b/radio/aidl/android/hardware/radio/KeepaliveType.aidl
deleted file mode 100644
index 86b1509..0000000
--- a/radio/aidl/android/hardware/radio/KeepaliveType.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 KeepaliveType {
- /**
- * Keepalive specified by RFC 3948 Sec. 2.3 using IPv4
- */
- NATT_IPV4,
- /**
- * Keepalive specified by RFC 3948 Sec. 2.3 using IPv6
- */
- NATT_IPV6,
-}
diff --git a/radio/aidl/android/hardware/radio/LastCallFailCause.aidl b/radio/aidl/android/hardware/radio/LastCallFailCause.aidl
deleted file mode 100644
index e5a5145..0000000
--- a/radio/aidl/android/hardware/radio/LastCallFailCause.aidl
+++ /dev/null
@@ -1,177 +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 LastCallFailCause {
- UNOBTAINABLE_NUMBER = 1,
- NO_ROUTE_TO_DESTINATION = 3,
- CHANNEL_UNACCEPTABLE = 6,
- OPERATOR_DETERMINED_BARRING = 8,
- NORMAL = 16,
- BUSY = 17,
- NO_USER_RESPONDING = 18,
- NO_ANSWER_FROM_USER = 19,
- CALL_REJECTED = 21,
- NUMBER_CHANGED = 22,
- PREEMPTION = 25,
- DESTINATION_OUT_OF_ORDER = 27,
- INVALID_NUMBER_FORMAT = 28,
- FACILITY_REJECTED = 29,
- RESP_TO_STATUS_ENQUIRY = 30,
- NORMAL_UNSPECIFIED = 31,
- CONGESTION = 34,
- NETWORK_OUT_OF_ORDER = 38,
- TEMPORARY_FAILURE = 41,
- SWITCHING_EQUIPMENT_CONGESTION = 42,
- ACCESS_INFORMATION_DISCARDED = 43,
- REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44,
- RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47,
- QOS_UNAVAILABLE = 49,
- REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
- INCOMING_CALLS_BARRED_WITHIN_CUG = 55,
- BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
- BEARER_CAPABILITY_UNAVAILABLE = 58,
- SERVICE_OPTION_NOT_AVAILABLE = 63,
- BEARER_SERVICE_NOT_IMPLEMENTED = 65,
- ACM_LIMIT_EXCEEDED = 68,
- REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
- ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70,
- SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79,
- INVALID_TRANSACTION_IDENTIFIER = 81,
- USER_NOT_MEMBER_OF_CUG = 87,
- INCOMPATIBLE_DESTINATION = 88,
- INVALID_TRANSIT_NW_SELECTION = 91,
- SEMANTICALLY_INCORRECT_MESSAGE = 95,
- INVALID_MANDATORY_INFORMATION = 96,
- MESSAGE_TYPE_NON_IMPLEMENTED = 97,
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
- INFORMATION_ELEMENT_NON_EXISTENT = 99,
- CONDITIONAL_IE_ERROR = 100,
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
- RECOVERY_ON_TIMER_EXPIRED = 102,
- PROTOCOL_ERROR_UNSPECIFIED = 111,
- INTERWORKING_UNSPECIFIED = 127,
- CALL_BARRED = 240,
- FDN_BLOCKED = 241,
- IMSI_UNKNOWN_IN_VLR = 242,
- IMEI_NOT_ACCEPTED = 243,
- /**
- * STK Call Control
- */
- DIAL_MODIFIED_TO_USSD = 244,
- DIAL_MODIFIED_TO_SS = 245,
- DIAL_MODIFIED_TO_DIAL = 246,
- /**
- * Radio is off
- */
- RADIO_OFF = 247,
- /**
- * No cellular coverage
- */
- OUT_OF_SERVICE = 248,
- /**
- * No valid SIM is present
- */
- NO_VALID_SIM = 249,
- /**
- * Internal error at modem
- */
- RADIO_INTERNAL_ERROR = 250,
- /**
- * No response from network
- */
- NETWORK_RESP_TIMEOUT = 251,
- /**
- * Explicit network reject
- */
- NETWORK_REJECT = 252,
- /**
- * RRC connection failure. Eg.RACH
- */
- RADIO_ACCESS_FAILURE = 253,
- /**
- * Radio link failure
- */
- RADIO_LINK_FAILURE = 254,
- /**
- * Radio link lost due to poor coverage
- */
- RADIO_LINK_LOST = 255,
- /**
- * Radio uplink failure
- */
- RADIO_UPLINK_FAILURE = 256,
- /**
- * RRC connection setup failure
- */
- RADIO_SETUP_FAILURE = 257,
- /**
- * RRC connection release, normal
- */
- RADIO_RELEASE_NORMAL = 258,
- /**
- * RRC connection release, abnormal
- */
- RADIO_RELEASE_ABNORMAL = 259,
- /**
- * Access class barring
- */
- ACCESS_CLASS_BLOCKED = 260,
- /**
- * Explicit network detach
- */
- NETWORK_DETACH = 261,
- CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
- CDMA_DROP = 1001,
- CDMA_INTERCEPT = 1002,
- CDMA_REORDER = 1003,
- CDMA_SO_REJECT = 1004,
- CDMA_RETRY_ORDER = 1005,
- CDMA_ACCESS_FAILURE = 1006,
- CDMA_PREEMPTED = 1007,
- /**
- * For non-emergency number dialed during emergency callback mode
- */
- CDMA_NOT_EMERGENCY = 1008,
- CDMA_ACCESS_BLOCKED = 1009,
- /**
- * OEM specific error codes. Used to distinguish error from
- * CALL_FAIL_ERROR_UNSPECIFIED and help assist debugging
- */
- OEM_CAUSE_1 = 0xf001,
- OEM_CAUSE_2 = 0xf002,
- OEM_CAUSE_3 = 0xf003,
- OEM_CAUSE_4 = 0xf004,
- OEM_CAUSE_5 = 0xf005,
- OEM_CAUSE_6 = 0xf006,
- OEM_CAUSE_7 = 0xf007,
- OEM_CAUSE_8 = 0xf008,
- OEM_CAUSE_9 = 0xf009,
- OEM_CAUSE_10 = 0xf00a,
- OEM_CAUSE_11 = 0xf00b,
- OEM_CAUSE_12 = 0xf00c,
- OEM_CAUSE_13 = 0xf00d,
- OEM_CAUSE_14 = 0xf00e,
- OEM_CAUSE_15 = 0xf00f,
- /**
- * This error will be deprecated soon, vendor code must make sure to map error code to specific
- * error
- */
- ERROR_UNSPECIFIED = 0xffff,
-}
diff --git a/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl b/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl
deleted file mode 100644
index 6866e99..0000000
--- a/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl
+++ /dev/null
@@ -1,25 +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.LastCallFailCause;
-
-@VintfStability
-parcelable LastCallFailCauseInfo {
- LastCallFailCause causeCode;
- String vendorCause;
-}
diff --git a/radio/aidl/android/hardware/radio/LceDataInfo.aidl b/radio/aidl/android/hardware/radio/LceDataInfo.aidl
deleted file mode 100644
index 68521b5..0000000
--- a/radio/aidl/android/hardware/radio/LceDataInfo.aidl
+++ /dev/null
@@ -1,34 +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
-parcelable LceDataInfo {
- /**
- * Last-hop cellular capacity: kilobits/second.
- */
- int lastHopCapacityKbps;
- /**
- * Capacity estimate confidence: 0-100.
- */
- byte confidenceLevel;
- /**
- * Whether the LCE report is going to be suspended (e.g., radio moves to inactive state or
- * network type changes).
- */
- boolean lceSuspended;
-}
diff --git a/radio/aidl/android/hardware/radio/LceStatus.aidl b/radio/aidl/android/hardware/radio/LceStatus.aidl
deleted file mode 100644
index 0d3a27e..0000000
--- a/radio/aidl/android/hardware/radio/LceStatus.aidl
+++ /dev/null
@@ -1,25 +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 LceStatus {
- NOT_SUPPORTED,
- STOPPED,
- ACTIVE,
-}
diff --git a/radio/aidl/android/hardware/radio/LceStatusInfo.aidl b/radio/aidl/android/hardware/radio/LceStatusInfo.aidl
deleted file mode 100644
index e2b35e1..0000000
--- a/radio/aidl/android/hardware/radio/LceStatusInfo.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;
-
-import android.hardware.radio.LceStatus;
-
-@VintfStability
-parcelable LceStatusInfo {
- LceStatus lceStatus;
- /**
- * Actual LCE reporting interval, meaningful only if LceStatus = ACTIVE.
- */
- byte actualIntervalMs;
-}
diff --git a/radio/aidl/android/hardware/radio/LinkAddress.aidl b/radio/aidl/android/hardware/radio/LinkAddress.aidl
deleted file mode 100644
index 6fc12c7..0000000
--- a/radio/aidl/android/hardware/radio/LinkAddress.aidl
+++ /dev/null
@@ -1,51 +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.AddressProperty;
-
-/**
- * Describes a data link address for mobile data connection.
- */
-@VintfStability
-parcelable LinkAddress {
- /**
- * The format is IP address with optional "/" prefix length (The format is defined in RFC-4291
- * section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or "2001:db8::1/64". Typically one
- * IPv4 or one IPv6 or one of each. If the prefix length is absent, then the addresses are
- * assumed to be point to point with IPv4 with prefix length 32 or IPv6 with prefix length 128.
- */
- String address;
- /**
- * The properties of the link address
- */
- AddressProperty properties;
- /**
- * The time, as reported by SystemClock.elapsedRealtime(), when this link address will be or
- * was deprecated. -1 indicates this information is not available. At the time existing
- * connections can still use this address until it expires, but new connections should use the
- * new address. LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never be
- * deprecated.
- */
- long deprecationTime;
- /**
- * The time, as reported by SystemClock.elapsedRealtime(), when this link address will expire
- * and be removed from the interface. -1 indicates this information is not available.
- * LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never expire.
- */
- long expirationTime;
-}
diff --git a/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl b/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl
deleted file mode 100644
index 78ddee2..0000000
--- a/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl
+++ /dev/null
@@ -1,53 +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
-parcelable LinkCapacityEstimate {
- /**
- * Estimated downlink capacity in kbps. In case of a dual connected network, this includes
- * capacity of both primary and secondary. This bandwidth estimate shall be the estimated
- * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP).
- * If the DL Aggregate Maximum Bit Rate is known, this value shall not exceed the DL-AMBR for
- * the Internet PDN connection. This must be filled with 0 if network is not connected.
- */
- int downlinkCapacityKbps;
- /**
- * Estimated uplink capacity in kbps. In case of a dual connected network, this includes
- * capacity of both primary and secondary. This bandwidth estimate shall be the estimated
- * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP).
- * If the UL Aggregate Maximum Bit Rate is known, this value shall not exceed the UL-AMBR for
- * the Internet PDN connection. This must be filled with 0 if network is not connected.
- */
- int uplinkCapacityKbps;
- /**
- * Estimated downlink capacity of secondary carrier in a dual connected NR mode in kbps. This
- * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be
- * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to
- * both primary and secodary in dual connected mode. This must be filled with 0 if secondary is
- * not connected or if modem does not support this feature.
- */
- int secondaryDownlinkCapacityKbps;
- /**
- * Estimated uplink capacity secondary carrier in a dual connected NR mode in kbps. This
- * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be
- * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to
- * both primary and secodary in dual connected mode.This must be filled with 0 if secondary is
- * not connected or if modem does not support this feature.
- */
- int secondaryUplinkCapacityKbps;
-}
diff --git a/radio/aidl/android/hardware/radio/LteSignalStrength.aidl b/radio/aidl/android/hardware/radio/LteSignalStrength.aidl
deleted file mode 100644
index 699925d..0000000
--- a/radio/aidl/android/hardware/radio/LteSignalStrength.aidl
+++ /dev/null
@@ -1,59 +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
-parcelable LteSignalStrength {
- /**
- * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
- */
- int signalStrength;
- /**
- * The current Reference Signal Receive Power in dBm multiplied by -1. Range: 44 to 140 dBm;
- * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.4
- */
- int rsrp;
- /**
- * The current Reference Signal Receive Quality in dB multiplied by -1. Range: 20 to 3 dB;
- * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.7
- */
- int rsrq;
- /**
- * The current reference signal signal-to-noise ratio in 0.1 dB units.
- * Range: -200 to +300 (-200 = -20.0 dB, +300 = 30dB).
- * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 8.1.1
- */
- int rssnr;
- /**
- * The current Channel Quality Indicator. Range: 0 to 15.
- * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 9.2, 9.3, A.4
- */
- int cqi;
- /**
- * Timing advance in micro seconds for a one way trip from cell to device. Approximate distance
- * is calculated using 300m/us * timingAdvance. Range: 0 to 1282 inclusive.
- * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP 36.213 section 4.2.3
- */
- int timingAdvance;
- /**
- * CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
- * The definition of CQI in each table is different.
- * Reference: 3GPP TS 136.213 section 7.2.3.
- * Range [1, 6], INT_MAX means invalid/unreported.
- */
- int cqiTableIndex;
-}
diff --git a/radio/aidl/android/hardware/radio/LteVopsInfo.aidl b/radio/aidl/android/hardware/radio/LteVopsInfo.aidl
deleted file mode 100644
index b487a8f..0000000
--- a/radio/aidl/android/hardware/radio/LteVopsInfo.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.
- */
-
-package android.hardware.radio;
-
-/**
- * Type to define the LTE specific network capabilities for voice over PS including emergency and
- * normal voice calls.
- */
-@VintfStability
-parcelable LteVopsInfo {
- /**
- * This indicates if camped network support VoLTE services. This information is received from
- * LTE network during LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT.
- * Refer 3GPP 24.301 EPS network feature support -> IMS VoPS
- */
- boolean isVopsSupported;
- /**
- * This indicates if camped network support VoLTE emergency bearers. This information is
- * received from LTE network through two sources:
- * a. During LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. Refer
- * 3GPP 24.301 EPS network feature support -> EMC BS
- * b. In case device is not registered on network. Refer 3GPP 25.331 LTE RRC
- * SIB1 : ims-EmergencySupport-r9
- * If device is registered on LTE, then this field indicates (a).
- * In case of limited service on LTE this field indicates (b).
- */
- boolean isEmcBearerSupported;
-}
diff --git a/radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl b/radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl
deleted file mode 100644
index babbd3c..0000000
--- a/radio/aidl/android/hardware/radio/MaxSearchTimeRange.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;
-
-/**
- * Values are in seconds.
- */
-@VintfStability
-@Backing(type="int")
-enum MaxSearchTimeRange {
- MIN = 60,
- MAX = 3600,
-}
diff --git a/radio/aidl/android/hardware/radio/MaybePort.aidl b/radio/aidl/android/hardware/radio/MaybePort.aidl
deleted file mode 100644
index 169f90f..0000000
--- a/radio/aidl/android/hardware/radio/MaybePort.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;
-
-import android.hardware.radio.PortRange;
-
-/**
- * Port is optional, contains either single port or range of ports
- */
-@VintfStability
-union MaybePort {
- boolean noinit;
- PortRange range;
-}
diff --git a/radio/aidl/android/hardware/radio/MvnoType.aidl b/radio/aidl/android/hardware/radio/MvnoType.aidl
deleted file mode 100644
index 0f0df62..0000000
--- a/radio/aidl/android/hardware/radio/MvnoType.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum MvnoType {
- /**
- * None
- */
- NONE,
- /**
- * The matching data is based on IMSI.
- */
- IMSI,
- /**
- * The matching data is based on group id.
- */
- GID,
- /**
- * The matching data is based service provider name.
- */
- SPN,
-}
diff --git a/radio/aidl/android/hardware/radio/NeighboringCell.aidl b/radio/aidl/android/hardware/radio/NeighboringCell.aidl
deleted file mode 100644
index b48a2d4..0000000
--- a/radio/aidl/android/hardware/radio/NeighboringCell.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
-parcelable NeighboringCell {
- /**
- * Combination of LAC and cell ID in 32 bits in GSM. Upper 16 bits is LAC and lower 16 bits is
- * CID (as described in TS 27.005).
- */
- String cid;
- /**
- * Received RSSI in GSM, level index of CPICH Received Signal Code Power in UMTS
- */
- int rssi;
-}
diff --git a/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl
deleted file mode 100644
index 7659b89..0000000
--- a/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl
+++ /dev/null
@@ -1,60 +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.RadioAccessSpecifier;
-import android.hardware.radio.ScanType;
-
-@VintfStability
-parcelable NetworkScanRequest {
- ScanType type;
- /**
- * Time interval in seconds between the completion of one scan and the start of a subsequent
- * scan. Implementations may ignore this field unless the 'type' is 'PERIODIC'.
- * Range: ScanIntervalRange:MIN to ScanIntervalRange:MAX.
- */
- int interval;
- /**
- * Networks with bands/channels to scan.
- * Maximum length of the vector is RadioConst:RADIO_ACCESS_SPECIFIER_MAX_SIZE.
- */
- RadioAccessSpecifier[] specifiers;
- /**
- * Maximum duration of the periodic search (in seconds). If the search lasts maxSearchTime, it
- * must be terminated. Range: MaxSearchTimeRange:MIN to MaxSearchTimeRange:MAX
- */
- int maxSearchTime;
- /**
- * Whether the modem must report incremental results of the network scan to the client.
- * FALSE – Incremental results must not be reported.
- * TRUE – Incremental must be reported.
- */
- boolean incrementalResults;
- /**
- * Indicates the periodicity with which the modem must report incremental results to the client
- * (in seconds). Implementations may ignore this value if the incremental results are not
- * requested. This value must be less than or equal to maxSearchTime.
- * Range: IncrementalResultsPeriodicityRange:MIN to IncrementalResultsPeriodicityRange:MAX
- */
- int incrementalResultsPeriodicity;
- /**
- * Describes the List of PLMN ids (MCC-MNC). If any PLMN of this list is found, search must end
- * at that point and results with all PLMN found until that point should be sent as response.
- * If the list is not sent, search to be completed until end and all PLMNs found to be reported.
- */
- String[] mccMncs;
-}
diff --git a/radio/aidl/android/hardware/radio/NetworkScanResult.aidl b/radio/aidl/android/hardware/radio/NetworkScanResult.aidl
deleted file mode 100644
index c542a47..0000000
--- a/radio/aidl/android/hardware/radio/NetworkScanResult.aidl
+++ /dev/null
@@ -1,37 +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.CellInfo;
-import android.hardware.radio.RadioError;
-import android.hardware.radio.ScanStatus;
-
-@VintfStability
-parcelable NetworkScanResult {
- /**
- * The status of the scan.
- */
- ScanStatus status;
- /**
- * The error code of the incremental result.
- */
- RadioError error;
- /**
- * List of network information as CellInfo.
- */
- CellInfo[] networkInfos;
-}
diff --git a/radio/aidl/android/hardware/radio/NgranBands.aidl b/radio/aidl/android/hardware/radio/NgranBands.aidl
deleted file mode 100644
index 7887011..0000000
--- a/radio/aidl/android/hardware/radio/NgranBands.aidl
+++ /dev/null
@@ -1,84 +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;
-
-/**
- * NGRAN bands up to V16.5.0
- */
-@VintfStability
-@Backing(type="int")
-enum NgranBands {
- /**
- * 3GPP TS 38.101-1, Table 5.2-1: FR1 bands
- */
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_5 = 5,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_12 = 12,
- BAND_14 = 14,
- BAND_18 = 18,
- BAND_20 = 20,
- BAND_25 = 25,
- BAND_26 = 26,
- BAND_28 = 28,
- BAND_29 = 29,
- BAND_30 = 30,
- BAND_34 = 34,
- BAND_38 = 38,
- BAND_39 = 39,
- BAND_40 = 40,
- BAND_41 = 41,
- BAND_46 = 46,
- BAND_48 = 48,
- BAND_50 = 50,
- BAND_51 = 51,
- BAND_53 = 53,
- BAND_65 = 65,
- BAND_66 = 66,
- BAND_70 = 70,
- BAND_71 = 71,
- BAND_74 = 74,
- BAND_75 = 75,
- BAND_76 = 76,
- BAND_77 = 77,
- BAND_78 = 78,
- BAND_79 = 79,
- BAND_80 = 80,
- BAND_81 = 81,
- BAND_82 = 82,
- BAND_83 = 83,
- BAND_84 = 84,
- BAND_86 = 86,
- BAND_89 = 89,
- BAND_90 = 90,
- BAND_91 = 91,
- BAND_92 = 92,
- BAND_93 = 93,
- BAND_94 = 94,
- BAND_95 = 95,
- BAND_96 = 96,
- /**
- * 3GPP TS 38.101-2, Table 5.2-1: FR2 bands
- */
- BAND_257 = 257,
- BAND_258 = 258,
- BAND_260 = 260,
- BAND_261 = 261,
-}
diff --git a/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl b/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl
deleted file mode 100644
index 52bd048..0000000
--- a/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl
+++ /dev/null
@@ -1,40 +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;
-
-/**
- * NR Dual connectivity state
- */
-@VintfStability
-@Backing(type="byte")
-enum NrDualConnectivityState {
- /**
- * Enable NR dual connectivity. Enabled state does not mean dual connectivity is active.
- * It means device is allowed to connect to both primary and secondary.
- */
- ENABLE = 1,
- /**
- * Disable NR dual connectivity. Disabled state does not mean secondary cell is released.
- * Modem will release it only if current bearer is released to avoid radio link failure.
- */
- DISABLE = 2,
- /**
- * Disable NR dual connectivity and force secondary cell to be released if dual connectivity
- * was active. This may result in radio link failure.
- */
- DISABLE_IMMEDIATE = 3,
-}
diff --git a/radio/aidl/android/hardware/radio/NrIndicators.aidl b/radio/aidl/android/hardware/radio/NrIndicators.aidl
deleted file mode 100644
index 2a1dfec..0000000
--- a/radio/aidl/android/hardware/radio/NrIndicators.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.
- */
-
-package android.hardware.radio;
-
-/**
- * The parameters of NR 5G Non-Standalone.
- */
-@VintfStability
-parcelable NrIndicators {
- /**
- * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving
- * cell. True the primary serving cell is LTE cell and the plmn-InfoList-r15 is present in SIB2
- * and at least one bit in this list is true, otherwise this value should be false.
- * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks.
- */
- boolean isEndcAvailable;
- /**
- * True if use of dual connectivity with NR is restricted.
- * Reference: 3GPP TS 24.301 v15.03 section 9.3.3.12A.
- */
- boolean isDcNrRestricted;
- /**
- * True if the bit N is in the PLMN-InfoList-r15 is true and the selected PLMN is present in
- * plmn-IdentityList at position N.
- * Reference: 3GPP TS 36.331 v15.2.2 section 6.3.1 PLMN-InfoList-r15.
- * 3GPP TS 36.331 v15.2.2 section 6.2.2 SystemInformationBlockType1 message.
- */
- boolean isNrAvailable;
-}
diff --git a/radio/aidl/android/hardware/radio/NrQos.aidl b/radio/aidl/android/hardware/radio/NrQos.aidl
deleted file mode 100644
index 3d0278c..0000000
--- a/radio/aidl/android/hardware/radio/NrQos.aidl
+++ /dev/null
@@ -1,40 +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.QosBandwidth;
-
-/**
- * 5G Quality of Service parameters as per 3gpp spec 24.501 sec 9.11.4.12
- */
-@VintfStability
-parcelable NrQos {
- /**
- * 5G QOS Identifier (5QI), see 3GPP TS 24.501 and 23.501. The allowed values are standard
- * values (1-9, 65-68, 69-70, 75, 79-80, 82-85) defined in the spec and operator specific values
- * in the range 128-254.
- */
- int fiveQi;
- QosBandwidth downlink;
- QosBandwidth uplink;
- /**
- * QOS flow identifier of the QOS flow description in the range
- * (QosFlowIdRange::MIN, QosFlowIdRange::MAX)
- */
- byte qfi;
- char averagingWindowMs;
-}
diff --git a/radio/aidl/android/hardware/radio/NrSignalStrength.aidl b/radio/aidl/android/hardware/radio/NrSignalStrength.aidl
deleted file mode 100644
index 40c6c3e..0000000
--- a/radio/aidl/android/hardware/radio/NrSignalStrength.aidl
+++ /dev/null
@@ -1,73 +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
-parcelable NrSignalStrength {
- /**
- * SS reference signal received power, multiplied by -1.
- * Reference: 3GPP TS 38.215.
- * Range [44, 140], INT_MAX means invalid/unreported.
- */
- int ssRsrp;
- /**
- * SS reference signal received quality, multiplied by -1.
- * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10.
- * Range [-20 dB, 43 dB], INT_MAX means invalid/unreported.
- */
- int ssRsrq;
- /**
- * SS signal-to-noise and interference ratio.
- * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
- * Range [-23, 40], INT_MAX means invalid/unreported.
- */
- int ssSinr;
- /**
- * CSI reference signal received power, multiplied by -1.
- * Reference: 3GPP TS 38.215.
- * Range [44, 140], INT_MAX means invalid/unreported.
- */
- int csiRsrp;
- /**
- * CSI reference signal received quality, multiplied by -1.
- * Reference: 3GPP TS 38.215.
- * Range [3, 20], INT_MAX means invalid/unreported.
- */
- int csiRsrq;
- /**
- * CSI signal-to-noise and interference ratio.
- * Reference: 3GPP TS 138.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
- * Range [-23, 40], INT_MAX means invalid/unreported.
- */
- int csiSinr;
- /**
- * CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
- * The definition of CQI in each table is different.
- * Reference: 3GPP TS 138.214 section 5.2.2.1.
- * Range [1, 3], INT_MAX means invalid/unreported.
- */
- int csiCqiTableIndex;
- /**
- * CSI channel quality indicator (CQI) for all subbands. If the CQI report is for the entire
- * wideband, a single CQI index is provided. If the CQI report is for all subbands, one CQI
- * index is provided for each subband, in ascending order of subband index. If CQI is not
- * available, the CQI report is empty.
- * Reference: 3GPP TS 138.214 section 5.2.2.1.
- * Range [0, 15], 0xFF means invalid/unreported.
- */
- byte[] csiCqiReport;
-}
diff --git a/radio/aidl/android/hardware/radio/NrVopsInfo.aidl b/radio/aidl/android/hardware/radio/NrVopsInfo.aidl
deleted file mode 100644
index 4d80f32..0000000
--- a/radio/aidl/android/hardware/radio/NrVopsInfo.aidl
+++ /dev/null
@@ -1,54 +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.EmcIndicator;
-import android.hardware.radio.EmfIndicator;
-import android.hardware.radio.VopsIndicator;
-
-/**
- * Type to define the NR specific network capabilities for voice over PS including emergency and
- * normal voice calls.
- */
-@VintfStability
-parcelable NrVopsInfo {
- /**
- * This indicates if the camped network supports VoNR services, and what kind of services
- * it supports. This information is received from NR network during NR NAS registration
- * procedure through NR REGISTRATION ACCEPT.
- * Refer 3GPP 24.501 EPS 5GS network feature support -> IMS VoPS
- */
- VopsIndicator vopsSupported;
- /**
- * This indicates if the camped network supports VoNR emergency service. This information
- * is received from NR network through two sources:
- * a. During NR NAS registration procedure through NR REGISTRATION ACCEPT.
- * Refer 3GPP 24.501 EPS 5GS network feature support -> EMC
- * b. In case the device is not registered on the network.
- * Refer 3GPP 38.331 SIB1 : ims-EmergencySupport
- * If device is registered on NR, then this field indicates whether the cell
- * supports IMS emergency bearer services for UEs in limited service mode.
- */
- EmcIndicator emcSupported;
- /**
- * This indicates if the camped network supports VoNR emergency service fallback. This
- * information is received from NR network during NR NAS registration procedure through
- * NR REGISTRATION ACCEPT.
- * Refer 3GPP 24.501 EPS 5GS network feature support -> EMF
- */
- EmfIndicator emfSupported;
-}
diff --git a/radio/aidl/android/hardware/radio/NvItem.aidl b/radio/aidl/android/hardware/radio/NvItem.aidl
deleted file mode 100644
index 0d4f79f..0000000
--- a/radio/aidl/android/hardware/radio/NvItem.aidl
+++ /dev/null
@@ -1,191 +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 NvItem {
- /**
- * CDMA radio and account information (items 1-10)
- * CDMA MEID (hex)
- */
- CDMA_MEID = 1,
- /**
- * CDMA MIN (MSID)
- */
- CDMA_MIN = 2,
- /**
- * CDMA MDN
- */
- CDMA_MDN = 3,
- /**
- * CDMA access overload control
- */
- CDMA_ACCOLC = 4,
- /**
- * Carrier device provisioning (items 11-30)
- * Device MSL
- */
- DEVICE_MSL = 11,
- /**
- * RTN reconditioned status
- */
- RTN_RECONDITIONED_STATUS = 12,
- /**
- * RTN activation date
- */
- RTN_ACTIVATION_DATE = 13,
- /**
- * RTN life timer
- */
- RTN_LIFE_TIMER = 14,
- /**
- * RTN life calls
- */
- RTN_LIFE_CALLS = 15,
- /**
- * RTN life data TX
- */
- RTN_LIFE_DATA_TX = 16,
- /**
- * RTN life data RX
- */
- RTN_LIFE_DATA_RX = 17,
- /**
- * HFA in progress
- */
- OMADM_HFA_LEVEL = 18,
- /**
- * Mobile IP profile information (items 31-50)
- * NAI realm
- */
- MIP_PROFILE_NAI = 31,
- /**
- * MIP home address
- */
- MIP_PROFILE_HOME_ADDRESS = 32,
- /**
- * AAA auth
- */
- MIP_PROFILE_AAA_AUTH = 33,
- /**
- * HA auth
- */
- MIP_PROFILE_HA_AUTH = 34,
- /**
- * Primary HA address
- */
- MIP_PROFILE_PRI_HA_ADDR = 35,
- /**
- * Secondary HA address
- */
- MIP_PROFILE_SEC_HA_ADDR = 36,
- /**
- * Reverse TUN preference
- */
- MIP_PROFILE_REV_TUN_PREF = 37,
- /**
- * HA SPI
- */
- MIP_PROFILE_HA_SPI = 38,
- /**
- * AAA SPI
- */
- MIP_PROFILE_AAA_SPI = 39,
- /**
- * HA shared secret
- */
- MIP_PROFILE_MN_HA_SS = 40,
- /**
- * AAA shared secret
- */
- MIP_PROFILE_MN_AAA_SS = 41,
- /**
- * CDMA network and band config (items 51-70)
- * CDMA PRL version
- */
- CDMA_PRL_VERSION = 51,
- /**
- * CDMA band class 10
- */
- CDMA_BC10 = 52,
- /**
- * CDMA band class 14
- */
- CDMA_BC14 = 53,
- /**
- * CDMA SO68
- */
- CDMA_SO68 = 54,
- /**
- * CDMA SO73 COP0
- */
- CDMA_SO73_COP0 = 55,
- /**
- * CDMA SO73 COP1-7
- */
- CDMA_SO73_COP1TO7 = 56,
- /**
- * CDMA 1X Advanced enabled
- */
- CDMA_1X_ADVANCED_ENABLED = 57,
- /**
- * CDMA eHRPD enabled
- */
- CDMA_EHRPD_ENABLED = 58,
- /**
- * CDMA eHRPD forced
- */
- CDMA_EHRPD_FORCED = 59,
- /**
- * LTE network and band config (items 71-90)
- * LTE band 25 enabled
- */
- LTE_BAND_ENABLE_25 = 71,
- /**
- * LTE band 26 enabled
- */
- LTE_BAND_ENABLE_26 = 72,
- /**
- * LTE band 41 enabled
- */
- LTE_BAND_ENABLE_41 = 73,
- /**
- * LTE band 25 scan priority
- */
- LTE_SCAN_PRIORITY_25 = 74,
- /**
- * LTE band 26 scan priority
- */
- LTE_SCAN_PRIORITY_26 = 75,
- /**
- * LTE band 41 scan priority
- */
- LTE_SCAN_PRIORITY_41 = 76,
- /**
- * LTE hidden band 25 priority
- */
- LTE_HIDDEN_BAND_PRIORITY_25 = 77,
- /**
- * LTE hidden band 26 priority
- */
- LTE_HIDDEN_BAND_PRIORITY_26 = 78,
- /**
- * LTE hidden band 41 priority
- */
- LTE_HIDDEN_BAND_PRIORITY_41 = 79,
-}
diff --git a/radio/aidl/android/hardware/radio/NvWriteItem.aidl b/radio/aidl/android/hardware/radio/NvWriteItem.aidl
deleted file mode 100644
index f306161..0000000
--- a/radio/aidl/android/hardware/radio/NvWriteItem.aidl
+++ /dev/null
@@ -1,25 +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.NvItem;
-
-@VintfStability
-parcelable NvWriteItem {
- NvItem itemId;
- String value;
-}
diff --git a/radio/aidl/android/hardware/radio/OperatorInfo.aidl b/radio/aidl/android/hardware/radio/OperatorInfo.aidl
deleted file mode 100644
index 4475ff5..0000000
--- a/radio/aidl/android/hardware/radio/OperatorInfo.aidl
+++ /dev/null
@@ -1,36 +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.OperatorStatus;
-
-@VintfStability
-parcelable OperatorInfo {
- /**
- * Long alpha ONS or EONS
- */
- String alphaLong;
- /**
- * Short alpha ONS or EONS
- */
- String alphaShort;
- /**
- * 5 or 6 digit numeric code (MCC + MNC)
- */
- String operatorNumeric;
- OperatorStatus status;
-}
diff --git a/radio/aidl/android/hardware/radio/OperatorStatus.aidl b/radio/aidl/android/hardware/radio/OperatorStatus.aidl
deleted file mode 100644
index fcc31ec..0000000
--- a/radio/aidl/android/hardware/radio/OperatorStatus.aidl
+++ /dev/null
@@ -1,26 +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 OperatorStatus {
- UNKNOWN,
- AVAILABLE,
- CURRENT,
- FORBIDDEN,
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl b/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl
deleted file mode 100644
index f785693..0000000
--- a/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl
+++ /dev/null
@@ -1,31 +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.ClosedSubscriberGroupInfo;
-
-@VintfStability
-union OptionalCsgInfo {
- /**
- * If no CSG info is provided by the cell, then this structure shall be present.
- */
- boolean noinit;
- /**
- * If CSG info is provided by the cell, this structure shall be present.
- */
- ClosedSubscriberGroupInfo csgInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalDnn.aidl b/radio/aidl/android/hardware/radio/OptionalDnn.aidl
deleted file mode 100644
index 1c38a71..0000000
--- a/radio/aidl/android/hardware/radio/OptionalDnn.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;
-
-/**
- * This safe_union represents an optional DNN. DNN stands for Data Network Name and represents
- * an APN as defined in 3GPP TS 23.003.
- */
-@VintfStability
-union OptionalDnn {
- boolean noinit;
- String value;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalOsAppId.aidl b/radio/aidl/android/hardware/radio/OptionalOsAppId.aidl
deleted file mode 100644
index 4614601..0000000
--- a/radio/aidl/android/hardware/radio/OptionalOsAppId.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;
-
-import android.hardware.radio.OsAppId;
-
-/**
- * This safe_union represents an optional OsAppId.
- */
-@VintfStability
-union OptionalOsAppId {
- boolean noinit;
- OsAppId value;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl b/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl
deleted file mode 100644
index 7e51b83..0000000
--- a/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.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;
-
-import android.hardware.radio.PdpProtocolType;
-
-/**
- * This safe_union represents an optional PdpProtocolType.
- */
-@VintfStability
-union OptionalPdpProtocolType {
- boolean noinit;
- PdpProtocolType value;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl b/radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl
deleted file mode 100644
index cfc309c..0000000
--- a/radio/aidl/android/hardware/radio/OptionalSliceInfo.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;
-
-import android.hardware.radio.SliceInfo;
-
-/**
- * This safe_union represents an optional slice info.
- */
-@VintfStability
-union OptionalSliceInfo {
- boolean noinit;
- SliceInfo value;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalSscMode.aidl b/radio/aidl/android/hardware/radio/OptionalSscMode.aidl
deleted file mode 100644
index 22933b9..0000000
--- a/radio/aidl/android/hardware/radio/OptionalSscMode.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;
-
-import android.hardware.radio.SscMode;
-
-/**
- * This safe_union represents an optional SscMode.
- */
-@VintfStability
-union OptionalSscMode {
- boolean noinit;
- SscMode value;
-}
diff --git a/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl
deleted file mode 100644
index b524cb3..0000000
--- a/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.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;
-
-import android.hardware.radio.TrafficDescriptor;
-
-/**
- * This safe_union represents an optional TrafficDescriptor.
- */
-@VintfStability
-union OptionalTrafficDescriptor {
- boolean noinit;
- TrafficDescriptor value;
-}
diff --git a/radio/aidl/android/hardware/radio/OsAppId.aidl b/radio/aidl/android/hardware/radio/OsAppId.aidl
deleted file mode 100644
index 57dfc80..0000000
--- a/radio/aidl/android/hardware/radio/OsAppId.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;
-
-/**
- * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2
- */
-@VintfStability
-parcelable OsAppId {
- /**
- * Byte array representing OsId + OsAppId. The minimum length of the array is 18 and maximum
- * length is 272 (16 bytes for OsId + 1 byte for OsAppId length + up to 255 bytes for OsAppId).
- */
- byte[] osAppId;
-}
diff --git a/radio/aidl/android/hardware/radio/P2Constant.aidl b/radio/aidl/android/hardware/radio/P2Constant.aidl
deleted file mode 100644
index d40a446..0000000
--- a/radio/aidl/android/hardware/radio/P2Constant.aidl
+++ /dev/null
@@ -1,26 +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 P2Constant {
- /**
- * No P2 value is provided
- */
- NO_P2 = -1,
-}
diff --git a/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl b/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl
deleted file mode 100644
index 44ed4d9..0000000
--- a/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl
+++ /dev/null
@@ -1,44 +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;
-
-/**
- * Enum representing the status of the received PB indication.
- */
-@VintfStability
-@Backing(type="byte")
-enum PbReceivedStatus {
- /**
- * Indicates that retrieval is fine.
- */
- PB_RECEIVED_OK = 1,
- /**
- * Indicates that an error happened. In general, the process can't be restored soon.
- */
- PB_RECEIVED_ERROR = 2,
- /**
- * Indicates that the process is interrupted. In this case, the modem might need resources and
- * interrupt the current process, or it is timed out to receive all indications, and client can
- * retry soon.
- */
- PB_RECEIVED_ABORT = 3,
- /**
- * Indicates that the whole process is finished with a full chunk of phonebook data, meaning
- * this is the last indication with the remaining data.
- */
- PB_RECEIVED_FINAL = 4,
-}
diff --git a/radio/aidl/android/hardware/radio/PcoDataInfo.aidl b/radio/aidl/android/hardware/radio/PcoDataInfo.aidl
deleted file mode 100644
index 7b600e6..0000000
--- a/radio/aidl/android/hardware/radio/PcoDataInfo.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-parcelable PcoDataInfo {
- /**
- * Context ID, uniquely identifies this call
- */
- int cid;
- /**
- * One of the PDP_type values in TS 27.007 section 10.1.1. For example, "IP", "IPV6", "IPV4V6"
- */
- String bearerProto;
- /**
- * The protocol ID for this box. Note that only IDs from FF00H - FFFFH are accepted.
- * If more than one is included from the network, multiple calls must be made to send
- * all of them.
- */
- int pcoId;
- /**
- * Carrier-defined content. It is binary, opaque and loosely defined in LTE Layer 3 spec 24.008
- */
- byte[] contents;
-}
diff --git a/radio/aidl/android/hardware/radio/PdpProtocolType.aidl b/radio/aidl/android/hardware/radio/PdpProtocolType.aidl
deleted file mode 100644
index e74b1e3..0000000
--- a/radio/aidl/android/hardware/radio/PdpProtocolType.aidl
+++ /dev/null
@@ -1,53 +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;
-
-/**
- * Specifies the type of packet data protocol which is defined in TS 27.007 section 10.1.1.
- */
-@VintfStability
-@Backing(type="int")
-enum PdpProtocolType {
- /**
- * Unknown protocol
- */
- UNKNOWN = -1,
- /**
- * Internet protocol
- */
- IP = 0,
- /**
- * Internet protocol, version 6
- */
- IPV6 = 1,
- /**
- * Virtual PDP type introduced to handle dual IP stack UE capability.
- */
- IPV4V6 = 2,
- /**
- * Point to point protocol
- */
- PPP = 3,
- /**
- * Transfer of Non-IP data to external packet data network
- */
- NON_IP = 4,
- /**
- * Transfer of Unstructured data to the Data Network via N6
- */
- UNSTRUCTURED = 5,
-}
diff --git a/radio/aidl/android/hardware/radio/PersoSubstate.aidl b/radio/aidl/android/hardware/radio/PersoSubstate.aidl
deleted file mode 100644
index 93b2af5..0000000
--- a/radio/aidl/android/hardware/radio/PersoSubstate.aidl
+++ /dev/null
@@ -1,98 +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;
-
-/**
- * Additional personalization categories in addition to those specified in 3GPP TS 22.022 and
- * 3GPP2 C.S0068-0.
- */
-@VintfStability
-@Backing(type="int")
-enum PersoSubstate {
- /**
- * Initial state
- */
- UNKNOWN,
- /**
- * In between each lock transition
- */
- IN_PROGRESS,
- /**
- * When either SIM or RUIM Perso is finished since each app must only have 1 active perso
- * involved.
- */
- READY,
- SIM_NETWORK,
- SIM_NETWORK_SUBSET,
- SIM_CORPORATE,
- SIM_SERVICE_PROVIDER,
- SIM_SIM,
- /**
- * The corresponding perso lock is blocked
- */
- SIM_NETWORK_PUK,
- SIM_NETWORK_SUBSET_PUK,
- SIM_CORPORATE_PUK,
- SIM_SERVICE_PROVIDER_PUK,
- SIM_SIM_PUK,
- RUIM_NETWORK1,
- RUIM_NETWORK2,
- RUIM_HRPD,
- RUIM_CORPORATE,
- RUIM_SERVICE_PROVIDER,
- RUIM_RUIM,
- /**
- * The corresponding perso lock is blocked
- */
- RUIM_NETWORK1_PUK,
- RUIM_NETWORK2_PUK,
- RUIM_HRPD_PUK,
- RUIM_CORPORATE_PUK,
- RUIM_SERVICE_PROVIDER_PUK,
- RUIM_RUIM_PUK,
- /**
- * The device is personalized using the content of the Service Provider Name (SPN) in the SIM
- * card.
- */
- SIM_SPN,
- SIM_SPN_PUK,
- /**
- * Service Provider and Equivalent Home PLMN. The device is personalized using both the content
- * of the GID1 (equivalent to service provider personalization) and the content of the
- * Equivalent Home PLMN (EHPLMN) in the SIM card. If the GID1 in the SIM is absent, then just
- * the content of the Equivalent Home PLMN is matched.
- */
- SIM_SP_EHPLMN,
- SIM_SP_EHPLMN_PUK,
- /**
- * Device is personalized using the first digits of the ICCID of the SIM card.
- */
- SIM_ICCID,
- SIM_ICCID_PUK,
- /**
- * Device is personalized using the content of the IMPI in the ISIM.
- */
- SIM_IMPI,
- SIM_IMPI_PUK,
- /**
- * Network Subset and Service Provider. Device is personalized using both the content of GID1
- * (equivalent to service provider personalization) and the first digits of the IMSI (equivalent
- * to network subset personalization).
- */
- SIM_NS_SP,
- SIM_NS_SP_PUK,
-}
diff --git a/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl b/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl
deleted file mode 100644
index 5f5f1b8..0000000
--- a/radio/aidl/android/hardware/radio/PhoneRestrictedState.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum PhoneRestrictedState {
- /**
- * No restriction at all including voice/SMS/USSD/SS/AV64 and packet data.
- */
- NONE = 0x00,
- /**
- * Block emergency call due to restriction. But allow all normal voice/SMS/USSD/SS/AV64.
- */
- CS_EMERGENCY = 0x01,
- /**
- * Block all normal voice/SMS/USSD/SS/AV64 due to restriction. Only Emergency call allowed.
- */
- CS_NORMAL = 0x02,
- /**
- * Block all voice/SMS/USSD/SS/AV64 including emergency call due to restriction.
- */
- CS_ALL = 0x04,
- /**
- * Block packet data access due to restriction.
- */
- PS_ALL = 0x10,
-}
diff --git a/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl b/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl
deleted file mode 100644
index c141411..0000000
--- a/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl
+++ /dev/null
@@ -1,61 +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
-parcelable PhonebookCapacity {
- /**
- * Maximum number of ADN records possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxAdnRecords;
- /**
- * Used ADN records in the SIM phonebook. Needs to be non-negative.
- */
- int usedAdnRecords;
- /**
- * Maximum email records possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxEmailRecords;
- /**
- * Used email records in the SIM phonebook. Needs to be non-negative.
- */
- int usedEmailRecords;
- /**
- * Maximum additional number records possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxAdditionalNumberRecords;
- /**
- * Used additional number records in the SIM phonebook. Needs to be non-negative.
- */
- int usedAdditionalNumberRecords;
- /**
- * Maximum name length possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxNameLen;
- /**
- * Maximum number length possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxNumberLen;
- /**
- * Maximum email length possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxEmailLen;
- /**
- * Maximum additional number length possible in the SIM phonebook. Needs to be non-negative.
- */
- int maxAdditionalNumberLen;
-}
diff --git a/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl b/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl
deleted file mode 100644
index eb0c880..0000000
--- a/radio/aidl/android/hardware/radio/PhonebookRecordInfo.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.
- */
-
-package android.hardware.radio;
-
-/**
- * Phonebook-record-information specified by EF_ADN (Abbreviated dialing numbers) record of SIM
- * as per 3GPP spec 31.102 v15 Section-4.4.2.3.
- */
-@VintfStability
-parcelable PhonebookRecordInfo {
- /**
- * Record index. 0 is used to insert a record
- */
- int recordId;
- /**
- * Alpha identifier, empty string if no value
- */
- String name;
- /**
- * Dialling number, empty string if no value
- */
- String number;
- /**
- * Email addresses
- */
- String[] emails;
- /**
- * Additional numbers
- */
- String[] additionalNumbers;
-}
diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl b/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl
deleted file mode 100644
index 05b31e5..0000000
--- a/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl
+++ /dev/null
@@ -1,68 +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.CellConnectionStatus;
-import android.hardware.radio.PhysicalChannelConfigBand;
-import android.hardware.radio.RadioTechnology;
-
-@VintfStability
-parcelable PhysicalChannelConfig {
- /**
- * Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING
- */
- CellConnectionStatus status;
- /**
- * The radio technology for this physical channel
- */
- RadioTechnology rat;
- /**
- * Downlink Absolute Radio Frequency Channel Number
- */
- int downlinkChannelNumber;
- /**
- * Uplink Absolute Radio Frequency Channel Number
- */
- int uplinkChannelNumber;
- /**
- * Downlink cell bandwidth, in kHz
- */
- int cellBandwidthDownlinkKhz;
- /**
- * Uplink cell bandwidth, in kHz
- */
- int cellBandwidthUplinkKhz;
- /**
- * A list of data calls mapped to this physical channel. The context id must match the cid of
- * SetupDataCallResult. An empty list means the physical channel has no data call mapped to it.
- */
- int[] contextIds;
- /**
- * The physical cell identifier for this cell.
- * In UTRAN, this value is primary scrambling code. The range is [0, 511].
- * Reference: 3GPP TS 25.213 section 5.2.2.
- * In EUTRAN, this value is physical layer cell identity. The range is [0, 503].
- * Reference: 3GPP TS 36.211 section 6.11.
- * In NGRAN, this value is physical layer cell identity. The range is [0, 1007].
- * Reference: 3GPP TS 38.211 section 7.4.2.1.
- */
- int physicalCellId;
- /**
- * The frequency band to scan.
- */
- PhysicalChannelConfigBand band;
-}
diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl b/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl
deleted file mode 100644
index 953b1c4..0000000
--- a/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.EutranBands;
-import android.hardware.radio.GeranBands;
-import android.hardware.radio.NgranBands;
-import android.hardware.radio.UtranBands;
-
-@VintfStability
-union PhysicalChannelConfigBand {
- boolean noinit;
- /**
- * Valid only if radioAccessNetwork = GERAN.
- */
- GeranBands geranBand;
- /**
- * Valid only if radioAccessNetwork = UTRAN.
- */
- UtranBands utranBand;
- /**
- * Valid only if radioAccessNetwork = EUTRAN.
- */
- EutranBands eutranBand;
- /**
- * Valid only if radioAccessNetwork = NGRAN.
- */
- NgranBands ngranBand;
-}
diff --git a/radio/aidl/android/hardware/radio/PinState.aidl b/radio/aidl/android/hardware/radio/PinState.aidl
deleted file mode 100644
index cb42ff2..0000000
--- a/radio/aidl/android/hardware/radio/PinState.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 PinState {
- UNKNOWN,
- ENABLED_NOT_VERIFIED,
- ENABLED_VERIFIED,
- DISABLED,
- ENABLED_BLOCKED,
- ENABLED_PERM_BLOCKED,
-}
diff --git a/radio/aidl/android/hardware/radio/PortRange.aidl b/radio/aidl/android/hardware/radio/PortRange.aidl
deleted file mode 100644
index 932d54a..0000000
--- a/radio/aidl/android/hardware/radio/PortRange.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;
-
-/**
- * Defines range of ports. start and end are the first and last port numbers (inclusive) in the
- * range. Both start and end are in QosPortRange.MIN to QosPortRange.MAX range. A single port shall
- * be represented by the same start and end value.
- */
-@VintfStability
-parcelable PortRange {
- int start;
- int end;
-}
diff --git a/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl b/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl
deleted file mode 100644
index 7ca38c6..0000000
--- a/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl
+++ /dev/null
@@ -1,114 +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 PreferredNetworkType {
- /**
- * GSM/WCDMA (WCDMA preferred)
- */
- GSM_WCDMA,
- /**
- * GSM only
- */
- GSM_ONLY,
- /**
- * WCDMA
- */
- WCDMA,
- /**
- * GSM/WCDMA (auto mode, according to PRL)
- */
- GSM_WCDMA_AUTO,
- /**
- * CDMA and EvDo (auto mode, according to PRL)
- */
- CDMA_EVDO_AUTO,
- /**
- * CDMA only
- */
- CDMA_ONLY,
- /**
- * EvDo only
- */
- EVDO_ONLY,
- /**
- * GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
- */
- GSM_WCDMA_CDMA_EVDO_AUTO,
- /**
- * LTE, CDMA and EvDo
- */
- LTE_CDMA_EVDO,
- /**
- * LTE, GSM/WCDMA
- */
- LTE_GSM_WCDMA,
- /**
- * LTE, CDMA, EvDo, GSM/WCDMA
- */
- LTE_CMDA_EVDO_GSM_WCDMA,
- /**
- * LTE only
- */
- LTE_ONLY,
- /**
- * LTE/WCDMA only
- */
- LTE_WCDMA,
- /**
- * TD-SCDMA only
- */
- TD_SCDMA_ONLY,
- /**
- * TD-SCDMA and WCDMA
- */
- TD_SCDMA_WCDMA,
- /**
- * TD-SCDMA and LTE
- */
- TD_SCDMA_LTE,
- /**
- * TD-SCDMA and GSM
- */
- TD_SCDMA_GSM,
- /**
- * TD-SCDMA,GSM and LTE
- */
- TD_SCDMA_GSM_LTE,
- /**
- * TD-SCDMA, GSM/WCDMA
- */
- TD_SCDMA_GSM_WCDMA,
- /**
- * TD-SCDMA, WCDMA and LTE
- */
- TD_SCDMA_WCDMA_LTE,
- /**
- * TD-SCDMA, GSM/WCDMA and LTE
- */
- TD_SCDMA_GSM_WCDMA_LTE,
- /**
- * TD-SCDMA, GSM/WCDMA, CDMA and EvDo
- */
- TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO,
- /**
- * TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA
- */
- TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA,
-}
diff --git a/radio/aidl/android/hardware/radio/PrlIndicator.aidl b/radio/aidl/android/hardware/radio/PrlIndicator.aidl
deleted file mode 100644
index acd870e..0000000
--- a/radio/aidl/android/hardware/radio/PrlIndicator.aidl
+++ /dev/null
@@ -1,25 +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 PrlIndicator {
- NOT_REGISTERED = -1,
- NOT_IN_PRL = 0,
- IN_PRL = 1,
-}
diff --git a/radio/aidl/android/hardware/radio/PublicKeyType.aidl b/radio/aidl/android/hardware/radio/PublicKeyType.aidl
deleted file mode 100644
index c1babc4..0000000
--- a/radio/aidl/android/hardware/radio/PublicKeyType.aidl
+++ /dev/null
@@ -1,33 +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;
-
-/**
- * Public key type from carrier certificate.
- */
-@VintfStability
-@Backing(type="byte")
-enum PublicKeyType {
- /**
- * Key type to be used for ePDG
- */
- EPDG = 1,
- /**
- * Key type to be used for WLAN
- */
- WLAN = 2,
-}
diff --git a/radio/aidl/android/hardware/radio/Qos.aidl b/radio/aidl/android/hardware/radio/Qos.aidl
deleted file mode 100644
index 0f84ad1..0000000
--- a/radio/aidl/android/hardware/radio/Qos.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;
-
-import android.hardware.radio.EpsQos;
-import android.hardware.radio.NrQos;
-
-/**
- * EPS or NR QOS parameters
- */
-@VintfStability
-union Qos {
- boolean noinit;
- EpsQos eps;
- NrQos nr;
-}
diff --git a/radio/aidl/android/hardware/radio/QosBandwidth.aidl b/radio/aidl/android/hardware/radio/QosBandwidth.aidl
deleted file mode 100644
index 344b796..0000000
--- a/radio/aidl/android/hardware/radio/QosBandwidth.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;
-
-@VintfStability
-parcelable QosBandwidth {
- /**
- * Maximum bit rate possible on the bearer
- */
- int maxBitrateKbps;
- /**
- * Minimum bit rate that is guaranteed to be provided by the network
- */
- int guaranteedBitrateKbps;
-}
diff --git a/radio/aidl/android/hardware/radio/QosFilter.aidl b/radio/aidl/android/hardware/radio/QosFilter.aidl
deleted file mode 100644
index 717944a..0000000
--- a/radio/aidl/android/hardware/radio/QosFilter.aidl
+++ /dev/null
@@ -1,69 +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.MaybePort;
-import android.hardware.radio.QosFilterDirection;
-import android.hardware.radio.QosFilterIpsecSpi;
-import android.hardware.radio.QosFilterIpv6FlowLabel;
-import android.hardware.radio.QosFilterTypeOfService;
-import android.hardware.radio.QosProtocol;
-
-/**
- * See 3gpp 24.008 10.5.6.12 and 3gpp 24.501 9.11.4.13
- */
-@VintfStability
-parcelable QosFilter {
- /**
- * Local and remote IP addresses, typically one IPv4 or one IPv6 or one of each. Addresses could
- * be with optional "/" prefix length, e.g.,"192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
- * If the prefix length is absent the addresses are assumed to be point to point with IPv4
- * having a prefix length of 32 and IPv6 128.
- */
- String[] localAddresses;
- String[] remoteAddresses;
- /**
- * Local and remote port/ranges
- */
- MaybePort localPort;
- MaybePort remotePort;
- /**
- * QoS protocol
- */
- QosProtocol protocol;
- /**
- * Type of service value or mask as defined in RFC 1349
- */
- QosFilterTypeOfService tos;
- /**
- * IPv6 flow label as defined in RFC 6437
- */
- QosFilterIpv6FlowLabel flowLabel;
- /**
- * IPSec security parameter index
- */
- QosFilterIpsecSpi spi;
- /**
- * Filter direction
- */
- QosFilterDirection direction;
- /**
- * Specifies the order in which the filter needs to be matched. A lower numerical (positive)
- * value has a higher precedence. Set -1 when unspecified.
- */
- int precedence;
-}
diff --git a/radio/aidl/android/hardware/radio/QosFilterDirection.aidl b/radio/aidl/android/hardware/radio/QosFilterDirection.aidl
deleted file mode 100644
index 7693c8c..0000000
--- a/radio/aidl/android/hardware/radio/QosFilterDirection.aidl
+++ /dev/null
@@ -1,25 +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="byte")
-enum QosFilterDirection {
- DOWNLINK,
- UPLINK,
- BIDIRECTIONAL,
-}
diff --git a/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl b/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl
deleted file mode 100644
index e213402..0000000
--- a/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl
+++ /dev/null
@@ -1,23 +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
-union QosFilterIpsecSpi {
- boolean noinit;
- int value;
-}
diff --git a/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl b/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl
deleted file mode 100644
index d5c5a6c..0000000
--- a/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl
+++ /dev/null
@@ -1,23 +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
-union QosFilterIpv6FlowLabel {
- boolean noinit;
- int value;
-}
diff --git a/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl b/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl
deleted file mode 100644
index b91323c..0000000
--- a/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl
+++ /dev/null
@@ -1,23 +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
-union QosFilterTypeOfService {
- boolean noinit;
- byte value;
-}
diff --git a/radio/aidl/android/hardware/radio/QosFlowIdRange.aidl b/radio/aidl/android/hardware/radio/QosFlowIdRange.aidl
deleted file mode 100644
index df2398b..0000000
--- a/radio/aidl/android/hardware/radio/QosFlowIdRange.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;
-
-/**
- * Allowed values for 5G QOS flow identifier
- */
-@VintfStability
-@Backing(type="byte")
-enum QosFlowIdRange {
- MIN = 1,
- MAX = 63,
-}
diff --git a/radio/aidl/android/hardware/radio/QosPortRange.aidl b/radio/aidl/android/hardware/radio/QosPortRange.aidl
deleted file mode 100644
index f3df19f..0000000
--- a/radio/aidl/android/hardware/radio/QosPortRange.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;
-
-/**
- * Allowed port numbers
- */
-@VintfStability
-@Backing(type="int")
-enum QosPortRange {
- MIN = 20,
- MAX = 65535,
-}
diff --git a/radio/aidl/android/hardware/radio/QosProtocol.aidl b/radio/aidl/android/hardware/radio/QosProtocol.aidl
deleted file mode 100644
index 05cd670..0000000
--- a/radio/aidl/android/hardware/radio/QosProtocol.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.
- */
-
-package android.hardware.radio;
-
-/**
- * Next header protocol numbers defined by IANA, RFC 5237
- */
-@VintfStability
-@Backing(type="byte")
-enum QosProtocol {
- /**
- * No protocol specified
- */
- UNSPECIFIED = -1,
- /**
- * Transmission Control Protocol
- */
- TCP = 6,
- /**
- * User Datagram Protocol
- */
- UDP = 17,
- /**
- * Encapsulating Security Payload Protocol
- */
- ESP = 50,
- /**
- * Authentication Header
- */
- AH = 51,
-}
diff --git a/radio/aidl/android/hardware/radio/QosSession.aidl b/radio/aidl/android/hardware/radio/QosSession.aidl
deleted file mode 100644
index 2620ac5..0000000
--- a/radio/aidl/android/hardware/radio/QosSession.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.Qos;
-import android.hardware.radio.QosFilter;
-
-/**
- * QOS session associated with a dedicated bearer
- */
-@VintfStability
-parcelable QosSession {
- /**
- * Unique ID of the QoS session within the data call
- */
- int qosSessionId;
- /**
- * QOS attributes
- */
- Qos qos;
- /**
- * List of QOS filters associated with this session
- */
- QosFilter[] qosFilters;
-}
diff --git a/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl b/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl
deleted file mode 100644
index 3757233..0000000
--- a/radio/aidl/android/hardware/radio/RadioAccessNetworks.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum RadioAccessNetworks {
- UNKNOWN,
- /**
- * GSM EDGE Radio Access Network
- */
- GERAN,
- /**
- * Universal Terrestrial Radio Access Network
- */
- UTRAN,
- /**
- * Evolved Universal Terrestrial Radio Access Network
- */
- EUTRAN,
- /**
- * Next Generation Radio Access Network
- */
- NGRAN,
- /**
- * CDMA 2000 Network
- */
- CDMA2000,
-}
diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl b/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl
deleted file mode 100644
index 889124a..0000000
--- a/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl
+++ /dev/null
@@ -1,37 +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.RadioAccessNetworks;
-import android.hardware.radio.RadioAccessSpecifierBands;
-
-@VintfStability
-parcelable RadioAccessSpecifier {
- /**
- * The type of network to scan.
- */
- RadioAccessNetworks radioAccessNetwork;
- /**
- * The frequency bands to scan. Maximum length of the vector is 8.
- */
- RadioAccessSpecifierBands bands;
- /**
- * The radio channels to scan as defined in 3GPP TS 25.101 and 36.101.
- * Maximum length of the vector is 32.
- */
- int[] channels;
-}
diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl b/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl
deleted file mode 100644
index dde4626..0000000
--- a/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.EutranBands;
-import android.hardware.radio.GeranBands;
-import android.hardware.radio.NgranBands;
-import android.hardware.radio.UtranBands;
-
-@VintfStability
-union RadioAccessSpecifierBands {
- boolean noinit;
- /**
- * Valid only if radioAccessNetwork = GERAN.
- */
- GeranBands[] geranBands;
- /**
- * Valid only if radioAccessNetwork = UTRAN.
- */
- UtranBands[] utranBands;
- /**
- * Valid only if radioAccessNetwork = EUTRAN.
- */
- EutranBands[] eutranBands;
- /**
- * Valid only if radioAccessNetwork = NGRAN.
- */
- NgranBands[] ngranBands;
-}
diff --git a/radio/aidl/android/hardware/radio/RadioBandMode.aidl b/radio/aidl/android/hardware/radio/RadioBandMode.aidl
deleted file mode 100644
index e6064c4..0000000
--- a/radio/aidl/android/hardware/radio/RadioBandMode.aidl
+++ /dev/null
@@ -1,98 +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 RadioBandMode {
- /**
- * "Unspecified" (selected by baseband automatically)
- */
- BAND_MODE_UNSPECIFIED,
- /**
- * "EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)
- */
- BAND_MODE_EURO,
- /**
- * "US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900)
- */
- BAND_MODE_USA,
- /**
- * "JPN band" (WCDMA-800 / WCDMA-IMT-2000)
- */
- BAND_MODE_JPN,
- /**
- * "AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000)
- */
- BAND_MODE_AUS,
- /**
- * "AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850)
- */
- BAND_MODE_AUS_2,
- /**
- * "Cellular" (800-MHz Band)
- */
- BAND_MODE_CELL_800,
- /**
- * "PCS" (1900-MHz Band)
- */
- BAND_MODE_PCS,
- /**
- * "Band Class 3" (JTACS Band)
- */
- BAND_MODE_JTACS,
- /**
- * "Band Class 4" (Korean PCS Band)
- */
- BAND_MODE_KOREA_PCS,
- /**
- * "Band Class 5" (450-MHz Band)
- */
- BAND_MODE_5_450M,
- /**
- * "Band Class 6" (2-GMHz IMT2000 Band)
- */
- BAND_MODE_IMT2000,
- /**
- * "Band Class 7" (Upper 700-MHz Band)
- */
- BAND_MODE_7_700M_2,
- /**
- * "Band Class 8" (1800-MHz Band)
- */
- BAND_MODE_8_1800M,
- /**
- * "Band Class 9" (900-MHz Band)
- */
- BAND_MODE_9_900M,
- /**
- * "Band Class 10" (Secondary 800-MHz Band)
- */
- BAND_MODE_10_800M_2,
- /**
- * "Band Class 11" (400-MHz European PAMR Band)
- */
- BAND_MODE_EURO_PAMR_400M,
- /**
- * "Band Class 15" (AWS Band)
- */
- BAND_MODE_AWS,
- /**
- * "Band Class 16" (US 2.5-GHz Band)
- */
- BAND_MODE_USA_2500M,
-}
diff --git a/radio/aidl/android/hardware/radio/RadioCapability.aidl b/radio/aidl/android/hardware/radio/RadioCapability.aidl
deleted file mode 100644
index d911b6f..0000000
--- a/radio/aidl/android/hardware/radio/RadioCapability.aidl
+++ /dev/null
@@ -1,40 +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.RadioAccessFamily;
-import android.hardware.radio.RadioCapabilityPhase;
-import android.hardware.radio.RadioCapabilityStatus;
-
-@VintfStability
-parcelable RadioCapability {
- /**
- * Unique session value defined by framework returned in all "responses/unslo".
- */
- int session;
- RadioCapabilityPhase phase;
- /**
- * 32-bit bitmap of RadioAccessFamily.
- */
- RadioAccessFamily raf;
- /**
- * A UUID typically "com.xxxx.lmX" where X is the logical modem.
- * RadioConst:MAX_UUID_LENGTH is the max length.
- */
- String logicalModemUuid;
- RadioCapabilityStatus status;
-}
diff --git a/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl b/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl
deleted file mode 100644
index a586300..0000000
--- a/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl
+++ /dev/null
@@ -1,47 +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 RadioCapabilityPhase {
- /**
- * Logical Modem's (LM) initial value and value after FINISH completes
- */
- CONFIGURED,
- /**
- * START is sent before APPLY and indicates that an APPLY is forthcoming with these same
- * parameters.
- */
- START,
- /**
- * APPLY is sent after all LM's receive START and returned RadioCapability.status = 0.
- * If any START's fail, hal implementation must not send APPLY.
- */
- APPLY,
- /**
- * UNSOL_RSP is sent with unsolicited radioCapability()
- */
- UNSOL_RSP,
- /**
- * FINISH is sent after all commands have completed. If an error occurs in any previous command,
- * the RadioAccessFamily and logicalModemUuid fields must be the prior configuration thus
- * restoring the configuration to the previous value. An error returned by FINISH will generally
- * be ignored or may cause that LM to be removed from service.
- */
- FINISH,
-}
diff --git a/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl b/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl
deleted file mode 100644
index 5b90f38..0000000
--- a/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl
+++ /dev/null
@@ -1,36 +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 RadioCapabilityStatus {
- /**
- * This parameter has no meaning with RadioCapabilityPhase:START, RadioCapabilityPhase:APPLY
- */
- NONE,
- /**
- * Tell modem the action transaction of set radio capability was successful with
- * RadioCapabilityPhase:FINISH
- */
- SUCCESS,
- /**
- * Tell modem the action transaction of set radio capability failed with
- * RadioCapabilityPhase:FINISH
- */
- FAIL,
-}
diff --git a/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl b/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl
deleted file mode 100644
index f480077..0000000
--- a/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl
+++ /dev/null
@@ -1,37 +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 RadioCdmaSmsConst {
- ADDRESS_MAX = 36,
- SUBADDRESS_MAX = 36,
- BEARER_DATA_MAX = 255,
- UDH_MAX_SND_SIZE = 128,
- UDH_EO_DATA_SEGMENT_MAX = 131,
- MAX_UD_HEADERS = 7,
- USER_DATA_MAX = 229,
- UDH_LARGE_PIC_SIZE = 128,
- UDH_SMALL_PIC_SIZE = 32,
- UDH_VAR_PIC_SIZE = 134,
- UDH_ANIM_NUM_BITMAPS = 4,
- UDH_LARGE_BITMAP_SIZE = 32,
- UDH_SMALL_BITMAP_SIZE = 8,
- UDH_OTHER_SIZE = 226,
- IP_ADDRESS_SIZE = 4,
-}
diff --git a/radio/aidl/android/hardware/radio/RadioConst.aidl b/radio/aidl/android/hardware/radio/RadioConst.aidl
index 815b3b9..2e1bcf0 100644
--- a/radio/aidl/android/hardware/radio/RadioConst.aidl
+++ b/radio/aidl/android/hardware/radio/RadioConst.aidl
@@ -33,4 +33,8 @@
NUM_SERVICE_CLASSES = 7,
NUM_TX_POWER_LEVELS = 5,
RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8,
+ /**
+ * No P2 value is provided
+ */
+ P2_CONSTANT_NO_P2 = -1,
}
diff --git a/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl b/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl
deleted file mode 100644
index e5aa9fb..0000000
--- a/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl
+++ /dev/null
@@ -1,32 +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.FrequencyRange;
-
-@VintfStability
-union RadioFrequencyInfo {
- boolean noinit;
- /**
- * A rough frequency range.
- */
- FrequencyRange range;
- /**
- * The Absolute Radio Frequency Channel Number.
- */
- int channelNumber;
-}
diff --git a/radio/aidl/android/hardware/radio/RadioState.aidl b/radio/aidl/android/hardware/radio/RadioState.aidl
deleted file mode 100644
index 1915870..0000000
--- a/radio/aidl/android/hardware/radio/RadioState.aidl
+++ /dev/null
@@ -1,34 +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 RadioState {
- /**
- * Radio explicitly powered off (eg CFUN=0)
- */
- OFF = 0,
- /**
- * Radio unavailable (eg, resetting or not booted)
- */
- UNAVAILABLE = 1,
- /**
- * Radio is on
- */
- ON = 10,
-}
diff --git a/radio/aidl/android/hardware/radio/RegState.aidl b/radio/aidl/android/hardware/radio/RegState.aidl
deleted file mode 100644
index 91fd239..0000000
--- a/radio/aidl/android/hardware/radio/RegState.aidl
+++ /dev/null
@@ -1,67 +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;
-
-/**
- * Please note that registration state UNKNOWN is treated as "out of service" in Android telephony.
- * Registration state REG_DENIED must be returned if Location Update Reject (with cause 17 - Network
- * Failure) is received repeatedly from the network, to facilitate "managed roaming".
- */
-@VintfStability
-@Backing(type="int")
-enum RegState {
- /**
- * Not registered, MT is not currently searching for a new operator to register
- */
- NOT_REG_MT_NOT_SEARCHING_OP = 0,
- /**
- * Registered, home network
- */
- REG_HOME = 1,
- /**
- * Not registered, but MT is currently searching for a new operator to register
- */
- NOT_REG_MT_SEARCHING_OP = 2,
- /**
- * Registration denied
- */
- REG_DENIED = 3,
- /**
- * Unknown
- */
- UNKNOWN = 4,
- /**
- * Registered, roaming
- */
- REG_ROAMING = 5,
- /**
- * Same as NOT_REG_MT_NOT_SEARCHING_OP but indicates that emergency calls are enabled
- */
- NOT_REG_MT_NOT_SEARCHING_OP_EM = 10,
- /**
- * Same as NOT_REG_MT_SEARCHING_OP but indicatees that emergency calls are enabled
- */
- NOT_REG_MT_SEARCHING_OP_EM = 12,
- /**
- * Same as REG_DENIED but indicates that emergency calls are enabled
- */
- REG_DENIED_EM = 13,
- /**
- * Same as UNKNOWN but indicates that emergency calls are enabled
- */
- UNKNOWN_EM = 14,
-}
diff --git a/radio/aidl/android/hardware/radio/RegStateResult.aidl b/radio/aidl/android/hardware/radio/RegStateResult.aidl
deleted file mode 100644
index 4bc55c4..0000000
--- a/radio/aidl/android/hardware/radio/RegStateResult.aidl
+++ /dev/null
@@ -1,60 +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.CellIdentity;
-import android.hardware.radio.RadioTechnology;
-import android.hardware.radio.RegState;
-import android.hardware.radio.RegStateResultAccessTechnologySpecificInfo;
-import android.hardware.radio.RegistrationFailCause;
-
-@VintfStability
-parcelable RegStateResult {
- /**
- * Registration state. If the RAT is indicated as a GERAN, UTRAN, or CDMA2000 technology, this
- * value reports registration in the Circuit-switched domain. If the RAT is indicated as an
- * EUTRAN, NGRAN, or another technology that does not support circuit-switched services, this
- * value reports registration in the Packet-switched domain.
- */
- 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 IRadio::currentPhysicalChannelConfigs.
- */
- RadioTechnology rat;
- /**
- * Cause code reported by the network in case registration fails. This will be a mobility
- * management cause code defined for MM, GMM, MME or equivalent as appropriate for the RAT.
- */
- RegistrationFailCause reasonForDenial;
- /**
- * CellIdentity
- */
- CellIdentity cellIdentity;
- /**
- * The most-recent PLMN-ID upon which the UE registered (or attempted to register if a failure
- * is reported in the reasonForDenial field). This PLMN shall be in standard format consisting
- * of a 3 digit MCC concatenated with a 2 or 3 digit MNC.
- */
- String registeredPlmn;
- /**
- * Access-technology-specific registration information, such as for CDMA2000.
- */
- RegStateResultAccessTechnologySpecificInfo accessTechnologySpecificInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl
deleted file mode 100644
index b22e413..0000000
--- a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.NrVopsInfo;
-import android.hardware.radio.RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo;
-import android.hardware.radio.RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo;
-
-@VintfStability
-union RegStateResultAccessTechnologySpecificInfo {
- boolean noinit;
- RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo;
- RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo;
- /**
- * Network capabilities for voice over PS services. This info is valid only on NR network and
- * must be present when the device is camped on NR. VopsInfo must be empty when the device is
- * not camped on NR.
- */
- NrVopsInfo ngranNrVopsInfo;
- /**
- * True if the dual transfer mode is supported. Refer to 3GPP TS 44.108 section 3.4.25.3
- */
- boolean geranDtmSupported;
-}
diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl
deleted file mode 100644
index 14f68ec..0000000
--- a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl
+++ /dev/null
@@ -1,44 +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.PrlIndicator;
-
-@VintfStability
-parcelable RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo {
- /**
- * Concurrent services support indicator. if registered on a CDMA system.
- * false - Concurrent services not supported,
- * true - Concurrent services supported
- */
- boolean cssSupported;
- /**
- * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not.
- * Valid values are 0-255.
- */
- int roamingIndicator;
- /**
- * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system
- * or -1 if not. 0=not in the PRL, 1=in the PRL.
- */
- PrlIndicator systemIsInPrl;
- /**
- * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not.
- * Valid values are 0-255.
- */
- int defaultRoamingIndicator;
-}
diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl
deleted file mode 100644
index 5b942f4..0000000
--- a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl
+++ /dev/null
@@ -1,35 +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.LteVopsInfo;
-import android.hardware.radio.NrIndicators;
-
-@VintfStability
-parcelable RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo {
- /**
- * Network capabilities for voice over PS services. This info is valid only on LTE network and
- * must be present when device is camped on LTE. VopsInfo must be empty when device is camped
- * only on 2G/3G.
- */
- LteVopsInfo lteVopsInfo;
- /**
- * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise must
- * be empty.
- */
- NrIndicators nrIndicators;
-}
diff --git a/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl
deleted file mode 100644
index d9c7f23..0000000
--- a/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl
+++ /dev/null
@@ -1,189 +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;
-
-/**
- * Call fail causes for Circuit-switched service enumerated in 3GPP TS 24.008, 10.5.3.6 and
- * 10.5.147. Additional detail is available in 3GPP TS 24.008 Annex G.
- */
-@VintfStability
-@Backing(type="int")
-enum RegistrationFailCause {
- /**
- * 0 - None
- */
- NONE = 0,
- /**
- * 2 - IMSI unknown in HLR
- */
- IMSI_UNKNOWN_IN_HLR = 2,
- /**
- * 3 - Illegal MS
- */
- ILLEGAL_MS = 3,
- /**
- * 4 - Illegal ME
- */
- IMSI_UNKNOWN_IN_VLR = 4,
- /**
- * 5 - PLMN not allowed
- */
- IMEI_NOT_ACCEPTED = 5,
- /**
- * 6 - Location area not allowed
- */
- ILLEGAL_ME = 6,
- /**
- * 7 - Roaming not allowed
- */
- GPRS_SERVICES_NOT_ALLOWED = 7,
- /**
- * 8 - No Suitable Cells in this Location Area
- */
- GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8,
- /**
- * 9 - Network failure
- */
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9,
- /**
- * 10 - Persistent location update reject
- */
- IMPLICITLY_DETACHED = 10,
- /**
- * 11 - PLMN not allowed
- */
- PLMN_NOT_ALLOWED = 11,
- /**
- * 12 - Location area not allowed
- */
- LOCATION_AREA_NOT_ALLOWED = 12,
- /**
- * 13 - Roaming not allowed in this Location Area
- */
- ROAMING_NOT_ALLOWED = 13,
- /**
- * 14 - GPRS Services not allowed in this PLMN
- */
- GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14,
- /**
- * 15 - No Suitable Cells in this Location Area
- */
- NO_SUITABLE_CELLS = 15,
- /**
- * 16 - MSC temporarily not reachable
- */
- MSC_TEMPORARILY_NOT_REACHABLE = 15,
- /**
- * 17 - Network Failure
- */
- NETWORK_FAILURE = 17,
- /**
- * 20 - MAC Failure
- */
- MAC_FAILURE = 20,
- /**
- * 21 - Sync Failure
- */
- SYNC_FAILURE = 21,
- /**
- * 22 - Congestion
- */
- CONGESTION = 22,
- /**
- * 23 - GSM Authentication unacceptable
- */
- GSM_AUTHENTICATION_UNACCEPTABLE = 23,
- /**
- * 25 - Not Authorized for this CSG
- */
- NOT_AUTHORIZED_FOR_THIS_CSG = 25,
- /**
- * 28 SMS provided via GPRS in this routing area
- */
- SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA,
- /**
- * 32 - Service option not supported
- */
- SERVICE_OPTION_NOT_SUPPORTED = 32,
- /**
- * 33 - Requested service option not subscribed
- */
- SERVICE_OPTION_NOT_SUBSCRIBED = 33,
- /**
- * 34 - Service option temporarily out of order
- */
- SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
- /**
- * 38 - Call cannot be identified
- */
- CALL_CANNOT_BE_IDENTIFIED = 38,
- /**
- * 40 No PDP context activated
- */
- NO_PDP_CONTEXT_ACTIVATED = 40,
- /**
- * 48-63 - Retry upon entry into a new cell
- */
- RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62,
- RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63,
- /**
- * 95 - Semantically incorrect message
- */
- SEMANTICALLY_INCORRECT_MESSAGE = 95,
- /**
- * 96 - Invalid mandatory information
- */
- INVALID_MANDATORY_INFORMATION = 96,
- /**
- * 97 - Message type non-existent or not implemented
- */
- MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
- /**
- * 98 - Message type not compatible with protocol state
- */
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
- /**
- * 99 - Information element non-existent or not implemented
- */
- INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
- /**
- * 100 - Conditional IE error
- */
- CONDITIONAL_IE_ERROR = 100,
- /**
- * 101 - Message not compatible with protocol state
- */
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
- /**
- * 111 - Protocol error, unspecified
- */
- PROTOCOL_ERROR_UNSPECIFIED = 111,
-}
diff --git a/radio/aidl/android/hardware/radio/ResetNvType.aidl b/radio/aidl/android/hardware/radio/ResetNvType.aidl
deleted file mode 100644
index 59c74da..0000000
--- a/radio/aidl/android/hardware/radio/ResetNvType.aidl
+++ /dev/null
@@ -1,34 +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 ResetNvType {
- /**
- * Reload all NV items
- */
- RELOAD,
- /**
- * Erase NV reset (SCRTN)
- */
- ERASE,
- /**
- * Factory reset (RTN)
- */
- FACTORY_RESET,
-}
diff --git a/radio/aidl/android/hardware/radio/RestrictedState.aidl b/radio/aidl/android/hardware/radio/RestrictedState.aidl
deleted file mode 100644
index 1cf8be2..0000000
--- a/radio/aidl/android/hardware/radio/RestrictedState.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 RestrictedState {
- NONE = 0x00,
- CS_EMERGENCY = 0x01,
- CS_NORMAL = 0x02,
- CS_ALL = 0x04,
- PS_ALL = 0x10,
-}
diff --git a/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl b/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl
deleted file mode 100644
index 14591a0..0000000
--- a/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.OptionalPdpProtocolType;
-import android.hardware.radio.OptionalSscMode;
-import android.hardware.radio.SliceInfo;
-
-/**
- * This struct represents a single route selection descriptor as defined in 3GPP TS 24.526.
- */
-@VintfStability
-parcelable RouteSelectionDescriptor {
- /**
- * Precedence value in the range of 0 to 255. Higher value has lower precedence.
- */
- byte precedence;
- /**
- * Valid values are IP, IPV6 and IPV4V6.
- */
- OptionalPdpProtocolType sessionType;
- OptionalSscMode sscMode;
- /**
- * There can be 0 or more SliceInfo specified in a route descriptor.
- */
- SliceInfo[] sliceInfo;
- /**
- * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003.
- * There can be 0 or more DNNs specified in a route descriptor.
- */
- String[] dnn;
-}
diff --git a/radio/aidl/android/hardware/radio/ScanIntervalRange.aidl b/radio/aidl/android/hardware/radio/ScanIntervalRange.aidl
deleted file mode 100644
index 7ea4d12..0000000
--- a/radio/aidl/android/hardware/radio/ScanIntervalRange.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;
-
-/**
- * Values are in seconds
- */
-@VintfStability
-@Backing(type="int")
-enum ScanIntervalRange {
- MIN = 5,
- MAX = 300,
-}
diff --git a/radio/aidl/android/hardware/radio/ScanStatus.aidl b/radio/aidl/android/hardware/radio/ScanStatus.aidl
deleted file mode 100644
index c9c436e..0000000
--- a/radio/aidl/android/hardware/radio/ScanStatus.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 ScanStatus {
- /**
- * The result contains a part of the scan results
- */
- PARTIAL = 1,
- /**
- * The result contains the last part of the scan results
- */
- COMPLETE = 2,
-}
diff --git a/radio/aidl/android/hardware/radio/ScanType.aidl b/radio/aidl/android/hardware/radio/ScanType.aidl
deleted file mode 100644
index 66ed451..0000000
--- a/radio/aidl/android/hardware/radio/ScanType.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 ScanType {
- /**
- * Performs the scan only once
- */
- ONE_SHOT,
- /**
- * Performs the scan periodically until cancelled
- */
- PERIODIC,
-}
diff --git a/radio/aidl/android/hardware/radio/SelectUiccSub.aidl b/radio/aidl/android/hardware/radio/SelectUiccSub.aidl
deleted file mode 100644
index 4db5e66..0000000
--- a/radio/aidl/android/hardware/radio/SelectUiccSub.aidl
+++ /dev/null
@@ -1,31 +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.SubscriptionType;
-import android.hardware.radio.UiccSubActStatus;
-
-@VintfStability
-parcelable SelectUiccSub {
- int slot;
- /**
- * Array subscriptor from applications[RadioConst:CARD_MAX_APPS] in getIccCardStatus()
- */
- int appIndex;
- SubscriptionType subType;
- UiccSubActStatus actStatus;
-}
diff --git a/radio/aidl/android/hardware/radio/SendSmsResult.aidl b/radio/aidl/android/hardware/radio/SendSmsResult.aidl
deleted file mode 100644
index 3186563..0000000
--- a/radio/aidl/android/hardware/radio/SendSmsResult.aidl
+++ /dev/null
@@ -1,35 +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
-parcelable SendSmsResult {
- /**
- * TP-Message-Reference for GSM, and BearerData MessageId for CDMA.
- * See 3GPP2 C.S0015-B, v2.0, table 4.5-1
- */
- int messageRef;
- /**
- * Ack PDU or empty string if n/a
- */
- String ackPDU;
- /**
- * See 3GPP 27.005, 3.2.5 for GSM/UMTS, 3GPP2 N.S0005 (IS-41C) Table 171 for CDMA.
- * -1 if unknown or not applicable.
- */
- int errorCode;
-}
diff --git a/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl b/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl
deleted file mode 100644
index 5fc017c..0000000
--- a/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl
+++ /dev/null
@@ -1,117 +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.DataCallFailCause;
-import android.hardware.radio.DataConnActiveStatus;
-import android.hardware.radio.HandoverFailureMode;
-import android.hardware.radio.LinkAddress;
-import android.hardware.radio.OptionalSliceInfo;
-import android.hardware.radio.PdpProtocolType;
-import android.hardware.radio.Qos;
-import android.hardware.radio.QosSession;
-import android.hardware.radio.TrafficDescriptor;
-
-@VintfStability
-parcelable SetupDataCallResult {
- /**
- * Data call fail cause. DataCallFailCause.NONE if no error.
- */
- DataCallFailCause cause;
- /**
- * If cause is not DataCallFailCause.NONE, this field indicates the network suggested data
- * retry back-off time in milliseconds. Negative value indicates network does not give any
- * suggestion. 0 indicates retry should be performed immediately. 0x7fffffffffffffff indicates
- * the device should not retry data setup anymore. During this time, no calls to
- * IRadio.setupDataCall for this APN will be made unless IRadioIndication.unthrottleApn is sent
- * with the same APN.
- */
- long suggestedRetryTime;
- /**
- * Context ID, uniquely identifies this data connection.
- */
- int cid;
- /**
- * Data connection active status.
- */
- DataConnActiveStatus active;
- /**
- * PDP protocol type. If cause is DataCallFailCause.ONLY_SINGLE_BEARER_ALLOWED, this is the
- * protocol type supported, such as "IP" or "IPV6".
- */
- PdpProtocolType type;
- /**
- * The network interface name.
- */
- String ifname;
- /**
- * List of link address.
- */
- LinkAddress[] addresses;
- /**
- * List of DNS server addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". Empty if no dns
- * server addresses returned.
- */
- String[] dnses;
- /**
- * List of default gateway addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
- * When empty, the addresses represent point to point connections.
- */
- String[] gateways;
- /**
- * List of P-CSCF (Proxy Call State Control Function) addresses via PCO (Protocol Configuration
- * Option), e.g., "2001:db8::1 2001:db8::2 2001:db8::3". Empty if not IMS client.
- */
- String[] pcscf;
- /**
- * MTU received from network for IPv4.
- * Value <= 0 means network has either not sent a value or sent an invalid value.
- */
- int mtuV4;
- /**
- * MTU received from network for IPv6.
- * Value <= 0 means network has either not sent a value or sent an invalid value.
- */
- int mtuV6;
- /**
- * Default bearer QoS. Applicable to LTE and NR
- */
- Qos defaultQos;
- /**
- * Active QOS sessions of the dedicated bearers. Applicable to PDNs that support dedicated
- * bearers.
- */
- QosSession[] qosSessions;
- /**
- * Specifies the fallback mode on an IWLAN handover failure.
- */
- HandoverFailureMode handoverFailureMode;
- /**
- * The allocated pdu session id for this data call. A value of 0 means no pdu session id was
- * attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b.
- */
- int pduSessionId;
- /**
- * Slice used for this data call. It is valid only when this data call is on AccessNetwork:NGRAN
- */
- OptionalSliceInfo sliceInfo;
- /**
- * TrafficDescriptors for which this data call must be used. It only includes the TDs for which
- * a data call has been requested so far; it is not an exhaustive list.
- */
- TrafficDescriptor[] trafficDescriptors;
-}
diff --git a/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl b/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl
deleted file mode 100644
index d92ae91..0000000
--- a/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl
+++ /dev/null
@@ -1,83 +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;
-
-/**
- * Defining signal strength type.
- */
-@VintfStability
-@Backing(type="int")
-enum SignalMeasurementType {
- /**
- * Received Signal Strength Indication.
- * Range: -113 dBm and -51 dBm
- * Used RAN: GERAN, CDMA2000
- * Reference: 3GPP TS 27.007 section 8.5.
- */
- RSSI = 1,
- /**
- * Received Signal Code Power.
- * Range: -120 dBm to -25 dBm;
- * Used RAN: UTRAN
- * Reference: 3GPP TS 25.123, section 9.1.1.1
- */
- RSCP = 2,
- /**
- * Reference Signal Received Power.
- * Range: -140 dBm to -44 dBm;
- * Used RAN: EUTRAN
- * Reference: 3GPP TS 36.133 9.1.4
- */
- RSRP = 3,
- /**
- * Reference Signal Received Quality
- * Range: -34 dB to 3 dB;
- * Used RAN: EUTRAN
- * Reference: 3GPP TS 36.133 v12.6.0 section 9.1.7
- */
- RSRQ = 4,
- /**
- * Reference Signal Signal to Noise Ratio
- * Range: -20 dB to 30 dB;
- * Used RAN: EUTRAN
- * Note: This field is optional; how to support it can be decided by the corresponding vendor.
- * Though the response code is not enforced, vendor's implementation must ensure this interface
- * does not crash.
- */
- RSSNR = 5,
- /**
- * 5G SS reference signal received power.
- * Range: -140 dBm to -44 dBm.
- * Used RAN: NGRAN
- * Reference: 3GPP TS 38.215.
- */
- SSRSRP = 6,
- /**
- * 5G SS reference signal received quality.
- * Range: -43 dB to 20 dB.
- * Used RAN: NGRAN
- * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10
- */
- SSRSRQ = 7,
- /**
- * 5G SS signal-to-noise and interference ratio.
- * Range: -23 dB to 40 dB
- * Used RAN: NGRAN
- * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
- */
- SSSINR = 8,
-}
diff --git a/radio/aidl/android/hardware/radio/SignalStrength.aidl b/radio/aidl/android/hardware/radio/SignalStrength.aidl
deleted file mode 100644
index 0ffdaa3..0000000
--- a/radio/aidl/android/hardware/radio/SignalStrength.aidl
+++ /dev/null
@@ -1,64 +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.CdmaSignalStrength;
-import android.hardware.radio.EvdoSignalStrength;
-import android.hardware.radio.GsmSignalStrength;
-import android.hardware.radio.LteSignalStrength;
-import android.hardware.radio.NrSignalStrength;
-import android.hardware.radio.TdscdmaSignalStrength;
-import android.hardware.radio.WcdmaSignalStrength;
-
-@VintfStability
-parcelable SignalStrength {
- /**
- * If GSM measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- GsmSignalStrength gsm;
- /**
- * If CDMA measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- CdmaSignalStrength cdma;
- /**
- * If EvDO measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- EvdoSignalStrength evdo;
- /**
- * If LTE measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- LteSignalStrength lte;
- /**
- * If TD-SCDMA measurements are provided, this structure must contain valid measurements;
- * otherwise all fields should be set to INT_MAX to mark them as invalid.
- */
- TdscdmaSignalStrength tdscdma;
- /**
- * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- WcdmaSignalStrength wcdma;
- /**
- * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise
- * all fields should be set to INT_MAX to mark them as invalid.
- */
- NrSignalStrength nr;
-}
diff --git a/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl
deleted file mode 100644
index 9274b42..0000000
--- a/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl
+++ /dev/null
@@ -1,51 +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.SignalMeasurementType;
-
-/**
- * Contains the threshold values of each signal measurement type.
- */
-@VintfStability
-parcelable SignalThresholdInfo {
- /**
- * Signal Measurement Type
- */
- SignalMeasurementType signalMeasurement;
- /**
- * A hysteresis time in milliseconds 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.
- */
- 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.
- */
- int[] thresholds;
- /**
- * Indicates whether the reporting criteria of the corresponding measurement is enabled
- * (true) or disabled (false). If enabled, modem must trigger the report based on the criteria.
- * If disabled, modem must not trigger the report based on the criteria.
- */
- boolean isEnabled;
-}
diff --git a/radio/aidl/android/hardware/radio/SimApdu.aidl b/radio/aidl/android/hardware/radio/SimApdu.aidl
deleted file mode 100644
index 65dae4c..0000000
--- a/radio/aidl/android/hardware/radio/SimApdu.aidl
+++ /dev/null
@@ -1,51 +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
-parcelable SimApdu {
- /**
- * "sessionid" from TS 27.007 +CGLA command. Must be ignored for +CSIM command.
- */
- int sessionId;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- */
- int cla;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- */
- int instruction;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- */
- int p1;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- */
- int p2;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- * A negative P3 implies a 4 byte APDU.
- */
- int p3;
- /**
- * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
- * In hex string format ([a-fA-F0-9]*)
- */
- String data;
-}
diff --git a/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl b/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl
deleted file mode 100644
index 89e13fd..0000000
--- a/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl
+++ /dev/null
@@ -1,32 +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 SimLockMultiSimPolicy {
- /**
- * Indicates that configuration applies to each slot independently.
- */
- NO_MULTISIM_POLICY,
- /**
- * Indicates that any SIM card can be used as far as one valid card is present in the device.
- * For the modem, a SIM card is valid when its content (i.e. MCC, MNC, GID, SPN) matches the
- * carrier restriction configuration.
- */
- ONE_VALID_SIM_MUST_BE_PRESENT,
-}
diff --git a/radio/aidl/android/hardware/radio/SimRefreshResult.aidl b/radio/aidl/android/hardware/radio/SimRefreshResult.aidl
deleted file mode 100644
index f480888..0000000
--- a/radio/aidl/android/hardware/radio/SimRefreshResult.aidl
+++ /dev/null
@@ -1,35 +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.SimRefreshType;
-
-@VintfStability
-parcelable SimRefreshResult {
- SimRefreshType type;
- /**
- * EFID of the updated file if the result is SIM_FILE_UPDATE or 0 for any other result.
- */
- int efId;
- /**
- * AID(application ID) of the card application. See ETSI 102.221 8.1 and 101.220 4.
- * For SIM_FILE_UPDATE result it must be set to AID of application in which updated EF resides
- * or it must be empty string if EF is outside of an application. For SIM_INIT result this field
- * is set to AID of application that caused REFRESH. For SIM_RESET result it is empty string.
- */
- String aid;
-}
diff --git a/radio/aidl/android/hardware/radio/SimRefreshType.aidl b/radio/aidl/android/hardware/radio/SimRefreshType.aidl
deleted file mode 100644
index 996cdce..0000000
--- a/radio/aidl/android/hardware/radio/SimRefreshType.aidl
+++ /dev/null
@@ -1,34 +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 SimRefreshType {
- /**
- * A file on SIM has been updated.
- */
- SIM_FILE_UPDATE,
- /**
- * SIM initialized. All files should be re-read.
- */
- SIM_INIT,
- /**
- * SIM reset. SIM power required, SIM may be locked and all files must be re-read.
- */
- SIM_RESET,
-}
diff --git a/radio/aidl/android/hardware/radio/SliceInfo.aidl b/radio/aidl/android/hardware/radio/SliceInfo.aidl
deleted file mode 100644
index 91b0067..0000000
--- a/radio/aidl/android/hardware/radio/SliceInfo.aidl
+++ /dev/null
@@ -1,53 +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.SliceServiceType;
-import android.hardware.radio.SliceStatus;
-
-/**
- * This struct represents a S-NSSAI as defined in 3GPP TS 24.501.
- */
-@VintfStability
-parcelable SliceInfo {
- /**
- * The type of service provided by the slice. See: 3GPP TS 24.501 Section 9.11.2.8.
- */
- SliceServiceType sst;
- /**
- * Slice differentiator is the identifier of a slice that has SliceServiceType as SST. 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 sliceDifferentiator;
- /**
- * This SST corresponds to a SliceInfo (S-NSSAI) of the HPLMN; the SST is mapped to this value.
- * See: 3GPP TS 24.501 Section 9.11.2.8.
- */
- SliceServiceType mappedHplmnSst;
- /**
- * Present only if both sliceDifferentiator and mappedHplmnSst are also present. This SD
- * corresponds to a SliceInfo (S-NSSAI) of the HPLMN; sliceDifferentiator is mapped to this
- * 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;
- /**
- * Field to indicate the current status of the slice.
- */
- SliceStatus status;
-}
diff --git a/radio/aidl/android/hardware/radio/SliceServiceType.aidl b/radio/aidl/android/hardware/radio/SliceServiceType.aidl
deleted file mode 100644
index 624dfb1..0000000
--- a/radio/aidl/android/hardware/radio/SliceServiceType.aidl
+++ /dev/null
@@ -1,41 +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;
-
-/**
- * Slice/Service Type as defined in 3GPP TS 23.501.
- */
-@VintfStability
-@Backing(type="byte")
-enum SliceServiceType {
- /*
- * Not specified
- */
- NONE,
- /*
- * Slice suitable for the handling of 5G enhanced Mobile Broadband
- */
- EMBB,
- /**
- * Slice suitable for the handling of ultra-reliable low latency communications
- */
- URLLC,
- /*
- * Slice suitable for the handling of massive IoT
- */
- MIOT,
-}
diff --git a/radio/aidl/android/hardware/radio/SliceStatus.aidl b/radio/aidl/android/hardware/radio/SliceStatus.aidl
deleted file mode 100644
index 076e23b..0000000
--- a/radio/aidl/android/hardware/radio/SliceStatus.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="byte")
-enum SliceStatus {
- UNKNOWN,
- /**
- * Configured but not allowed or rejected yet
- */
- CONFIGURED,
- /**
- * Allowed to be used
- */
- ALLOWED,
- /**
- * Rejected because not available in PLMN
- */
- REJECTED_NOT_AVAILABLE_IN_PLMN,
- /**
- * Rejected because not available in reg area
- */
- REJECTED_NOT_AVAILABLE_IN_REG_AREA,
- /**
- * Considered valid when configured/allowed slices are not available
- */
- DEFAULT_CONFIGURED,
-}
diff --git a/radio/aidl/android/hardware/radio/SlicingConfig.aidl b/radio/aidl/android/hardware/radio/SlicingConfig.aidl
deleted file mode 100644
index d8d0885..0000000
--- a/radio/aidl/android/hardware/radio/SlicingConfig.aidl
+++ /dev/null
@@ -1,35 +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.SliceInfo;
-import android.hardware.radio.UrspRule;
-
-/**
- * This struct represents the current slicing configuration.
- */
-@VintfStability
-parcelable SlicingConfig {
- /**
- * This vector contains the current URSP rules. Empty vector indicates no rules are configured.
- */
- UrspRule[] urspRules;
- /**
- * List of all slices.
- */
- SliceInfo[] sliceInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl b/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl
deleted file mode 100644
index 265a109..0000000
--- a/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.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 SmsAcknowledgeFailCause {
- MEMORY_CAPACITY_EXCEEDED = 0xD3,
- UNSPECIFIED_ERROR = 0XFF,
-}
diff --git a/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl
deleted file mode 100644
index f7a3fd4..0000000
--- a/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl
+++ /dev/null
@@ -1,37 +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.SmsWriteArgsStatus;
-
-@VintfStability
-parcelable SmsWriteArgs {
- /**
- * Status of message. See TS 27.005 3.1.
- */
- SmsWriteArgsStatus status;
- /**
- * PDU of message to write, as an ASCII hex string less the SMSC address, the TP-layer length
- * is strlen(pdu)/2.
- */
- String pdu;
- /**
- * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005)
- * or NULL for default SMSC.
- */
- String smsc;
-}
diff --git a/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl b/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl
deleted file mode 100644
index 095c71e..0000000
--- a/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl
+++ /dev/null
@@ -1,26 +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 SmsWriteArgsStatus {
- REC_UNREAD,
- REC_READ,
- STO_UNSENT,
- STO_SENT,
-}
diff --git a/radio/aidl/android/hardware/radio/SrvccState.aidl b/radio/aidl/android/hardware/radio/SrvccState.aidl
deleted file mode 100644
index d428314..0000000
--- a/radio/aidl/android/hardware/radio/SrvccState.aidl
+++ /dev/null
@@ -1,26 +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 SrvccState {
- HANDOVER_STARTED,
- HANDOVER_COMPLETED,
- HANDOVER_FAILED,
- HANDOVER_CANCELED,
-}
diff --git a/radio/aidl/android/hardware/radio/SsInfoData.aidl b/radio/aidl/android/hardware/radio/SsInfoData.aidl
deleted file mode 100644
index 6ee3da0..0000000
--- a/radio/aidl/android/hardware/radio/SsInfoData.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
-parcelable SsInfoData {
- /**
- * This is the response data for all of the SS GET/SET Radio requests.
- * E.g. IRadio.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
- */
- int[] ssInfo;
-}
diff --git a/radio/aidl/android/hardware/radio/SsRequestType.aidl b/radio/aidl/android/hardware/radio/SsRequestType.aidl
deleted file mode 100644
index f3decbe..0000000
--- a/radio/aidl/android/hardware/radio/SsRequestType.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 SsRequestType {
- ACTIVATION,
- DEACTIVATION,
- INTERROGATION,
- REGISTRATION,
- ERASURE,
-}
diff --git a/radio/aidl/android/hardware/radio/SsServiceType.aidl b/radio/aidl/android/hardware/radio/SsServiceType.aidl
deleted file mode 100644
index eb344f4..0000000
--- a/radio/aidl/android/hardware/radio/SsServiceType.aidl
+++ /dev/null
@@ -1,41 +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 SsServiceType {
- CFU,
- CF_BUSY,
- CF_NO_REPLY,
- CF_NOT_REACHABLE,
- CF_ALL,
- CF_ALL_CONDITIONAL,
- CLIP,
- CLIR,
- COLP,
- COLR,
- WAIT,
- BAOC,
- BAOIC,
- BAOIC_EXC_HOME,
- BAIC,
- BAIC_ROAMING,
- ALL_BARRING,
- OUTGOING_BARRING,
- INCOMING_BARRING,
-}
diff --git a/radio/aidl/android/hardware/radio/SsTeleserviceType.aidl b/radio/aidl/android/hardware/radio/SsTeleserviceType.aidl
deleted file mode 100644
index c11bbfa..0000000
--- a/radio/aidl/android/hardware/radio/SsTeleserviceType.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 SsTeleserviceType {
- ALL_TELE_AND_BEARER_SERVICES,
- ALL_TELESEVICES,
- TELEPHONY,
- ALL_DATA_TELESERVICES,
- SMS_SERVICES,
- ALL_TELESERVICES_EXCEPT_SMS,
-}
diff --git a/radio/aidl/android/hardware/radio/SscMode.aidl b/radio/aidl/android/hardware/radio/SscMode.aidl
deleted file mode 100644
index 8722048..0000000
--- a/radio/aidl/android/hardware/radio/SscMode.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;
-
-/**
- * Enum representing session and service continuity mode as defined in 3GPP TS 23.501.
- */
-@VintfStability
-@Backing(type="byte")
-enum SscMode {
- MODE_1 = 1,
- MODE_2 = 2,
- MODE_3 = 3,
-}
diff --git a/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl b/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl
deleted file mode 100644
index 0895f98..0000000
--- a/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl
+++ /dev/null
@@ -1,44 +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.CfData;
-import android.hardware.radio.RadioError;
-import android.hardware.radio.SsInfoData;
-import android.hardware.radio.SsRequestType;
-import android.hardware.radio.SsServiceType;
-import android.hardware.radio.SsTeleserviceType;
-import android.hardware.radio.SuppServiceClass;
-
-@VintfStability
-parcelable StkCcUnsolSsResult {
- SsServiceType serviceType;
- SsRequestType requestType;
- SsTeleserviceType teleserviceType;
- SuppServiceClass serviceClass;
- RadioError result;
- /**
- * Valid only for all SsServiceType except SsServiceType:CF_* else empty.
- * Only one of ssInfo and cfData may contain values and the other must be empty.
- */
- SsInfoData[] ssInfo;
- /**
- * Valid for SsServiceType:CF_* else empty
- * Only one of ssInfo and cfData may contain values and the other must be empty.
- */
- CfData[] cfData;
-}
diff --git a/radio/aidl/android/hardware/radio/SubscriptionType.aidl b/radio/aidl/android/hardware/radio/SubscriptionType.aidl
deleted file mode 100644
index 47c54f7..0000000
--- a/radio/aidl/android/hardware/radio/SubscriptionType.aidl
+++ /dev/null
@@ -1,25 +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 SubscriptionType {
- SUBSCRIPTION_1,
- SUBSCRIPTION_2,
- SUBSCRIPTION_3,
-}
diff --git a/radio/aidl/android/hardware/radio/SuppServiceClass.aidl b/radio/aidl/android/hardware/radio/SuppServiceClass.aidl
deleted file mode 100644
index 79e73ce..0000000
--- a/radio/aidl/android/hardware/radio/SuppServiceClass.aidl
+++ /dev/null
@@ -1,32 +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 SuppServiceClass {
- NONE = 0,
- VOICE = 1 << 0,
- DATA = 1 << 1,
- FAX = 1 << 2,
- SMS = 1 << 3,
- DATA_SYNC = 1 << 4,
- DATA_ASYNC = 1 << 5,
- PACKET = 1 << 6,
- PAD = 1 << 7,
- MAX = 1 << 7,
-}
diff --git a/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl b/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl
deleted file mode 100644
index b41292b..0000000
--- a/radio/aidl/android/hardware/radio/SuppSvcNotification.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-parcelable SuppSvcNotification {
- /**
- * Notification type
- * false = MO intermediate result code
- * true = MT unsolicited result code
- */
- boolean isMT;
- /**
- * Result code. See 27.007 7.17.
- */
- int code;
- /**
- * CUG index. See 27.007 7.17.
- */
- int index;
- /**
- * "type" from 27.007 7.17 (MT only).
- */
- int type;
- /**
- * "number" from 27.007 7.17. MT only, may be empty string.
- */
- String number;
-}
diff --git a/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl
deleted file mode 100644
index baed68a..0000000
--- a/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl
+++ /dev/null
@@ -1,36 +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
-parcelable TdscdmaSignalStrength {
- /**
- * UTRA carrier RSSI as defined in TS 25.225 5.1.4. Valid values are (0-31, 99) as defined in
- * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported.
- */
- int signalStrength;
- /**
- * Transport Channel BER as defined in TS 25.225 5.2.5. Valid values are (0-7, 99) as defined in
- * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported.
- */
- int bitErrorRate;
- /**
- * P-CCPCH RSCP as defined in TS 25.225 5.1.1. Valid values are (0-96, 255) as defined in
- * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
- */
- int rscp;
-}
diff --git a/radio/aidl/android/hardware/radio/TimeStampType.aidl b/radio/aidl/android/hardware/radio/TimeStampType.aidl
deleted file mode 100644
index f76a032..0000000
--- a/radio/aidl/android/hardware/radio/TimeStampType.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 TimeStampType {
- UNKNOWN,
- ANTENNA,
- MODEM,
- OEM_RIL,
- JAVA_RIL,
-}
diff --git a/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl
deleted file mode 100644
index 4c41e8c..0000000
--- a/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl
+++ /dev/null
@@ -1,37 +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.OptionalDnn;
-import android.hardware.radio.OptionalOsAppId;
-
-/**
- * This struct represents a traffic descriptor. A valid struct must have at least one of the
- * optional values present. This is based on the definition of traffic descriptor in
- * TS 24.526 Section 5.2.
- */
-@VintfStability
-parcelable TrafficDescriptor {
- /**
- * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003.
- */
- OptionalDnn dnn;
- /**
- * Indicates the OsId + OsAppId (used as category in Android).
- */
- OptionalOsAppId osAppId;
-}
diff --git a/radio/aidl/android/hardware/radio/Translate.java b/radio/aidl/android/hardware/radio/Translate.java
deleted file mode 100644
index a5d32b4..0000000
--- a/radio/aidl/android/hardware/radio/Translate.java
+++ /dev/null
@@ -1,2520 +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 java.util.List;
-
-public class Translate {
- static public android.hardware.radio.IccIo h2aTranslate(android.hardware.radio.V1_0.IccIo in) {
- android.hardware.radio.IccIo out = new android.hardware.radio.IccIo();
- out.command = in.command;
- out.fileId = in.fileId;
- out.path = in.path;
- out.p1 = in.p1;
- out.p2 = in.p2;
- out.p3 = in.p3;
- out.data = in.data;
- out.pin2 = in.pin2;
- out.aid = in.aid;
- return out;
- }
-
- static public android.hardware.radio.NeighboringCell h2aTranslate(
- android.hardware.radio.V1_0.NeighboringCell in) {
- android.hardware.radio.NeighboringCell out = new android.hardware.radio.NeighboringCell();
- out.cid = in.cid;
- out.rssi = in.rssi;
- return out;
- }
-
- static public android.hardware.radio.UusInfo h2aTranslate(
- android.hardware.radio.V1_0.UusInfo in) {
- android.hardware.radio.UusInfo out = new android.hardware.radio.UusInfo();
- out.uusType = in.uusType;
- out.uusDcs = in.uusDcs;
- out.uusData = in.uusData;
- return out;
- }
-
- static public android.hardware.radio.Dial h2aTranslate(android.hardware.radio.V1_0.Dial in) {
- android.hardware.radio.Dial out = new android.hardware.radio.Dial();
- out.address = in.address;
- out.clir = in.clir;
- if (in.uusInfo != null) {
- out.uusInfo = new android.hardware.radio.UusInfo[in.uusInfo.size()];
- for (int i = 0; i < in.uusInfo.size(); i++) {
- out.uusInfo[i] = h2aTranslate(in.uusInfo.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.LastCallFailCauseInfo h2aTranslate(
- android.hardware.radio.V1_0.LastCallFailCauseInfo in) {
- android.hardware.radio.LastCallFailCauseInfo out =
- new android.hardware.radio.LastCallFailCauseInfo();
- out.causeCode = in.causeCode;
- out.vendorCause = in.vendorCause;
- return out;
- }
-
- static public android.hardware.radio.GsmSignalStrength h2aTranslate(
- android.hardware.radio.V1_0.GsmSignalStrength in) {
- android.hardware.radio.GsmSignalStrength out =
- new android.hardware.radio.GsmSignalStrength();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.signalStrength > 2147483647 || in.signalStrength < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.signalStrength");
- }
- out.signalStrength = in.signalStrength;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.bitErrorRate > 2147483647 || in.bitErrorRate < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.bitErrorRate");
- }
- out.bitErrorRate = in.bitErrorRate;
- out.timingAdvance = in.timingAdvance;
- return out;
- }
-
- static public android.hardware.radio.CdmaSignalStrength h2aTranslate(
- android.hardware.radio.V1_0.CdmaSignalStrength in) {
- android.hardware.radio.CdmaSignalStrength out =
- new android.hardware.radio.CdmaSignalStrength();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.dbm > 2147483647 || in.dbm < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.dbm");
- }
- out.dbm = in.dbm;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.ecio > 2147483647 || in.ecio < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.ecio");
- }
- out.ecio = in.ecio;
- return out;
- }
-
- static public android.hardware.radio.EvdoSignalStrength h2aTranslate(
- android.hardware.radio.V1_0.EvdoSignalStrength in) {
- android.hardware.radio.EvdoSignalStrength out =
- new android.hardware.radio.EvdoSignalStrength();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.dbm > 2147483647 || in.dbm < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.dbm");
- }
- out.dbm = in.dbm;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.ecio > 2147483647 || in.ecio < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.ecio");
- }
- out.ecio = in.ecio;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.signalNoiseRatio > 2147483647 || in.signalNoiseRatio < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.signalNoiseRatio");
- }
- out.signalNoiseRatio = in.signalNoiseRatio;
- return out;
- }
-
- static public android.hardware.radio.SendSmsResult h2aTranslate(
- android.hardware.radio.V1_0.SendSmsResult in) {
- android.hardware.radio.SendSmsResult out = new android.hardware.radio.SendSmsResult();
- out.messageRef = in.messageRef;
- out.ackPDU = in.ackPDU;
- out.errorCode = in.errorCode;
- return out;
- }
-
- static public android.hardware.radio.IccIoResult h2aTranslate(
- android.hardware.radio.V1_0.IccIoResult in) {
- android.hardware.radio.IccIoResult out = new android.hardware.radio.IccIoResult();
- out.sw1 = in.sw1;
- out.sw2 = in.sw2;
- out.simResponse = in.simResponse;
- return out;
- }
-
- static public android.hardware.radio.CallForwardInfo h2aTranslate(
- android.hardware.radio.V1_0.CallForwardInfo in) {
- android.hardware.radio.CallForwardInfo out = new android.hardware.radio.CallForwardInfo();
- out.status = in.status;
- out.reason = in.reason;
- out.serviceClass = in.serviceClass;
- out.toa = in.toa;
- out.number = in.number;
- out.timeSeconds = in.timeSeconds;
- return out;
- }
-
- static public android.hardware.radio.OperatorInfo h2aTranslate(
- android.hardware.radio.V1_0.OperatorInfo in) {
- android.hardware.radio.OperatorInfo out = new android.hardware.radio.OperatorInfo();
- out.alphaLong = in.alphaLong;
- out.alphaShort = in.alphaShort;
- out.operatorNumeric = in.operatorNumeric;
- out.status = in.status;
- return out;
- }
-
- static public android.hardware.radio.SmsWriteArgs h2aTranslate(
- android.hardware.radio.V1_0.SmsWriteArgs in) {
- android.hardware.radio.SmsWriteArgs out = new android.hardware.radio.SmsWriteArgs();
- out.status = in.status;
- out.pdu = in.pdu;
- out.smsc = in.smsc;
- return out;
- }
-
- static public android.hardware.radio.CdmaSmsAddress h2aTranslate(
- android.hardware.radio.V1_0.CdmaSmsAddress in) {
- android.hardware.radio.CdmaSmsAddress out = new android.hardware.radio.CdmaSmsAddress();
- out.digitMode = in.digitMode;
- out.numberMode = in.numberMode;
- out.numberType = in.numberType;
- out.numberPlan = in.numberPlan;
- if (in.digits != null) {
- out.digits = new byte[in.digits.size()];
- for (int i = 0; i < in.digits.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.digits.get(i) > 127 || in.digits.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.digits.get(i)");
- }
- out.digits[i] = in.digits.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CdmaSmsSubaddress h2aTranslate(
- android.hardware.radio.V1_0.CdmaSmsSubaddress in) {
- android.hardware.radio.CdmaSmsSubaddress out =
- new android.hardware.radio.CdmaSmsSubaddress();
- out.subaddressType = in.subaddressType;
- out.odd = in.odd;
- if (in.digits != null) {
- out.digits = new byte[in.digits.size()];
- for (int i = 0; i < in.digits.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.digits.get(i) > 127 || in.digits.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.digits.get(i)");
- }
- out.digits[i] = in.digits.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CdmaSmsMessage h2aTranslate(
- android.hardware.radio.V1_0.CdmaSmsMessage in) {
- android.hardware.radio.CdmaSmsMessage out = new android.hardware.radio.CdmaSmsMessage();
- out.teleserviceId = in.teleserviceId;
- out.isServicePresent = in.isServicePresent;
- out.serviceCategory = in.serviceCategory;
- out.address = h2aTranslate(in.address);
- out.subAddress = h2aTranslate(in.subAddress);
- if (in.bearerData != null) {
- out.bearerData = new byte[in.bearerData.size()];
- for (int i = 0; i < in.bearerData.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.bearerData.get(i) > 127 || in.bearerData.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.bearerData.get(i)");
- }
- out.bearerData[i] = in.bearerData.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CdmaSmsAck h2aTranslate(
- android.hardware.radio.V1_0.CdmaSmsAck in) {
- android.hardware.radio.CdmaSmsAck out = new android.hardware.radio.CdmaSmsAck();
- out.errorClass = in.errorClass;
- out.smsCauseCode = in.smsCauseCode;
- return out;
- }
-
- static public android.hardware.radio.CdmaBroadcastSmsConfigInfo h2aTranslate(
- android.hardware.radio.V1_0.CdmaBroadcastSmsConfigInfo in) {
- android.hardware.radio.CdmaBroadcastSmsConfigInfo out =
- new android.hardware.radio.CdmaBroadcastSmsConfigInfo();
- out.serviceCategory = in.serviceCategory;
- out.language = in.language;
- out.selected = in.selected;
- return out;
- }
-
- static public android.hardware.radio.CdmaSmsWriteArgs h2aTranslate(
- android.hardware.radio.V1_0.CdmaSmsWriteArgs in) {
- android.hardware.radio.CdmaSmsWriteArgs out = new android.hardware.radio.CdmaSmsWriteArgs();
- out.status = in.status;
- out.message = h2aTranslate(in.message);
- return out;
- }
-
- static public android.hardware.radio.GsmBroadcastSmsConfigInfo h2aTranslate(
- android.hardware.radio.V1_0.GsmBroadcastSmsConfigInfo in) {
- android.hardware.radio.GsmBroadcastSmsConfigInfo out =
- new android.hardware.radio.GsmBroadcastSmsConfigInfo();
- out.fromServiceId = in.fromServiceId;
- out.toServiceId = in.toServiceId;
- out.fromCodeScheme = in.fromCodeScheme;
- out.toCodeScheme = in.toCodeScheme;
- out.selected = in.selected;
- return out;
- }
-
- static public android.hardware.radio.GsmSmsMessage h2aTranslate(
- android.hardware.radio.V1_0.GsmSmsMessage in) {
- android.hardware.radio.GsmSmsMessage out = new android.hardware.radio.GsmSmsMessage();
- out.smscPdu = in.smscPdu;
- out.pdu = in.pdu;
- return out;
- }
-
- static public android.hardware.radio.ImsSmsMessage h2aTranslate(
- android.hardware.radio.V1_0.ImsSmsMessage in) {
- android.hardware.radio.ImsSmsMessage out = new android.hardware.radio.ImsSmsMessage();
- out.tech = in.tech;
- out.retry = in.retry;
- out.messageRef = in.messageRef;
- if (in.cdmaMessage != null) {
- out.cdmaMessage = new android.hardware.radio.CdmaSmsMessage[in.cdmaMessage.size()];
- for (int i = 0; i < in.cdmaMessage.size(); i++) {
- out.cdmaMessage[i] = h2aTranslate(in.cdmaMessage.get(i));
- }
- }
- if (in.gsmMessage != null) {
- out.gsmMessage = new android.hardware.radio.GsmSmsMessage[in.gsmMessage.size()];
- for (int i = 0; i < in.gsmMessage.size(); i++) {
- out.gsmMessage[i] = h2aTranslate(in.gsmMessage.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SimApdu h2aTranslate(
- android.hardware.radio.V1_0.SimApdu in) {
- android.hardware.radio.SimApdu out = new android.hardware.radio.SimApdu();
- out.sessionId = in.sessionId;
- out.cla = in.cla;
- out.instruction = in.instruction;
- out.p1 = in.p1;
- out.p2 = in.p2;
- out.p3 = in.p3;
- out.data = in.data;
- return out;
- }
-
- static public android.hardware.radio.NvWriteItem h2aTranslate(
- android.hardware.radio.V1_0.NvWriteItem in) {
- android.hardware.radio.NvWriteItem out = new android.hardware.radio.NvWriteItem();
- out.itemId = in.itemId;
- out.value = in.value;
- return out;
- }
-
- static public android.hardware.radio.SelectUiccSub h2aTranslate(
- android.hardware.radio.V1_0.SelectUiccSub in) {
- android.hardware.radio.SelectUiccSub out = new android.hardware.radio.SelectUiccSub();
- out.slot = in.slot;
- out.appIndex = in.appIndex;
- out.subType = in.subType;
- out.actStatus = in.actStatus;
- return out;
- }
-
- static public android.hardware.radio.HardwareConfigModem h2aTranslate(
- android.hardware.radio.V1_0.HardwareConfigModem in) {
- android.hardware.radio.HardwareConfigModem out =
- new android.hardware.radio.HardwareConfigModem();
- out.rilModel = in.rilModel;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.rat > 2147483647 || in.rat < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.rat");
- }
- out.rat = in.rat;
- out.maxVoice = in.maxVoice;
- out.maxData = in.maxData;
- out.maxStandby = in.maxStandby;
- return out;
- }
-
- static public android.hardware.radio.HardwareConfigSim h2aTranslate(
- android.hardware.radio.V1_0.HardwareConfigSim in) {
- android.hardware.radio.HardwareConfigSim out =
- new android.hardware.radio.HardwareConfigSim();
- out.modemUuid = in.modemUuid;
- return out;
- }
-
- static public android.hardware.radio.HardwareConfig h2aTranslate(
- android.hardware.radio.V1_0.HardwareConfig in) {
- android.hardware.radio.HardwareConfig out = new android.hardware.radio.HardwareConfig();
- out.type = in.type;
- out.uuid = in.uuid;
- out.state = in.state;
- if (in.modem != null) {
- out.modem = new android.hardware.radio.HardwareConfigModem[in.modem.size()];
- for (int i = 0; i < in.modem.size(); i++) {
- out.modem[i] = h2aTranslate(in.modem.get(i));
- }
- }
- if (in.sim != null) {
- out.sim = new android.hardware.radio.HardwareConfigSim[in.sim.size()];
- for (int i = 0; i < in.sim.size(); i++) {
- out.sim[i] = h2aTranslate(in.sim.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.LceStatusInfo h2aTranslate(
- android.hardware.radio.V1_0.LceStatusInfo in) {
- android.hardware.radio.LceStatusInfo out = new android.hardware.radio.LceStatusInfo();
- out.lceStatus = in.lceStatus;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.actualIntervalMs > 127 || in.actualIntervalMs < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.actualIntervalMs");
- }
- out.actualIntervalMs = in.actualIntervalMs;
- return out;
- }
-
- static public android.hardware.radio.LceDataInfo h2aTranslate(
- android.hardware.radio.V1_0.LceDataInfo in) {
- android.hardware.radio.LceDataInfo out = new android.hardware.radio.LceDataInfo();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.lastHopCapacityKbps > 2147483647 || in.lastHopCapacityKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.lastHopCapacityKbps");
- }
- out.lastHopCapacityKbps = in.lastHopCapacityKbps;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.confidenceLevel > 127 || in.confidenceLevel < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.confidenceLevel");
- }
- out.confidenceLevel = in.confidenceLevel;
- out.lceSuspended = in.lceSuspended;
- return out;
- }
-
- static public android.hardware.radio.ActivityStatsInfo h2aTranslate(
- android.hardware.radio.V1_0.ActivityStatsInfo in) {
- android.hardware.radio.ActivityStatsInfo out =
- new android.hardware.radio.ActivityStatsInfo();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.sleepModeTimeMs > 2147483647 || in.sleepModeTimeMs < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.sleepModeTimeMs");
- }
- out.sleepModeTimeMs = in.sleepModeTimeMs;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.idleModeTimeMs > 2147483647 || in.idleModeTimeMs < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.idleModeTimeMs");
- }
- out.idleModeTimeMs = in.idleModeTimeMs;
- if (in.txmModetimeMs != null) {
- out.txmModetimeMs = new int[in.txmModetimeMs.length];
- for (int i = 0; i < in.txmModetimeMs.length; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.txmModetimeMs[i] > 2147483647 || in.txmModetimeMs[i] < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.txmModetimeMs[i]");
- }
- out.txmModetimeMs[i] = in.txmModetimeMs[i];
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.rxModeTimeMs > 2147483647 || in.rxModeTimeMs < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.rxModeTimeMs");
- }
- out.rxModeTimeMs = in.rxModeTimeMs;
- return out;
- }
-
- static public android.hardware.radio.Carrier h2aTranslate(
- android.hardware.radio.V1_0.Carrier in) {
- android.hardware.radio.Carrier out = new android.hardware.radio.Carrier();
- out.mcc = in.mcc;
- out.mnc = in.mnc;
- out.matchType = in.matchType;
- out.matchData = in.matchData;
- return out;
- }
-
- static public android.hardware.radio.CarrierRestrictions h2aTranslate(
- android.hardware.radio.V1_0.CarrierRestrictions in) {
- android.hardware.radio.CarrierRestrictions out =
- new android.hardware.radio.CarrierRestrictions();
- if (in.allowedCarriers != null) {
- out.allowedCarriers = new android.hardware.radio.Carrier[in.allowedCarriers.size()];
- for (int i = 0; i < in.allowedCarriers.size(); i++) {
- out.allowedCarriers[i] = h2aTranslate(in.allowedCarriers.get(i));
- }
- }
- if (in.excludedCarriers != null) {
- out.excludedCarriers = new android.hardware.radio.Carrier[in.excludedCarriers.size()];
- for (int i = 0; i < in.excludedCarriers.size(); i++) {
- out.excludedCarriers[i] = h2aTranslate(in.excludedCarriers.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SuppSvcNotification h2aTranslate(
- android.hardware.radio.V1_0.SuppSvcNotification in) {
- android.hardware.radio.SuppSvcNotification out =
- new android.hardware.radio.SuppSvcNotification();
- out.isMT = in.isMT;
- out.code = in.code;
- out.index = in.index;
- out.type = in.type;
- out.number = in.number;
- return out;
- }
-
- static public android.hardware.radio.SimRefreshResult h2aTranslate(
- android.hardware.radio.V1_0.SimRefreshResult in) {
- android.hardware.radio.SimRefreshResult out = new android.hardware.radio.SimRefreshResult();
- out.type = in.type;
- out.efId = in.efId;
- out.aid = in.aid;
- return out;
- }
-
- static public android.hardware.radio.CdmaSignalInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaSignalInfoRecord in) {
- android.hardware.radio.CdmaSignalInfoRecord out =
- new android.hardware.radio.CdmaSignalInfoRecord();
- out.isPresent = in.isPresent;
- out.signalType = in.signalType;
- out.alertPitch = in.alertPitch;
- out.signal = in.signal;
- return out;
- }
-
- static public android.hardware.radio.CdmaCallWaiting h2aTranslate(
- android.hardware.radio.V1_0.CdmaCallWaiting in) {
- android.hardware.radio.CdmaCallWaiting out = new android.hardware.radio.CdmaCallWaiting();
- out.number = in.number;
- out.numberPresentation = in.numberPresentation;
- out.name = in.name;
- out.signalInfoRecord = h2aTranslate(in.signalInfoRecord);
- out.numberType = in.numberType;
- out.numberPlan = in.numberPlan;
- return out;
- }
-
- static public android.hardware.radio.CdmaDisplayInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaDisplayInfoRecord in) {
- android.hardware.radio.CdmaDisplayInfoRecord out =
- new android.hardware.radio.CdmaDisplayInfoRecord();
- out.alphaBuf = in.alphaBuf;
- return out;
- }
-
- static public android.hardware.radio.CdmaNumberInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaNumberInfoRecord in) {
- android.hardware.radio.CdmaNumberInfoRecord out =
- new android.hardware.radio.CdmaNumberInfoRecord();
- out.number = in.number;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.numberType > 127 || in.numberType < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.numberType");
- }
- out.numberType = in.numberType;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.numberPlan > 127 || in.numberPlan < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.numberPlan");
- }
- out.numberPlan = in.numberPlan;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.pi > 127 || in.pi < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.pi");
- }
- out.pi = in.pi;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.si > 127 || in.si < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.si");
- }
- out.si = in.si;
- return out;
- }
-
- static public android.hardware.radio.CdmaRedirectingNumberInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaRedirectingNumberInfoRecord in) {
- android.hardware.radio.CdmaRedirectingNumberInfoRecord out =
- new android.hardware.radio.CdmaRedirectingNumberInfoRecord();
- out.redirectingNumber = h2aTranslate(in.redirectingNumber);
- out.redirectingReason = in.redirectingReason;
- return out;
- }
-
- static public android.hardware.radio.CdmaLineControlInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaLineControlInfoRecord in) {
- android.hardware.radio.CdmaLineControlInfoRecord out =
- new android.hardware.radio.CdmaLineControlInfoRecord();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.lineCtrlPolarityIncluded > 127 || in.lineCtrlPolarityIncluded < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlPolarityIncluded");
- }
- out.lineCtrlPolarityIncluded = in.lineCtrlPolarityIncluded;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.lineCtrlToggle > 127 || in.lineCtrlToggle < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlToggle");
- }
- out.lineCtrlToggle = in.lineCtrlToggle;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.lineCtrlReverse > 127 || in.lineCtrlReverse < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlReverse");
- }
- out.lineCtrlReverse = in.lineCtrlReverse;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.lineCtrlPowerDenial > 127 || in.lineCtrlPowerDenial < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlPowerDenial");
- }
- out.lineCtrlPowerDenial = in.lineCtrlPowerDenial;
- return out;
- }
-
- static public android.hardware.radio.CdmaT53ClirInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaT53ClirInfoRecord in) {
- android.hardware.radio.CdmaT53ClirInfoRecord out =
- new android.hardware.radio.CdmaT53ClirInfoRecord();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.cause > 127 || in.cause < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.cause");
- }
- out.cause = in.cause;
- return out;
- }
-
- static public android.hardware.radio.CdmaT53AudioControlInfoRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaT53AudioControlInfoRecord in) {
- android.hardware.radio.CdmaT53AudioControlInfoRecord out =
- new android.hardware.radio.CdmaT53AudioControlInfoRecord();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.upLink > 127 || in.upLink < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.upLink");
- }
- out.upLink = in.upLink;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.downLink > 127 || in.downLink < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.downLink");
- }
- out.downLink = in.downLink;
- return out;
- }
-
- static public android.hardware.radio.CdmaInformationRecord h2aTranslate(
- android.hardware.radio.V1_0.CdmaInformationRecord in) {
- android.hardware.radio.CdmaInformationRecord out =
- new android.hardware.radio.CdmaInformationRecord();
- out.name = in.name;
- if (in.display != null) {
- out.display = new android.hardware.radio.CdmaDisplayInfoRecord[in.display.size()];
- for (int i = 0; i < in.display.size(); i++) {
- out.display[i] = h2aTranslate(in.display.get(i));
- }
- }
- if (in.number != null) {
- out.number = new android.hardware.radio.CdmaNumberInfoRecord[in.number.size()];
- for (int i = 0; i < in.number.size(); i++) {
- out.number[i] = h2aTranslate(in.number.get(i));
- }
- }
- if (in.signal != null) {
- out.signal = new android.hardware.radio.CdmaSignalInfoRecord[in.signal.size()];
- for (int i = 0; i < in.signal.size(); i++) {
- out.signal[i] = h2aTranslate(in.signal.get(i));
- }
- }
- if (in.redir != null) {
- out.redir = new android.hardware.radio.CdmaRedirectingNumberInfoRecord[in.redir.size()];
- for (int i = 0; i < in.redir.size(); i++) {
- out.redir[i] = h2aTranslate(in.redir.get(i));
- }
- }
- if (in.lineCtrl != null) {
- out.lineCtrl = new android.hardware.radio.CdmaLineControlInfoRecord[in.lineCtrl.size()];
- for (int i = 0; i < in.lineCtrl.size(); i++) {
- out.lineCtrl[i] = h2aTranslate(in.lineCtrl.get(i));
- }
- }
- if (in.clir != null) {
- out.clir = new android.hardware.radio.CdmaT53ClirInfoRecord[in.clir.size()];
- for (int i = 0; i < in.clir.size(); i++) {
- out.clir[i] = h2aTranslate(in.clir.get(i));
- }
- }
- if (in.audioCtrl != null) {
- out.audioCtrl =
- new android.hardware.radio.CdmaT53AudioControlInfoRecord[in.audioCtrl.size()];
- for (int i = 0; i < in.audioCtrl.size(); i++) {
- out.audioCtrl[i] = h2aTranslate(in.audioCtrl.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CdmaInformationRecords h2aTranslate(
- android.hardware.radio.V1_0.CdmaInformationRecords in) {
- android.hardware.radio.CdmaInformationRecords out =
- new android.hardware.radio.CdmaInformationRecords();
- if (in.infoRec != null) {
- out.infoRec = new android.hardware.radio.CdmaInformationRecord[in.infoRec.size()];
- for (int i = 0; i < in.infoRec.size(); i++) {
- out.infoRec[i] = h2aTranslate(in.infoRec.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CfData h2aTranslate(
- android.hardware.radio.V1_0.CfData in) {
- android.hardware.radio.CfData out = new android.hardware.radio.CfData();
- if (in.cfInfo != null) {
- out.cfInfo = new android.hardware.radio.CallForwardInfo[in.cfInfo.size()];
- for (int i = 0; i < in.cfInfo.size(); i++) {
- out.cfInfo[i] = h2aTranslate(in.cfInfo.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SsInfoData h2aTranslate(
- android.hardware.radio.V1_0.SsInfoData in) {
- android.hardware.radio.SsInfoData out = new android.hardware.radio.SsInfoData();
- if (in.ssInfo != null) {
- out.ssInfo = new int[in.ssInfo.size()];
- for (int i = 0; i < in.ssInfo.size(); i++) {
- out.ssInfo[i] = in.ssInfo.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.StkCcUnsolSsResult h2aTranslate(
- android.hardware.radio.V1_0.StkCcUnsolSsResult in) {
- android.hardware.radio.StkCcUnsolSsResult out =
- new android.hardware.radio.StkCcUnsolSsResult();
- out.serviceType = in.serviceType;
- out.requestType = in.requestType;
- out.teleserviceType = in.teleserviceType;
- out.serviceClass = in.serviceClass;
- out.result = in.result;
- if (in.ssInfo != null) {
- out.ssInfo = new android.hardware.radio.SsInfoData[in.ssInfo.size()];
- for (int i = 0; i < in.ssInfo.size(); i++) {
- out.ssInfo[i] = h2aTranslate(in.ssInfo.get(i));
- }
- }
- if (in.cfData != null) {
- out.cfData = new android.hardware.radio.CfData[in.cfData.size()];
- for (int i = 0; i < in.cfData.size(); i++) {
- out.cfData[i] = h2aTranslate(in.cfData.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.PcoDataInfo h2aTranslate(
- android.hardware.radio.V1_0.PcoDataInfo in) {
- android.hardware.radio.PcoDataInfo out = new android.hardware.radio.PcoDataInfo();
- out.cid = in.cid;
- out.bearerProto = in.bearerProto;
- out.pcoId = in.pcoId;
- if (in.contents != null) {
- out.contents = new byte[in.contents.size()];
- for (int i = 0; i < in.contents.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.contents.get(i) > 127 || in.contents.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.contents.get(i)");
- }
- out.contents[i] = in.contents.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.KeepaliveRequest h2aTranslate(
- android.hardware.radio.V1_1.KeepaliveRequest in) {
- android.hardware.radio.KeepaliveRequest out = new android.hardware.radio.KeepaliveRequest();
- out.type = in.type;
- if (in.sourceAddress != null) {
- out.sourceAddress = new byte[in.sourceAddress.size()];
- for (int i = 0; i < in.sourceAddress.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.sourceAddress.get(i) > 127 || in.sourceAddress.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.sourceAddress.get(i)");
- }
- out.sourceAddress[i] = in.sourceAddress.get(i);
- }
- }
- out.sourcePort = in.sourcePort;
- if (in.destinationAddress != null) {
- out.destinationAddress = new byte[in.destinationAddress.size()];
- for (int i = 0; i < in.destinationAddress.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.destinationAddress.get(i) > 127 || in.destinationAddress.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.destinationAddress.get(i)");
- }
- out.destinationAddress[i] = in.destinationAddress.get(i);
- }
- }
- out.destinationPort = in.destinationPort;
- out.maxKeepaliveIntervalMillis = in.maxKeepaliveIntervalMillis;
- out.cid = in.cid;
- return out;
- }
-
- static public android.hardware.radio.KeepaliveStatus h2aTranslate(
- android.hardware.radio.V1_1.KeepaliveStatus in) {
- android.hardware.radio.KeepaliveStatus out = new android.hardware.radio.KeepaliveStatus();
- out.sessionHandle = in.sessionHandle;
- out.code = in.code;
- return out;
- }
-
- static public android.hardware.radio.CellIdentityOperatorNames h2aTranslate(
- android.hardware.radio.V1_2.CellIdentityOperatorNames in) {
- android.hardware.radio.CellIdentityOperatorNames out =
- new android.hardware.radio.CellIdentityOperatorNames();
- out.alphaLong = in.alphaLong;
- out.alphaShort = in.alphaShort;
- return out;
- }
-
- static public android.hardware.radio.CellIdentityCdma h2aTranslate(
- android.hardware.radio.V1_2.CellIdentityCdma in) {
- android.hardware.radio.CellIdentityCdma out = new android.hardware.radio.CellIdentityCdma();
- out.networkId = in.base.networkId;
- out.systemId = in.base.systemId;
- out.baseStationId = in.base.baseStationId;
- out.longitude = in.base.longitude;
- out.latitude = in.base.latitude;
- out.operatorNames = h2aTranslate(in.operatorNames);
- return out;
- }
-
- static public android.hardware.radio.CellInfoCdma h2aTranslate(
- android.hardware.radio.V1_2.CellInfoCdma in) {
- android.hardware.radio.CellInfoCdma out = new android.hardware.radio.CellInfoCdma();
- out.cellIdentityCdma = h2aTranslate(in.cellIdentityCdma);
- out.signalStrengthCdma = h2aTranslate(in.signalStrengthCdma);
- out.signalStrengthEvdo = h2aTranslate(in.signalStrengthEvdo);
- return out;
- }
-
- static public android.hardware.radio.WcdmaSignalStrength h2aTranslate(
- android.hardware.radio.V1_2.WcdmaSignalStrength in) {
- android.hardware.radio.WcdmaSignalStrength out =
- new android.hardware.radio.WcdmaSignalStrength();
- out.signalStrength = in.base.signalStrength;
- out.bitErrorRate = in.base.bitErrorRate;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.rscp > 2147483647 || in.rscp < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.rscp");
- }
- out.rscp = in.rscp;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.ecno > 2147483647 || in.ecno < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.ecno");
- }
- out.ecno = in.ecno;
- return out;
- }
-
- static public android.hardware.radio.TdscdmaSignalStrength h2aTranslate(
- android.hardware.radio.V1_2.TdscdmaSignalStrength in) {
- android.hardware.radio.TdscdmaSignalStrength out =
- new android.hardware.radio.TdscdmaSignalStrength();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.signalStrength > 2147483647 || in.signalStrength < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.signalStrength");
- }
- out.signalStrength = in.signalStrength;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.bitErrorRate > 2147483647 || in.bitErrorRate < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.bitErrorRate");
- }
- out.bitErrorRate = in.bitErrorRate;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.rscp > 2147483647 || in.rscp < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.rscp");
- }
- out.rscp = in.rscp;
- return out;
- }
-
- static public android.hardware.radio.VoiceRegStateResult h2aTranslate(
- android.hardware.radio.V1_2.VoiceRegStateResult in) {
- android.hardware.radio.VoiceRegStateResult out =
- new android.hardware.radio.VoiceRegStateResult();
- out.regState = in.regState;
- out.rat = in.rat;
- out.cssSupported = in.cssSupported;
- out.roamingIndicator = in.roamingIndicator;
- out.systemIsInPrl = in.systemIsInPrl;
- out.defaultRoamingIndicator = in.defaultRoamingIndicator;
- out.reasonForDenial = in.reasonForDenial;
- // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- return out;
- }
-
- static public android.hardware.radio.RadioResponseInfoModem h2aTranslate(
- android.hardware.radio.V1_3.RadioResponseInfoModem in) {
- android.hardware.radio.RadioResponseInfoModem out =
- new android.hardware.radio.RadioResponseInfoModem();
- out.type = in.type;
- out.serial = in.serial;
- out.error = in.error;
- out.isEnabled = in.isEnabled;
- return out;
- }
-
- static public android.hardware.radio.EmergencyNumber h2aTranslate(
- android.hardware.radio.V1_4.EmergencyNumber in) {
- android.hardware.radio.EmergencyNumber out = new android.hardware.radio.EmergencyNumber();
- out.number = in.number;
- out.mcc = in.mcc;
- out.mnc = in.mnc;
- out.categories = in.categories;
- if (in.urns != null) {
- out.urns = new String[in.urns.size()];
- for (int i = 0; i < in.urns.size(); i++) {
- out.urns[i] = in.urns.get(i);
- }
- }
- out.sources = in.sources;
- return out;
- }
-
- static public android.hardware.radio.RadioFrequencyInfo h2aTranslate(
- android.hardware.radio.V1_4.RadioFrequencyInfo in) {
- android.hardware.radio.RadioFrequencyInfo out =
- new android.hardware.radio.RadioFrequencyInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_4.RadioFrequencyInfo.hidl_discriminator.range:
- out.setRange(in.range());
- break;
- case android.hardware.radio.V1_4.RadioFrequencyInfo.hidl_discriminator.channelNumber:
- out.setChannelNumber(in.channelNumber());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.LteVopsInfo h2aTranslate(
- android.hardware.radio.V1_4.LteVopsInfo in) {
- android.hardware.radio.LteVopsInfo out = new android.hardware.radio.LteVopsInfo();
- out.isVopsSupported = in.isVopsSupported;
- out.isEmcBearerSupported = in.isEmcBearerSupported;
- return out;
- }
-
- static public android.hardware.radio.NrIndicators h2aTranslate(
- android.hardware.radio.V1_4.NrIndicators in) {
- android.hardware.radio.NrIndicators out = new android.hardware.radio.NrIndicators();
- out.isEndcAvailable = in.isEndcAvailable;
- out.isDcNrRestricted = in.isDcNrRestricted;
- out.isNrAvailable = in.isNrAvailable;
- return out;
- }
-
- static public android.hardware.radio.DataRegStateResult h2aTranslate(
- android.hardware.radio.V1_4.DataRegStateResult in) {
- android.hardware.radio.DataRegStateResult out =
- new android.hardware.radio.DataRegStateResult();
- out.regState = in.base.regState;
- out.rat = in.base.rat;
- out.reasonDataDenied = in.base.reasonDataDenied;
- out.maxDataCalls = in.base.maxDataCalls;
- // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- out.vopsInfo = h2aTranslate(in.vopsInfo);
- out.nrIndicators = h2aTranslate(in.nrIndicators);
- return out;
- }
-
- static public android.hardware.radio.DataRegStateResultVopsInfo h2aTranslate(
- android.hardware.radio.V1_4.DataRegStateResult.VopsInfo in) {
- android.hardware.radio.DataRegStateResultVopsInfo out =
- new android.hardware.radio.DataRegStateResultVopsInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_4.DataRegStateResult.VopsInfo.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_4.DataRegStateResult.VopsInfo.hidl_discriminator
- .lteVopsInfo:
- out.setLteVopsInfo(h2aTranslate(in.lteVopsInfo()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.CellConfigLte h2aTranslate(
- android.hardware.radio.V1_4.CellConfigLte in) {
- android.hardware.radio.CellConfigLte out = new android.hardware.radio.CellConfigLte();
- out.isEndcAvailable = in.isEndcAvailable;
- return out;
- }
-
- static public android.hardware.radio.CellInfoInfo h2aTranslate(
- android.hardware.radio.V1_4.CellInfo.Info in) {
- android.hardware.radio.CellInfoInfo out = new android.hardware.radio.CellInfoInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.gsm:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoGsm
- // That type's package needs to be converted separately and the corresponding
- // translate function should be added here.
- break;
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.cdma:
- out.setCdma(h2aTranslate(in.cdma()));
- break;
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.wcdma:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoWcdma
- // That type's package needs to be converted separately and the corresponding
- // translate function should be added here.
- break;
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.tdscdma:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoTdscdma
- // That type's package needs to be converted separately and the corresponding
- // translate function should be added here.
- break;
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.lte:
- // FIXME Unknown type: android.hardware.radio@1.4::CellInfoLte
- // That type's package needs to be converted separately and the corresponding
- // translate function should be added here.
- break;
- case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.nr:
- // FIXME Unknown type: android.hardware.radio@1.4::CellInfoNr
- // That type's package needs to be converted separately and the corresponding
- // translate function should be added here.
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.RadioCapability h2aTranslate(
- android.hardware.radio.V1_4.RadioCapability in) {
- android.hardware.radio.RadioCapability out = new android.hardware.radio.RadioCapability();
- out.session = in.session;
- out.phase = in.phase;
- out.raf = in.raf;
- out.logicalModemUuid = in.logicalModemUuid;
- out.status = in.status;
- return out;
- }
-
- static public android.hardware.radio.CarrierRestrictionsWithPriority h2aTranslate(
- android.hardware.radio.V1_4.CarrierRestrictionsWithPriority in) {
- android.hardware.radio.CarrierRestrictionsWithPriority out =
- new android.hardware.radio.CarrierRestrictionsWithPriority();
- if (in.allowedCarriers != null) {
- out.allowedCarriers = new android.hardware.radio.Carrier[in.allowedCarriers.size()];
- for (int i = 0; i < in.allowedCarriers.size(); i++) {
- out.allowedCarriers[i] = h2aTranslate(in.allowedCarriers.get(i));
- }
- }
- if (in.excludedCarriers != null) {
- out.excludedCarriers = new android.hardware.radio.Carrier[in.excludedCarriers.size()];
- for (int i = 0; i < in.excludedCarriers.size(); i++) {
- out.excludedCarriers[i] = h2aTranslate(in.excludedCarriers.get(i));
- }
- }
- out.allowedCarriersPrioritized = in.allowedCarriersPrioritized;
- return out;
- }
-
- static public android.hardware.radio.RadioAccessSpecifier h2aTranslate(
- android.hardware.radio.V1_5.RadioAccessSpecifier in) {
- android.hardware.radio.RadioAccessSpecifier out =
- new android.hardware.radio.RadioAccessSpecifier();
- out.radioAccessNetwork = in.radioAccessNetwork;
- out.bands = h2aTranslate(in.bands);
- if (in.channels != null) {
- out.channels = new int[in.channels.size()];
- for (int i = 0; i < in.channels.size(); i++) {
- out.channels[i] = in.channels.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.RadioAccessSpecifierBands h2aTranslate(
- android.hardware.radio.V1_5.RadioAccessSpecifier.Bands in) {
- android.hardware.radio.RadioAccessSpecifierBands out =
- new android.hardware.radio.RadioAccessSpecifierBands();
- List<Integer> bands;
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator
- .geranBands:
- bands = in.geranBands();
- if (bands != null) {
- int[] geranBands = new int[bands.size()];
- for (int i = 0; i < bands.size(); i++) {
- geranBands[i] = bands.get(i);
- }
- out.geranBands(geranBands);
- }
- break;
- case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator
- .utranBands:
- bands = in.utranBands();
- if (bands != null) {
- int[] utranBands = new int[bands.size()];
- for (int i = 0; i < bands.size(); i++) {
- utranBands[i] = bands.get(i);
- }
- out.utranBands(utranBands);
- }
- break;
- case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator
- .eutranBands:
- bands = in.eutranBands();
- if (bands != null) {
- int[] eutranBands = new int[bands.size()];
- for (int i = 0; i < bands.size(); i++) {
- eutranBands[i] = bands.get(i);
- }
- out.eutranBands(eutranBands);
- }
- break;
- case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator
- .ngranBands:
- bands = in.ngranBands();
- if (bands != null) {
- int[] ngranBands = new int[bands.size()];
- for (int i = 0; i < bands.size(); i++) {
- ngranBands[i] = bands.get(i);
- }
- out.ngranBands(ngranBands);
- }
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.SignalThresholdInfo h2aTranslate(
- android.hardware.radio.V1_5.SignalThresholdInfo in) {
- android.hardware.radio.SignalThresholdInfo out =
- new android.hardware.radio.SignalThresholdInfo();
- out.signalMeasurement = in.signalMeasurement;
- out.hysteresisMs = in.hysteresisMs;
- out.hysteresisDb = in.hysteresisDb;
- if (in.thresholds != null) {
- out.thresholds = new int[in.thresholds.size()];
- for (int i = 0; i < in.thresholds.size(); i++) {
- out.thresholds[i] = in.thresholds.get(i);
- }
- }
- out.isEnabled = in.isEnabled;
- return out;
- }
-
- static public android.hardware.radio.NetworkScanRequest h2aTranslate(
- android.hardware.radio.V1_5.NetworkScanRequest in) {
- android.hardware.radio.NetworkScanRequest out =
- new android.hardware.radio.NetworkScanRequest();
- out.type = in.type;
- out.interval = in.interval;
- if (in.specifiers != null) {
- out.specifiers = new android.hardware.radio.RadioAccessSpecifier[in.specifiers.size()];
- for (int i = 0; i < in.specifiers.size(); i++) {
- out.specifiers[i] = h2aTranslate(in.specifiers.get(i));
- }
- }
- out.maxSearchTime = in.maxSearchTime;
- out.incrementalResults = in.incrementalResults;
- out.incrementalResultsPeriodicity = in.incrementalResultsPeriodicity;
- if (in.mccMncs != null) {
- out.mccMncs = new String[in.mccMncs.size()];
- for (int i = 0; i < in.mccMncs.size(); i++) {
- out.mccMncs[i] = in.mccMncs.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.DataProfileInfo h2aTranslate(
- android.hardware.radio.V1_5.DataProfileInfo in) {
- android.hardware.radio.DataProfileInfo out = new android.hardware.radio.DataProfileInfo();
- out.profileId = in.profileId;
- out.apn = in.apn;
- out.protocol = in.protocol;
- out.roamingProtocol = in.roamingProtocol;
- out.authType = in.authType;
- out.user = in.user;
- out.password = in.password;
- out.type = in.type;
- out.maxConnsTime = in.maxConnsTime;
- out.maxConns = in.maxConns;
- out.waitTime = in.waitTime;
- out.enabled = in.enabled;
- out.supportedApnTypesBitmap = in.supportedApnTypesBitmap;
- out.bearerBitmap = in.bearerBitmap;
- out.mtuV4 = in.mtuV4;
- out.mtuV6 = in.mtuV6;
- out.preferred = in.preferred;
- out.persistent = in.persistent;
- return out;
- }
-
- static public android.hardware.radio.LinkAddress h2aTranslate(
- android.hardware.radio.V1_5.LinkAddress in) {
- android.hardware.radio.LinkAddress out = new android.hardware.radio.LinkAddress();
- out.address = in.address;
- out.properties = in.properties;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.deprecationTime > 9223372036854775807L || in.deprecationTime < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.deprecationTime");
- }
- out.deprecationTime = in.deprecationTime;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.expirationTime > 9223372036854775807L || in.expirationTime < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.expirationTime");
- }
- out.expirationTime = in.expirationTime;
- return out;
- }
-
- static public android.hardware.radio.ClosedSubscriberGroupInfo h2aTranslate(
- android.hardware.radio.V1_5.ClosedSubscriberGroupInfo in) {
- android.hardware.radio.ClosedSubscriberGroupInfo out =
- new android.hardware.radio.ClosedSubscriberGroupInfo();
- out.csgIndication = in.csgIndication;
- out.homeNodebName = in.homeNodebName;
- out.csgIdentity = in.csgIdentity;
- return out;
- }
-
- static public android.hardware.radio.OptionalCsgInfo h2aTranslate(
- android.hardware.radio.V1_5.OptionalCsgInfo in) {
- android.hardware.radio.OptionalCsgInfo out = new android.hardware.radio.OptionalCsgInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_5.OptionalCsgInfo.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_5.OptionalCsgInfo.hidl_discriminator.csgInfo:
- out.setCsgInfo(h2aTranslate(in.csgInfo()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.CellIdentityGsm h2aTranslate(
- android.hardware.radio.V1_5.CellIdentityGsm in) {
- android.hardware.radio.CellIdentityGsm out = new android.hardware.radio.CellIdentityGsm();
- out.mcc = in.base.base.mcc;
- out.mnc = in.base.base.mnc;
- out.lac = in.base.base.lac;
- out.cid = in.base.base.cid;
- out.arfcn = in.base.base.arfcn;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.base.bsic > 127 || in.base.base.bsic < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.base.bsic");
- }
- out.bsic = in.base.base.bsic;
- out.operatorNames = h2aTranslate(in.base.operatorNames);
- if (in.additionalPlmns != null) {
- out.additionalPlmns = new String[in.additionalPlmns.size()];
- for (int i = 0; i < in.additionalPlmns.size(); i++) {
- out.additionalPlmns[i] = in.additionalPlmns.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CellIdentityWcdma h2aTranslate(
- android.hardware.radio.V1_5.CellIdentityWcdma in) {
- android.hardware.radio.CellIdentityWcdma out =
- new android.hardware.radio.CellIdentityWcdma();
- out.mcc = in.base.base.mcc;
- out.mnc = in.base.base.mnc;
- out.lac = in.base.base.lac;
- out.cid = in.base.base.cid;
- out.psc = in.base.base.psc;
- out.uarfcn = in.base.base.uarfcn;
- out.operatorNames = h2aTranslate(in.base.operatorNames);
- if (in.additionalPlmns != null) {
- out.additionalPlmns = new String[in.additionalPlmns.size()];
- for (int i = 0; i < in.additionalPlmns.size(); i++) {
- out.additionalPlmns[i] = in.additionalPlmns.get(i);
- }
- }
- out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo);
- return out;
- }
-
- static public android.hardware.radio.CellIdentityTdscdma h2aTranslate(
- android.hardware.radio.V1_5.CellIdentityTdscdma in) {
- android.hardware.radio.CellIdentityTdscdma out =
- new android.hardware.radio.CellIdentityTdscdma();
- out.mcc = in.base.base.mcc;
- out.mnc = in.base.base.mnc;
- out.lac = in.base.base.lac;
- out.cid = in.base.base.cid;
- out.cpid = in.base.base.cpid;
- out.uarfcn = in.base.uarfcn;
- out.operatorNames = h2aTranslate(in.base.operatorNames);
- if (in.additionalPlmns != null) {
- out.additionalPlmns = new String[in.additionalPlmns.size()];
- for (int i = 0; i < in.additionalPlmns.size(); i++) {
- out.additionalPlmns[i] = in.additionalPlmns.get(i);
- }
- }
- out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo);
- return out;
- }
-
- static public android.hardware.radio.CellIdentityLte h2aTranslate(
- android.hardware.radio.V1_5.CellIdentityLte in) {
- android.hardware.radio.CellIdentityLte out = new android.hardware.radio.CellIdentityLte();
- out.mcc = in.base.base.mcc;
- out.mnc = in.base.base.mnc;
- out.ci = in.base.base.ci;
- out.pci = in.base.base.pci;
- out.tac = in.base.base.tac;
- out.earfcn = in.base.base.earfcn;
- out.operatorNames = h2aTranslate(in.base.operatorNames);
- out.bandwidth = in.base.bandwidth;
- if (in.additionalPlmns != null) {
- out.additionalPlmns = new String[in.additionalPlmns.size()];
- for (int i = 0; i < in.additionalPlmns.size(); i++) {
- out.additionalPlmns[i] = in.additionalPlmns.get(i);
- }
- }
- out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo);
- if (in.bands != null) {
- out.bands = new int[in.bands.size()];
- for (int i = 0; i < in.bands.size(); i++) {
- out.bands[i] = in.bands.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CellIdentityNr h2aTranslate(
- android.hardware.radio.V1_5.CellIdentityNr in) {
- android.hardware.radio.CellIdentityNr out = new android.hardware.radio.CellIdentityNr();
- out.mcc = in.base.mcc;
- out.mnc = in.base.mnc;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.nci > 9223372036854775807L || in.base.nci < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.nci");
- }
- out.nci = in.base.nci;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.pci > 2147483647 || in.base.pci < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.pci");
- }
- out.pci = in.base.pci;
- out.tac = in.base.tac;
- out.nrarfcn = in.base.nrarfcn;
- out.operatorNames = h2aTranslate(in.base.operatorNames);
- if (in.additionalPlmns != null) {
- out.additionalPlmns = new String[in.additionalPlmns.size()];
- for (int i = 0; i < in.additionalPlmns.size(); i++) {
- out.additionalPlmns[i] = in.additionalPlmns.get(i);
- }
- }
- if (in.bands != null) {
- out.bands = new int[in.bands.size()];
- for (int i = 0; i < in.bands.size(); i++) {
- out.bands[i] = in.bands.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.CellInfoGsm h2aTranslate(
- android.hardware.radio.V1_5.CellInfoGsm in) {
- android.hardware.radio.CellInfoGsm out = new android.hardware.radio.CellInfoGsm();
- out.cellIdentityGsm = h2aTranslate(in.cellIdentityGsm);
- out.signalStrengthGsm = h2aTranslate(in.signalStrengthGsm);
- return out;
- }
-
- static public android.hardware.radio.CellInfoWcdma h2aTranslate(
- android.hardware.radio.V1_5.CellInfoWcdma in) {
- android.hardware.radio.CellInfoWcdma out = new android.hardware.radio.CellInfoWcdma();
- out.cellIdentityWcdma = h2aTranslate(in.cellIdentityWcdma);
- out.signalStrengthWcdma = h2aTranslate(in.signalStrengthWcdma);
- return out;
- }
-
- static public android.hardware.radio.CellInfoTdscdma h2aTranslate(
- android.hardware.radio.V1_5.CellInfoTdscdma in) {
- android.hardware.radio.CellInfoTdscdma out = new android.hardware.radio.CellInfoTdscdma();
- out.cellIdentityTdscdma = h2aTranslate(in.cellIdentityTdscdma);
- out.signalStrengthTdscdma = h2aTranslate(in.signalStrengthTdscdma);
- return out;
- }
-
- static public android.hardware.radio.CellIdentity h2aTranslate(
- android.hardware.radio.V1_5.CellIdentity in) {
- android.hardware.radio.CellIdentity out = new android.hardware.radio.CellIdentity();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.gsm:
- out.setGsm(h2aTranslate(in.gsm()));
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.wcdma:
- out.setWcdma(h2aTranslate(in.wcdma()));
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.tdscdma:
- out.setTdscdma(h2aTranslate(in.tdscdma()));
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.cdma:
- out.setCdma(h2aTranslate(in.cdma()));
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.lte:
- out.setLte(h2aTranslate(in.lte()));
- break;
- case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.nr:
- out.setNr(h2aTranslate(in.nr()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.BarringInfo h2aTranslate(
- android.hardware.radio.V1_5.BarringInfo in) {
- android.hardware.radio.BarringInfo out = new android.hardware.radio.BarringInfo();
- out.serviceType = in.serviceType;
- out.barringType = in.barringType;
- out.barringTypeSpecificInfo = h2aTranslate(in.barringTypeSpecificInfo);
- return out;
- }
-
- static public android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional h2aTranslate(
- android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.Conditional in) {
- android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional out =
- new android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional();
- out.factor = in.factor;
- out.timeSeconds = in.timeSeconds;
- out.isBarred = in.isBarred;
- return out;
- }
-
- static public android.hardware.radio.BarringInfoBarringTypeSpecificInfo h2aTranslate(
- android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo in) {
- android.hardware.radio.BarringInfoBarringTypeSpecificInfo out =
- new android.hardware.radio.BarringInfoBarringTypeSpecificInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.hidl_discriminator
- .noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.hidl_discriminator
- .conditional:
- out.setConditional(h2aTranslate(in.conditional()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo
- h2aTranslate(android.hardware.radio.V1_5.RegStateResult.AccessTechnologySpecificInfo
- .Cdma2000RegistrationInfo in) {
- android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo out =
- new android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo();
- out.cssSupported = in.cssSupported;
- out.roamingIndicator = in.roamingIndicator;
- out.systemIsInPrl = in.systemIsInPrl;
- out.defaultRoamingIndicator = in.defaultRoamingIndicator;
- return out;
- }
-
- static public android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo
- h2aTranslate(android.hardware.radio.V1_5.RegStateResult.AccessTechnologySpecificInfo
- .EutranRegistrationInfo in) {
- android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo out =
- new android.hardware.radio
- .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo();
- out.lteVopsInfo = h2aTranslate(in.lteVopsInfo);
- out.nrIndicators = h2aTranslate(in.nrIndicators);
- return out;
- }
-
- static public android.hardware.radio.AppStatus h2aTranslate(
- android.hardware.radio.V1_5.AppStatus in) {
- android.hardware.radio.AppStatus out = new android.hardware.radio.AppStatus();
- out.appType = in.base.appType;
- out.appState = in.base.appState;
- out.persoSubstate = in.persoSubstate;
- out.aidPtr = in.base.aidPtr;
- out.appLabelPtr = in.base.appLabelPtr;
- out.pin1Replaced = in.base.pin1Replaced;
- out.pin1 = in.base.pin1;
- out.pin2 = in.base.pin2;
- return out;
- }
-
- static public android.hardware.radio.CardStatus h2aTranslate(
- android.hardware.radio.V1_5.CardStatus in) {
- android.hardware.radio.CardStatus out = new android.hardware.radio.CardStatus();
- out.cardState = in.base.base.base.cardState;
- out.universalPinState = in.base.base.base.universalPinState;
- out.gsmUmtsSubscriptionAppIndex = in.base.base.base.gsmUmtsSubscriptionAppIndex;
- out.cdmaSubscriptionAppIndex = in.base.base.base.cdmaSubscriptionAppIndex;
- out.imsSubscriptionAppIndex = in.base.base.base.imsSubscriptionAppIndex;
- if (in.applications != null) {
- out.applications = new android.hardware.radio.AppStatus[in.applications.size()];
- for (int i = 0; i < in.applications.size(); i++) {
- out.applications[i] = h2aTranslate(in.applications.get(i));
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.base.physicalSlotId > 2147483647 || in.base.base.physicalSlotId < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.base.physicalSlotId");
- }
- out.physicalSlotId = in.base.base.physicalSlotId;
- out.atr = in.base.base.atr;
- out.iccid = in.base.base.iccid;
- out.eid = in.base.eid;
- return out;
- }
-
- static public android.hardware.radio.QosBandwidth h2aTranslate(
- android.hardware.radio.V1_6.QosBandwidth in) {
- android.hardware.radio.QosBandwidth out = new android.hardware.radio.QosBandwidth();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.maxBitrateKbps > 2147483647 || in.maxBitrateKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.maxBitrateKbps");
- }
- out.maxBitrateKbps = in.maxBitrateKbps;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.guaranteedBitrateKbps > 2147483647 || in.guaranteedBitrateKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.guaranteedBitrateKbps");
- }
- out.guaranteedBitrateKbps = in.guaranteedBitrateKbps;
- return out;
- }
-
- static public android.hardware.radio.EpsQos h2aTranslate(
- android.hardware.radio.V1_6.EpsQos in) {
- android.hardware.radio.EpsQos out = new android.hardware.radio.EpsQos();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.qci < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.qci");
- }
- out.qci = (char) in.qci;
- out.downlink = h2aTranslate(in.downlink);
- out.uplink = h2aTranslate(in.uplink);
- return out;
- }
-
- static public android.hardware.radio.NrQos h2aTranslate(android.hardware.radio.V1_6.NrQos in) {
- android.hardware.radio.NrQos out = new android.hardware.radio.NrQos();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.fiveQi < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.fiveQi");
- }
- out.fiveQi = (char) in.fiveQi;
- out.downlink = h2aTranslate(in.downlink);
- out.uplink = h2aTranslate(in.uplink);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.qfi > 127 || in.qfi < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.qfi");
- }
- out.qfi = in.qfi;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.averagingWindowMs < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.averagingWindowMs");
- }
- out.averagingWindowMs = (char) in.averagingWindowMs;
- return out;
- }
-
- static public android.hardware.radio.Qos h2aTranslate(android.hardware.radio.V1_6.Qos in) {
- android.hardware.radio.Qos out = new android.hardware.radio.Qos();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.Qos.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.Qos.hidl_discriminator.eps:
- out.setEps(h2aTranslate(in.eps()));
- break;
- case android.hardware.radio.V1_6.Qos.hidl_discriminator.nr:
- out.setNr(h2aTranslate(in.nr()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.RadioResponseInfo h2aTranslate(
- android.hardware.radio.V1_6.RadioResponseInfo in) {
- android.hardware.radio.RadioResponseInfo out =
- new android.hardware.radio.RadioResponseInfo();
- out.type = in.type;
- out.serial = in.serial;
- out.error = in.error;
- return out;
- }
-
- static public android.hardware.radio.PortRange h2aTranslate(
- android.hardware.radio.V1_6.PortRange in) {
- android.hardware.radio.PortRange out = new android.hardware.radio.PortRange();
- out.start = in.start;
- out.end = in.end;
- return out;
- }
-
- static public android.hardware.radio.MaybePort h2aTranslate(
- android.hardware.radio.V1_6.MaybePort in) {
- android.hardware.radio.MaybePort out = new android.hardware.radio.MaybePort();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.MaybePort.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.MaybePort.hidl_discriminator.range:
- out.setRange(h2aTranslate(in.range()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.QosFilter h2aTranslate(
- android.hardware.radio.V1_6.QosFilter in) {
- android.hardware.radio.QosFilter out = new android.hardware.radio.QosFilter();
- if (in.localAddresses != null) {
- out.localAddresses = new String[in.localAddresses.size()];
- for (int i = 0; i < in.localAddresses.size(); i++) {
- out.localAddresses[i] = in.localAddresses.get(i);
- }
- }
- if (in.remoteAddresses != null) {
- out.remoteAddresses = new String[in.remoteAddresses.size()];
- for (int i = 0; i < in.remoteAddresses.size(); i++) {
- out.remoteAddresses[i] = in.remoteAddresses.get(i);
- }
- }
- out.localPort = h2aTranslate(in.localPort);
- out.remotePort = h2aTranslate(in.remotePort);
- out.protocol = in.protocol;
- out.tos = h2aTranslate(in.tos);
- out.flowLabel = h2aTranslate(in.flowLabel);
- out.spi = h2aTranslate(in.spi);
- out.direction = in.direction;
- out.precedence = in.precedence;
- return out;
- }
-
- static public android.hardware.radio.QosFilterTypeOfService h2aTranslate(
- android.hardware.radio.V1_6.QosFilter.TypeOfService in) {
- android.hardware.radio.QosFilterTypeOfService out =
- new android.hardware.radio.QosFilterTypeOfService();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.QosFilter.TypeOfService.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.QosFilter.TypeOfService.hidl_discriminator.value:
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.value() > 127 || in.value() < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.value()");
- }
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.QosFilterIpv6FlowLabel h2aTranslate(
- android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel in) {
- android.hardware.radio.QosFilterIpv6FlowLabel out =
- new android.hardware.radio.QosFilterIpv6FlowLabel();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel.hidl_discriminator.value:
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.value() > 2147483647 || in.value() < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.value()");
- }
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.QosFilterIpsecSpi h2aTranslate(
- android.hardware.radio.V1_6.QosFilter.IpsecSpi in) {
- android.hardware.radio.QosFilterIpsecSpi out =
- new android.hardware.radio.QosFilterIpsecSpi();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.QosFilter.IpsecSpi.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.QosFilter.IpsecSpi.hidl_discriminator.value:
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.value() > 2147483647 || in.value() < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.value()");
- }
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.QosSession h2aTranslate(
- android.hardware.radio.V1_6.QosSession in) {
- android.hardware.radio.QosSession out = new android.hardware.radio.QosSession();
- out.qosSessionId = in.qosSessionId;
- out.qos = h2aTranslate(in.qos);
- if (in.qosFilters != null) {
- out.qosFilters = new android.hardware.radio.QosFilter[in.qosFilters.size()];
- for (int i = 0; i < in.qosFilters.size(); i++) {
- out.qosFilters[i] = h2aTranslate(in.qosFilters.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SetupDataCallResult h2aTranslate(
- android.hardware.radio.V1_6.SetupDataCallResult in) {
- android.hardware.radio.SetupDataCallResult out =
- new android.hardware.radio.SetupDataCallResult();
- out.cause = in.cause;
- out.suggestedRetryTime = in.suggestedRetryTime;
- out.cid = in.cid;
- out.active = in.active;
- out.type = in.type;
- out.ifname = in.ifname;
- if (in.addresses != null) {
- out.addresses = new android.hardware.radio.LinkAddress[in.addresses.size()];
- for (int i = 0; i < in.addresses.size(); i++) {
- out.addresses[i] = h2aTranslate(in.addresses.get(i));
- }
- }
- if (in.dnses != null) {
- out.dnses = new String[in.dnses.size()];
- for (int i = 0; i < in.dnses.size(); i++) {
- out.dnses[i] = in.dnses.get(i);
- }
- }
- if (in.gateways != null) {
- out.gateways = new String[in.gateways.size()];
- for (int i = 0; i < in.gateways.size(); i++) {
- out.gateways[i] = in.gateways.get(i);
- }
- }
- if (in.pcscf != null) {
- out.pcscf = new String[in.pcscf.size()];
- for (int i = 0; i < in.pcscf.size(); i++) {
- out.pcscf[i] = in.pcscf.get(i);
- }
- }
- out.mtuV4 = in.mtuV4;
- out.mtuV6 = in.mtuV6;
- out.defaultQos = h2aTranslate(in.defaultQos);
- if (in.qosSessions != null) {
- out.qosSessions = new android.hardware.radio.QosSession[in.qosSessions.size()];
- for (int i = 0; i < in.qosSessions.size(); i++) {
- out.qosSessions[i] = h2aTranslate(in.qosSessions.get(i));
- }
- }
- out.handoverFailureMode = in.handoverFailureMode;
- out.pduSessionId = in.pduSessionId;
- out.sliceInfo = h2aTranslate(in.sliceInfo);
- if (in.trafficDescriptors != null) {
- out.trafficDescriptors =
- new android.hardware.radio.TrafficDescriptor[in.trafficDescriptors.size()];
- for (int i = 0; i < in.trafficDescriptors.size(); i++) {
- out.trafficDescriptors[i] = h2aTranslate(in.trafficDescriptors.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.LinkCapacityEstimate h2aTranslate(
- android.hardware.radio.V1_6.LinkCapacityEstimate in) {
- android.hardware.radio.LinkCapacityEstimate out =
- new android.hardware.radio.LinkCapacityEstimate();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.downlinkCapacityKbps > 2147483647 || in.downlinkCapacityKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.downlinkCapacityKbps");
- }
- out.downlinkCapacityKbps = in.downlinkCapacityKbps;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.uplinkCapacityKbps > 2147483647 || in.uplinkCapacityKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.uplinkCapacityKbps");
- }
- out.uplinkCapacityKbps = in.uplinkCapacityKbps;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.secondaryDownlinkCapacityKbps > 2147483647 || in.secondaryDownlinkCapacityKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.secondaryDownlinkCapacityKbps");
- }
- out.secondaryDownlinkCapacityKbps = in.secondaryDownlinkCapacityKbps;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.secondaryUplinkCapacityKbps > 2147483647 || in.secondaryUplinkCapacityKbps < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.secondaryUplinkCapacityKbps");
- }
- out.secondaryUplinkCapacityKbps = in.secondaryUplinkCapacityKbps;
- return out;
- }
-
- static public android.hardware.radio.NrVopsInfo h2aTranslate(
- android.hardware.radio.V1_6.NrVopsInfo in) {
- android.hardware.radio.NrVopsInfo out = new android.hardware.radio.NrVopsInfo();
- out.vopsSupported = in.vopsSupported;
- out.emcSupported = in.emcSupported;
- out.emfSupported = in.emfSupported;
- return out;
- }
-
- static public android.hardware.radio.LteSignalStrength h2aTranslate(
- android.hardware.radio.V1_6.LteSignalStrength in) {
- android.hardware.radio.LteSignalStrength out =
- new android.hardware.radio.LteSignalStrength();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.signalStrength > 2147483647 || in.base.signalStrength < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.signalStrength");
- }
- out.signalStrength = in.base.signalStrength;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.rsrp > 2147483647 || in.base.rsrp < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.rsrp");
- }
- out.rsrp = in.base.rsrp;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.rsrq > 2147483647 || in.base.rsrq < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.rsrq");
- }
- out.rsrq = in.base.rsrq;
- out.rssnr = in.base.rssnr;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.cqi > 2147483647 || in.base.cqi < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.cqi");
- }
- out.cqi = in.base.cqi;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.timingAdvance > 2147483647 || in.base.timingAdvance < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.timingAdvance");
- }
- out.timingAdvance = in.base.timingAdvance;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.cqiTableIndex > 2147483647 || in.cqiTableIndex < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.cqiTableIndex");
- }
- out.cqiTableIndex = in.cqiTableIndex;
- return out;
- }
-
- static public android.hardware.radio.NrSignalStrength h2aTranslate(
- android.hardware.radio.V1_6.NrSignalStrength in) {
- android.hardware.radio.NrSignalStrength out = new android.hardware.radio.NrSignalStrength();
- out.ssRsrp = in.base.ssRsrp;
- out.ssRsrq = in.base.ssRsrq;
- out.ssSinr = in.base.ssSinr;
- out.csiRsrp = in.base.csiRsrp;
- out.csiRsrq = in.base.csiRsrq;
- out.csiSinr = in.base.csiSinr;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.csiCqiTableIndex > 2147483647 || in.csiCqiTableIndex < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.csiCqiTableIndex");
- }
- out.csiCqiTableIndex = in.csiCqiTableIndex;
- if (in.csiCqiReport != null) {
- out.csiCqiReport = new byte[in.csiCqiReport.size()];
- for (int i = 0; i < in.csiCqiReport.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.csiCqiReport.get(i) > 127 || in.csiCqiReport.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.csiCqiReport.get(i)");
- }
- out.csiCqiReport[i] = in.csiCqiReport.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SignalStrength h2aTranslate(
- android.hardware.radio.V1_6.SignalStrength in) {
- android.hardware.radio.SignalStrength out = new android.hardware.radio.SignalStrength();
- out.gsm = h2aTranslate(in.gsm);
- out.cdma = h2aTranslate(in.cdma);
- out.evdo = h2aTranslate(in.evdo);
- out.lte = h2aTranslate(in.lte);
- out.tdscdma = h2aTranslate(in.tdscdma);
- out.wcdma = h2aTranslate(in.wcdma);
- out.nr = h2aTranslate(in.nr);
- return out;
- }
-
- static public android.hardware.radio.CellInfoLte h2aTranslate(
- android.hardware.radio.V1_6.CellInfoLte in) {
- android.hardware.radio.CellInfoLte out = new android.hardware.radio.CellInfoLte();
- out.cellIdentityLte = h2aTranslate(in.cellIdentityLte);
- out.signalStrengthLte = h2aTranslate(in.signalStrengthLte);
- return out;
- }
-
- static public android.hardware.radio.CellInfoNr h2aTranslate(
- android.hardware.radio.V1_6.CellInfoNr in) {
- android.hardware.radio.CellInfoNr out = new android.hardware.radio.CellInfoNr();
- out.cellIdentityNr = h2aTranslate(in.cellIdentityNr);
- out.signalStrengthNr = h2aTranslate(in.signalStrengthNr);
- return out;
- }
-
- static public android.hardware.radio.CellInfo h2aTranslate(
- android.hardware.radio.V1_6.CellInfo in) {
- android.hardware.radio.CellInfo out = new android.hardware.radio.CellInfo();
- out.registered = in.registered;
- out.connectionStatus = in.connectionStatus;
- out.ratSpecificInfo = h2aTranslate(in.ratSpecificInfo);
- return out;
- }
-
- static public android.hardware.radio.CellInfoCellInfoRatSpecificInfo h2aTranslate(
- android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo in) {
- android.hardware.radio.CellInfoCellInfoRatSpecificInfo out =
- new android.hardware.radio.CellInfoCellInfoRatSpecificInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator
- .gsm:
- out.setGsm(h2aTranslate(in.gsm()));
- break;
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator
- .wcdma:
- out.setWcdma(h2aTranslate(in.wcdma()));
- break;
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator
- .tdscdma:
- out.setTdscdma(h2aTranslate(in.tdscdma()));
- break;
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator
- .lte:
- out.setLte(h2aTranslate(in.lte()));
- break;
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator.nr:
- out.setNr(h2aTranslate(in.nr()));
- break;
- case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator
- .cdma:
- out.setCdma(h2aTranslate(in.cdma()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.NetworkScanResult h2aTranslate(
- android.hardware.radio.V1_6.NetworkScanResult in) {
- android.hardware.radio.NetworkScanResult out =
- new android.hardware.radio.NetworkScanResult();
- out.status = in.status;
- out.error = in.error;
- if (in.networkInfos != null) {
- out.networkInfos = new android.hardware.radio.CellInfo[in.networkInfos.size()];
- for (int i = 0; i < in.networkInfos.size(); i++) {
- out.networkInfos[i] = h2aTranslate(in.networkInfos.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.RegStateResult h2aTranslate(
- android.hardware.radio.V1_6.RegStateResult in) {
- android.hardware.radio.RegStateResult out = new android.hardware.radio.RegStateResult();
- out.regState = in.regState;
- out.rat = in.rat;
- out.reasonForDenial = in.reasonForDenial;
- out.cellIdentity = h2aTranslate(in.cellIdentity);
- out.registeredPlmn = in.registeredPlmn;
- out.accessTechnologySpecificInfo = h2aTranslate(in.accessTechnologySpecificInfo);
- return out;
- }
-
- static public android.hardware.radio.RegStateResultAccessTechnologySpecificInfo h2aTranslate(
- android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo in) {
- android.hardware.radio.RegStateResultAccessTechnologySpecificInfo out =
- new android.hardware.radio.RegStateResultAccessTechnologySpecificInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo
- .hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo
- .hidl_discriminator.cdmaInfo:
- out.setCdmaInfo(h2aTranslate(in.cdmaInfo()));
- break;
- case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo
- .hidl_discriminator.eutranInfo:
- out.setEutranInfo(h2aTranslate(in.eutranInfo()));
- break;
- case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo
- .hidl_discriminator.ngranNrVopsInfo:
- out.setNgranNrVopsInfo(h2aTranslate(in.ngranNrVopsInfo()));
- break;
- case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo
- .hidl_discriminator.geranDtmSupported:
- out.setGeranDtmSupported(in.geranDtmSupported());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.Call h2aTranslate(android.hardware.radio.V1_6.Call in) {
- android.hardware.radio.Call out = new android.hardware.radio.Call();
- out.state = in.base.base.state;
- out.index = in.base.base.index;
- out.toa = in.base.base.toa;
- out.isMpty = in.base.base.isMpty;
- out.isMT = in.base.base.isMT;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.base.als > 127 || in.base.base.als < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.base.als");
- }
- out.als = in.base.base.als;
- out.isVoice = in.base.base.isVoice;
- out.isVoicePrivacy = in.base.base.isVoicePrivacy;
- out.number = in.base.base.number;
- out.numberPresentation = in.base.base.numberPresentation;
- out.name = in.base.base.name;
- out.namePresentation = in.base.base.namePresentation;
- if (in.base.base.uusInfo != null) {
- out.uusInfo = new android.hardware.radio.UusInfo[in.base.base.uusInfo.size()];
- for (int i = 0; i < in.base.base.uusInfo.size(); i++) {
- out.uusInfo[i] = h2aTranslate(in.base.base.uusInfo.get(i));
- }
- }
- out.audioQuality = in.base.audioQuality;
- out.forwardedNumber = in.forwardedNumber;
- return out;
- }
-
- static public android.hardware.radio.PhysicalChannelConfig h2aTranslate(
- android.hardware.radio.V1_6.PhysicalChannelConfig in) {
- android.hardware.radio.PhysicalChannelConfig out =
- new android.hardware.radio.PhysicalChannelConfig();
- out.status = in.status;
- out.rat = in.rat;
- out.downlinkChannelNumber = in.downlinkChannelNumber;
- out.uplinkChannelNumber = in.uplinkChannelNumber;
- out.cellBandwidthDownlinkKhz = in.cellBandwidthDownlinkKhz;
- out.cellBandwidthUplinkKhz = in.cellBandwidthUplinkKhz;
- if (in.contextIds != null) {
- out.contextIds = new int[in.contextIds.size()];
- for (int i = 0; i < in.contextIds.size(); i++) {
- out.contextIds[i] = in.contextIds.get(i);
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.physicalCellId > 2147483647 || in.physicalCellId < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.physicalCellId");
- }
- out.physicalCellId = in.physicalCellId;
- out.band = h2aTranslate(in.band);
- return out;
- }
-
- static public android.hardware.radio.PhysicalChannelConfigBand h2aTranslate(
- android.hardware.radio.V1_6.PhysicalChannelConfig.Band in) {
- android.hardware.radio.PhysicalChannelConfigBand out =
- new android.hardware.radio.PhysicalChannelConfigBand();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator
- .geranBand:
- out.setGeranBand(in.geranBand());
- break;
- case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator
- .utranBand:
- out.setUtranBand(in.utranBand());
- break;
- case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator
- .eutranBand:
- out.setEutranBand(in.eutranBand());
- break;
- case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator
- .ngranBand:
- out.setNgranBand(in.ngranBand());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.OptionalSliceInfo h2aTranslate(
- android.hardware.radio.V1_6.OptionalSliceInfo in) {
- android.hardware.radio.OptionalSliceInfo out =
- new android.hardware.radio.OptionalSliceInfo();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalSliceInfo.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalSliceInfo.hidl_discriminator.value:
- out.setValue(h2aTranslate(in.value()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.SliceInfo h2aTranslate(
- android.hardware.radio.V1_6.SliceInfo in) {
- android.hardware.radio.SliceInfo out = new android.hardware.radio.SliceInfo();
- out.sst = in.sst;
- out.sliceDifferentiator = in.sliceDifferentiator;
- out.mappedHplmnSst = in.mappedHplmnSst;
- out.mappedHplmnSD = in.mappedHplmnSD;
- out.status = in.status;
- return out;
- }
-
- static public android.hardware.radio.OptionalDnn h2aTranslate(
- android.hardware.radio.V1_6.OptionalDnn in) {
- android.hardware.radio.OptionalDnn out = new android.hardware.radio.OptionalDnn();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalDnn.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalDnn.hidl_discriminator.value:
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.OptionalOsAppId h2aTranslate(
- android.hardware.radio.V1_6.OptionalOsAppId in) {
- android.hardware.radio.OptionalOsAppId out = new android.hardware.radio.OptionalOsAppId();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalOsAppId.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalOsAppId.hidl_discriminator.value:
- out.setValue(h2aTranslate(in.value()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.OptionalTrafficDescriptor h2aTranslate(
- android.hardware.radio.V1_6.OptionalTrafficDescriptor in) {
- android.hardware.radio.OptionalTrafficDescriptor out =
- new android.hardware.radio.OptionalTrafficDescriptor();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalTrafficDescriptor.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalTrafficDescriptor.hidl_discriminator.value:
- out.setValue(h2aTranslate(in.value()));
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.TrafficDescriptor h2aTranslate(
- android.hardware.radio.V1_6.TrafficDescriptor in) {
- android.hardware.radio.TrafficDescriptor out =
- new android.hardware.radio.TrafficDescriptor();
- out.dnn = h2aTranslate(in.dnn);
- out.osAppId = h2aTranslate(in.osAppId);
- return out;
- }
-
- static public android.hardware.radio.OsAppId h2aTranslate(
- android.hardware.radio.V1_6.OsAppId in) {
- android.hardware.radio.OsAppId out = new android.hardware.radio.OsAppId();
- if (in.osAppId != null) {
- out.osAppId = new byte[in.osAppId.size()];
- for (int i = 0; i < in.osAppId.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.osAppId.get(i) > 127 || in.osAppId.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.osAppId.get(i)");
- }
- out.osAppId[i] = in.osAppId.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.SlicingConfig h2aTranslate(
- android.hardware.radio.V1_6.SlicingConfig in) {
- android.hardware.radio.SlicingConfig out = new android.hardware.radio.SlicingConfig();
- if (in.urspRules != null) {
- out.urspRules = new android.hardware.radio.UrspRule[in.urspRules.size()];
- for (int i = 0; i < in.urspRules.size(); i++) {
- out.urspRules[i] = h2aTranslate(in.urspRules.get(i));
- }
- }
- if (in.sliceInfo != null) {
- out.sliceInfo = new android.hardware.radio.SliceInfo[in.sliceInfo.size()];
- for (int i = 0; i < in.sliceInfo.size(); i++) {
- out.sliceInfo[i] = h2aTranslate(in.sliceInfo.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.UrspRule h2aTranslate(
- android.hardware.radio.V1_6.UrspRule in) {
- android.hardware.radio.UrspRule out = new android.hardware.radio.UrspRule();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.precedence > 127 || in.precedence < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.precedence");
- }
- out.precedence = in.precedence;
- if (in.trafficDescriptors != null) {
- out.trafficDescriptors =
- new android.hardware.radio.TrafficDescriptor[in.trafficDescriptors.size()];
- for (int i = 0; i < in.trafficDescriptors.size(); i++) {
- out.trafficDescriptors[i] = h2aTranslate(in.trafficDescriptors.get(i));
- }
- }
- if (in.routeSelectionDescriptor != null) {
- out.routeSelectionDescriptor =
- new android.hardware.radio
- .RouteSelectionDescriptor[in.routeSelectionDescriptor.size()];
- for (int i = 0; i < in.routeSelectionDescriptor.size(); i++) {
- out.routeSelectionDescriptor[i] = h2aTranslate(in.routeSelectionDescriptor.get(i));
- }
- }
- return out;
- }
-
- static public android.hardware.radio.RouteSelectionDescriptor h2aTranslate(
- android.hardware.radio.V1_6.RouteSelectionDescriptor in) {
- android.hardware.radio.RouteSelectionDescriptor out =
- new android.hardware.radio.RouteSelectionDescriptor();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.precedence > 127 || in.precedence < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.precedence");
- }
- out.precedence = in.precedence;
- out.sessionType = h2aTranslate(in.sessionType);
- out.sscMode = h2aTranslate(in.sscMode);
- if (in.sliceInfo != null) {
- out.sliceInfo = new android.hardware.radio.SliceInfo[in.sliceInfo.size()];
- for (int i = 0; i < in.sliceInfo.size(); i++) {
- out.sliceInfo[i] = h2aTranslate(in.sliceInfo.get(i));
- }
- }
- if (in.dnn != null) {
- out.dnn = new String[in.dnn.size()];
- for (int i = 0; i < in.dnn.size(); i++) {
- out.dnn[i] = in.dnn.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.OptionalPdpProtocolType h2aTranslate(
- android.hardware.radio.V1_6.OptionalPdpProtocolType in) {
- android.hardware.radio.OptionalPdpProtocolType out =
- new android.hardware.radio.OptionalPdpProtocolType();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalPdpProtocolType.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalPdpProtocolType.hidl_discriminator.value:
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.OptionalSscMode h2aTranslate(
- android.hardware.radio.V1_6.OptionalSscMode in) {
- android.hardware.radio.OptionalSscMode out = new android.hardware.radio.OptionalSscMode();
- switch (in.getDiscriminator()) {
- case android.hardware.radio.V1_6.OptionalSscMode.hidl_discriminator.noinit:
- // Nothing to translate for Monostate.
- break;
- case android.hardware.radio.V1_6.OptionalSscMode.hidl_discriminator.value:
- out.setValue(in.value());
- break;
- default:
- throw new RuntimeException(
- "Unknown discriminator value: " + Integer.toString(in.getDiscriminator()));
- }
- return out;
- }
-
- static public android.hardware.radio.ImsiEncryptionInfo h2aTranslate(
- android.hardware.radio.V1_6.ImsiEncryptionInfo in) {
- android.hardware.radio.ImsiEncryptionInfo out =
- new android.hardware.radio.ImsiEncryptionInfo();
- out.mcc = in.base.mcc;
- out.mnc = in.base.mnc;
- if (in.base.carrierKey != null) {
- out.carrierKey = new byte[in.base.carrierKey.size()];
- for (int i = 0; i < in.base.carrierKey.size(); i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it
- // doesn't suit your needs.
- if (in.base.carrierKey.get(i) > 127 || in.base.carrierKey.get(i) < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.base.carrierKey.get(i)");
- }
- out.carrierKey[i] = in.base.carrierKey.get(i);
- }
- }
- out.keyIdentifier = in.base.keyIdentifier;
- out.expirationTime = in.base.expirationTime;
- out.keyType = in.keyType;
- return out;
- }
-
- static public android.hardware.radio.PhonebookRecordInfo h2aTranslate(
- android.hardware.radio.V1_6.PhonebookRecordInfo in) {
- android.hardware.radio.PhonebookRecordInfo out =
- new android.hardware.radio.PhonebookRecordInfo();
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.recordId > 2147483647 || in.recordId < 0) {
- throw new RuntimeException(
- "Unsafe conversion between signed and unsigned scalars for field: in.recordId");
- }
- out.recordId = in.recordId;
- out.name = in.name;
- out.number = in.number;
- if (in.emails != null) {
- out.emails = new String[in.emails.size()];
- for (int i = 0; i < in.emails.size(); i++) {
- out.emails[i] = in.emails.get(i);
- }
- }
- if (in.additionalNumbers != null) {
- out.additionalNumbers = new String[in.additionalNumbers.size()];
- for (int i = 0; i < in.additionalNumbers.size(); i++) {
- out.additionalNumbers[i] = in.additionalNumbers.get(i);
- }
- }
- return out;
- }
-
- static public android.hardware.radio.PhonebookCapacity h2aTranslate(
- android.hardware.radio.V1_6.PhonebookCapacity in) {
- android.hardware.radio.PhonebookCapacity out =
- new android.hardware.radio.PhonebookCapacity();
- out.maxAdnRecords = in.maxAdnRecords;
- out.usedAdnRecords = in.usedAdnRecords;
- out.maxEmailRecords = in.maxEmailRecords;
- out.usedEmailRecords = in.usedEmailRecords;
- out.maxAdditionalNumberRecords = in.maxAdditionalNumberRecords;
- out.usedAdditionalNumberRecords = in.usedAdditionalNumberRecords;
- out.maxNameLen = in.maxNameLen;
- out.maxNumberLen = in.maxNumberLen;
- out.maxEmailLen = in.maxEmailLen;
- out.maxAdditionalNumberLen = in.maxAdditionalNumberLen;
- return out;
- }
-}
diff --git a/radio/aidl/android/hardware/radio/TtyMode.aidl b/radio/aidl/android/hardware/radio/TtyMode.aidl
deleted file mode 100644
index 344ba67..0000000
--- a/radio/aidl/android/hardware/radio/TtyMode.aidl
+++ /dev/null
@@ -1,32 +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 TtyMode {
- OFF,
- FULL,
- /**
- * Hearing carryover
- */
- HCO,
- /**
- * Voice carryover
- */
- VCO,
-}
diff --git a/radio/aidl/android/hardware/radio/UiccSubActStatus.aidl b/radio/aidl/android/hardware/radio/UiccSubActStatus.aidl
deleted file mode 100644
index b2bb03e..0000000
--- a/radio/aidl/android/hardware/radio/UiccSubActStatus.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 UiccSubActStatus {
- DEACTIVATE,
- ACTIVATE,
-}
diff --git a/radio/aidl/android/hardware/radio/UrspRule.aidl b/radio/aidl/android/hardware/radio/UrspRule.aidl
deleted file mode 100644
index 244bcb1..0000000
--- a/radio/aidl/android/hardware/radio/UrspRule.aidl
+++ /dev/null
@@ -1,40 +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.RouteSelectionDescriptor;
-import android.hardware.radio.TrafficDescriptor;
-
-/**
- * This struct represents a single URSP rule as defined in 3GPP TS 24.526.
- */
-@VintfStability
-parcelable UrspRule {
- /**
- * Precedence value in the range of 0 to 255. Higher value has lower precedence.
- */
- byte precedence;
- /**
- * Used as a matcher for network requests.
- */
- TrafficDescriptor[] trafficDescriptors;
- /**
- * List of routes (connection parameters) that must be used for requests matching a
- * trafficDescriptor.
- */
- RouteSelectionDescriptor[] routeSelectionDescriptor;
-}
diff --git a/radio/aidl/android/hardware/radio/UssdModeType.aidl b/radio/aidl/android/hardware/radio/UssdModeType.aidl
deleted file mode 100644
index 187130c..0000000
--- a/radio/aidl/android/hardware/radio/UssdModeType.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-@Backing(type="int")
-enum UssdModeType {
- /**
- * USSD-Notify
- */
- NOTIFY,
- /**
- * USSD-Request
- */
- REQUEST,
- /**
- * Session terminated by network
- */
- NW_RELEASE,
- /**
- * Other local client (eg, SIM Toolkit) has responded
- */
- LOCAL_CLIENT,
- /**
- * Operation not supported
- */
- NOT_SUPPORTED,
- /**
- * Network timeout
- */
- NW_TIMEOUT,
-}
diff --git a/radio/aidl/android/hardware/radio/UtranBands.aidl b/radio/aidl/android/hardware/radio/UtranBands.aidl
deleted file mode 100644
index 8a22ed7..0000000
--- a/radio/aidl/android/hardware/radio/UtranBands.aidl
+++ /dev/null
@@ -1,54 +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;
-
-/**
- * UTRAN bands up to V15.0.0
- */
-@VintfStability
-@Backing(type="int")
-enum UtranBands {
- BAND_1 = 1,
- BAND_2 = 2,
- BAND_3 = 3,
- BAND_4 = 4,
- BAND_5 = 5,
- BAND_6 = 6,
- BAND_7 = 7,
- BAND_8 = 8,
- BAND_9 = 9,
- BAND_10 = 10,
- BAND_11 = 11,
- BAND_12 = 12,
- BAND_13 = 13,
- BAND_14 = 14,
- BAND_19 = 19,
- BAND_20 = 20,
- BAND_21 = 21,
- BAND_22 = 22,
- BAND_25 = 25,
- BAND_26 = 26,
- /**
- * TD-SCDMA bands. 3GPP TS 25.102, Table 5.2: Frequency bands
- */
- BAND_A = 101,
- BAND_B = 102,
- BAND_C = 103,
- BAND_D = 104,
- BAND_E = 105,
- BAND_F = 106,
-}
diff --git a/radio/aidl/android/hardware/radio/UusDcs.aidl b/radio/aidl/android/hardware/radio/UusDcs.aidl
deleted file mode 100644
index b157e47..0000000
--- a/radio/aidl/android/hardware/radio/UusDcs.aidl
+++ /dev/null
@@ -1,47 +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;
-
-/**
- * User-to-User Signaling Information data coding schemes. Possible values for Octet 3 (Protocol
- * Discriminator field) in the UUIE. The values have been specified in section 10.5.4.25 of
- * 3GPP TS 24.008
- */
-@VintfStability
-@Backing(type="int")
-enum UusDcs {
- /**
- * User specified protocol
- */
- USP,
- /**
- * OSI higher layer protocol
- */
- OSIHLP,
- /**
- * X.244
- */
- X244,
- /**
- * Reserved for system management
- */
- RMCF,
- /**
- * IA5 characters
- */
- IA5C,
-}
diff --git a/radio/aidl/android/hardware/radio/UusInfo.aidl b/radio/aidl/android/hardware/radio/UusInfo.aidl
deleted file mode 100644
index b766b0d..0000000
--- a/radio/aidl/android/hardware/radio/UusInfo.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.
- */
-
-package android.hardware.radio;
-
-import android.hardware.radio.UusDcs;
-import android.hardware.radio.UusType;
-
-/**
- * User-to-User Signaling Information defined in 3GPP 23.087 v8.0
- */
-@VintfStability
-parcelable UusInfo {
- /**
- * UUS type
- */
- UusType uusType;
- /**
- * UUS data coding scheme
- */
- UusDcs uusDcs;
- /**
- * UUS data
- */
- String uusData;
-}
diff --git a/radio/aidl/android/hardware/radio/UusType.aidl b/radio/aidl/android/hardware/radio/UusType.aidl
deleted file mode 100644
index af86c97..0000000
--- a/radio/aidl/android/hardware/radio/UusType.aidl
+++ /dev/null
@@ -1,32 +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;
-
-/**
- * User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0
- */
-@VintfStability
-@Backing(type="int")
-enum UusType {
- TYPE1_IMPLICIT,
- TYPE1_REQUIRED,
- TYPE1_NOT_REQUIRED,
- TYPE2_REQUIRED,
- TYPE2_NOT_REQUIRED,
- TYPE3_REQUIRED,
- TYPE3_NOT_REQUIRED,
-}
diff --git a/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl b/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl
deleted file mode 100644
index 897c663..0000000
--- a/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl
+++ /dev/null
@@ -1,94 +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.CellIdentity;
-import android.hardware.radio.RegState;
-
-@VintfStability
-parcelable VoiceRegStateResult {
- /**
- * Valid reg states are NOT_REG_MT_NOT_SEARCHING_OP, REG_HOME, NOT_REG_MT_SEARCHING_OP,
- * REG_DENIED, UNKNOWN, REG_ROAMING defined in RegState.
- */
- RegState regState;
- /**
- * Indicates the available voice radio technology, valid values as defined by RadioTechnology.
- */
- int rat;
- /**
- * Concurrent services support indicator, if registered on a CDMA system.
- * false - Concurrent services not supported,
- * true - Concurrent services supported
- */
- boolean cssSupported;
- /**
- * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not.
- * Valid values are 0-255.
- */
- int roamingIndicator;
- /**
- * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system
- * or -1 if not. 0=not in the PRL, 1=in the PRL
- */
- int systemIsInPrl;
- /**
- * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not.
- * Valid values are 0-255.
- */
- int defaultRoamingIndicator;
- /**
- * Reason for denial if registration state is REG_DENIED. This is an enumerated reason why
- * registration was denied. See 3GPP TS 24.008, 10.5.3.6 and Annex G.
- * 0 - General
- * 1 - Authentication Failure
- * 2 - IMSI unknown in HLR
- * 3 - Illegal MS
- * 4 - Illegal ME
- * 5 - PLMN not allowed
- * 6 - Location area not allowed
- * 7 - Roaming not allowed
- * 8 - No Suitable Cells in this Location Area
- * 9 - Network failure
- * 10 - Persistent location update reject
- * 11 - PLMN not allowed
- * 12 - Location area not allowed
- * 13 - Roaming not allowed in this Location Area
- * 15 - No Suitable Cells in this Location Area
- * 17 - Network Failure
- * 20 - MAC Failure
- * 21 - Sync Failure
- * 22 - Congestion
- * 23 - GSM Authentication unacceptable
- * 25 - Not Authorized for this CSG
- * 32 - Service option not supported
- * 33 - Requested service option not subscribed
- * 34 - Service option temporarily out of order
- * 38 - Call cannot be identified
- * 48-63 - Retry upon entry into a new cell
- * 95 - Semantically incorrect message
- * 96 - Invalid mandatory information
- * 97 - Message type non-existent or not implemented
- * 98 - Message type not compatible with protocol state
- * 99 - Information element non-existent or not implemented
- * 100 - Conditional IE error
- * 101 - Message not compatible with protocol state
- * 111 - Protocol error, unspecified
- */
- int reasonForDenial;
- CellIdentity cellIdentity;
-}
diff --git a/radio/aidl/android/hardware/radio/VopsIndicator.aidl b/radio/aidl/android/hardware/radio/VopsIndicator.aidl
deleted file mode 100644
index 0533be9..0000000
--- a/radio/aidl/android/hardware/radio/VopsIndicator.aidl
+++ /dev/null
@@ -1,37 +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;
-
-/**
- * Defines the values for VoPS indicator of NR as per 3gpp spec 24.501 sec 9.10.3.5
- */
-@VintfStability
-@Backing(type="byte")
-enum VopsIndicator {
- /**
- * IMS voice over PS session not supported
- */
- VOPS_NOT_SUPPORTED,
- /**
- * IMS voice over PS session supported over 3GPP access
- */
- VOPS_OVER_3GPP,
- /**
- * IMS voice over PS session supported over non-3GPP access
- */
- VOPS_OVER_NON_3GPP,
-}
diff --git a/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl
deleted file mode 100644
index 95a3455..0000000
--- a/radio/aidl/android/hardware/radio/WcdmaSignalStrength.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.
- */
-
-package android.hardware.radio;
-
-@VintfStability
-parcelable WcdmaSignalStrength {
- /**
- * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means unreported.
- */
- int signalStrength;
- /**
- * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
- */
- int bitErrorRate;
- /**
- * CPICH RSCP as defined in TS 25.215 5.1.1. Valid values are (0-96, 255) as defined in
- * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
- */
- int rscp;
- /**
- * Ec/No value as defined in TS 25.215 5.1.5. Valid values are (0-49, 255) as defined in
- * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
- */
- int ecno;
-}
diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl
new file mode 100644
index 0000000..bfff16a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/config/IRadioConfig.aidl
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * This interface is used by telephony and telecom to talk to cellular radio for the purpose of
+ * radio configuration, and it is not associated with any specific modem or slot.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ */
+
+package android.hardware.radio.config;
+
+import android.hardware.radio.config.IRadioConfigIndication;
+import android.hardware.radio.config.IRadioConfigResponse;
+
+@VintfStability
+oneway interface IRadioConfig {
+ /**
+ * Gets the available Radio Hal capabilities on the current device.
+ *
+ * This is called once per device boot up.
+ *
+ * @param serial Serial number of request
+ *
+ * Response callback is
+ * IRadioConfigResponse.getHalDeviceCapabilitiesResponse()
+ */
+ void getHalDeviceCapabilities(in int serial);
+
+ /**
+ * Get the number of live modems (i.e modems that are
+ * enabled and actively working as part of a working telephony stack)
+ *
+ * Note: in order to get the overall number of modems available on the phone,
+ * refer to getPhoneCapability API
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioConfigResponse.getNumOfLiveModemsResponse() which
+ * will return <byte>.
+ */
+ void getNumOfLiveModems(in int serial);
+
+ /**
+ * Request current phone capability.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioResponse.getPhoneCapabilityResponse() which
+ * will return <PhoneCapability>.
+ */
+ void getPhoneCapability(in int serial);
+
+ /**
+ * Get SIM Slot status.
+ *
+ * Request provides the slot status of all active and inactive SIM slots and whether card is
+ * present in the slots or not.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioConfigResponse.getSimSlotsStatusResponse()
+ */
+ void getSimSlotsStatus(in int serial);
+
+ /**
+ * Set modems configurations by specifying the number of live modems (i.e modems that are
+ * enabled and actively working as part of a working telephony stack).
+ *
+ * Example: this interface can be used to switch to single/multi sim mode by specifying
+ * the number of live modems as 1, 2, etc
+ *
+ * Note: by setting the number of live modems in this API, that number of modems will
+ * subsequently get enabled/disabled
+ *
+ * @param serial serial number of request.
+ * @param modemsConfig byte object including the number of live modems
+ *
+ * Response callback is IRadioResponse.setNumOfLiveModemsResponse()
+ */
+ void setNumOfLiveModems(in int serial, in byte numOfLiveModems);
+
+ /**
+ * Set preferred data modem Id.
+ * In a multi-SIM device, notify modem layer which logical modem will be used primarily
+ * for data. It helps modem with resource optimization and decisions of what data connections
+ * should be satisfied.
+ *
+ * @param serial Serial number of request.
+ * @param modem Id the logical modem ID, which should match one of modem IDs returned
+ * from getPhoneCapability().
+ *
+ * Response callback is IRadioConfigResponse.setPreferredDataModemResponse()
+ */
+ void setPreferredDataModem(in int serial, in byte modemId);
+
+ /**
+ * Set response functions for radio config requests & radio config indications.
+ *
+ * @param radioConfigResponse Object containing radio config response functions
+ * @param radioConfigIndication Object containing radio config indications
+ */
+ void setResponseFunctions(in IRadioConfigResponse radioConfigResponse,
+ in IRadioConfigIndication radioConfigIndication);
+
+ /**
+ * Set SIM Slot mapping.
+ *
+ * Maps the logical slots to the physical slots. Logical slot is the slot that is seen by modem.
+ * Physical slot is the actual physical slot. Request maps the physical slot to logical slot.
+ * Logical slots that are already mapped to the requested physical slot are not impacted.
+ *
+ * Example no. of logical slots 1 and physical slots 2:
+ * The only logical slot (index 0) can be mapped to first physical slot (value 0) or second
+ * physical slot(value 1), while the other physical slot remains unmapped and inactive.
+ * slotMap[0] = 1 or slotMap[0] = 0
+ *
+ * Example no. of logical slots 2 and physical slots 2:
+ * First logical slot (index 0) can be mapped to physical slot 1 or 2 and other logical slot
+ * can be mapped to other physical slot. Each logical slot must be mapped to a physical slot.
+ * slotMap[0] = 0 and slotMap[1] = 1 or slotMap[0] = 1 and slotMap[1] = 0
+ *
+ * @param serial Serial number of request
+ * @param slotMap Logical to physical slot mapping, size == no. of radio instances. Index is
+ * mapping to logical slot and value to physical slot, need to provide all the slots
+ * mapping when sending request in case of multi slot device.
+ * EX: uint32_t slotMap[logical slot] = physical slot
+ * index 0 is the first logical_slot number of logical slots is equal to number of Radio
+ * instances and number of physical slots is equal to size of slotStatus in
+ * getSimSlotsStatusResponse
+ *
+ * Response callback is IRadioConfigResponse.setSimSlotsMappingResponse()
+ */
+ void setSimSlotsMapping(in int serial, in int[] slotMap);
+}
diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl
new file mode 100644
index 0000000..abf55f1
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/config/IRadioConfigIndication.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.config;
+
+import android.hardware.radio.config.SimSlotStatus;
+
+/**
+ * Interface declaring unsolicited radio config indications.
+ */
+@VintfStability
+oneway interface IRadioConfigIndication {
+ /**
+ * Indicates SIM slot status change.
+ *
+ * This indication must be sent by the modem whenever there is any slot status change, even the
+ * slot is inactive. For example, this indication must be triggered if a SIM card is inserted
+ * into an inactive slot.
+ *
+ * @param type Type of radio indication
+ * @param slotStatus new slot status info with size equals to the number of physical slots on
+ * the device
+ */
+ void simSlotsStatusChanged(
+ in android.hardware.radio.RadioIndicationType type, in SimSlotStatus[] slotStatus);
+}
diff --git a/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl b/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl
new file mode 100644
index 0000000..929f02d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/config/IRadioConfigResponse.aidl
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.config;
+
+import android.hardware.radio.config.PhoneCapability;
+import android.hardware.radio.config.SimSlotStatus;
+
+/**
+ * Interface declaring response functions to solicited radio config requests.
+ */
+@VintfStability
+oneway interface IRadioConfigResponse {
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param modemReducedFeatureSet1 True indicates that the modem does NOT support the following
+ * features.
+ * - Providing either LinkCapacityEstimate:secondaryDownlinkCapacityKbps
+ * or LinkCapacityEstimate:secondaryUplinkCapacityKbps when given from
+ * RadioIndication:currentLinkCapacityEstimate
+ * - Calling IRadio.setNrDualConnectivityState or querying
+ * IRadio.isNrDualConnectivityEnabled
+ * - Requesting IRadio.setDataThrottling()
+ * - Providing SlicingConfig through getSlicingConfig()
+ * - Providing PhysicalChannelConfig through
+ * IRadioIndication.currentPhysicalChannelConfigs_1_6()
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getHalDeviceCapabilitiesResponse(
+ in android.hardware.radio.RadioResponseInfo info, in boolean modemReducedFeatureSet1);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param numOfLiveModems <byte> indicate the number of live modems i.e. modems that
+ * are enabled and actively working as part of a working connectivity stack
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getNumOfLiveModemsResponse(
+ in android.hardware.radio.RadioResponseInfo info, in byte numOfLiveModems);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param phoneCapability <PhoneCapability> it defines modem's capability for example
+ * how many logical modems it has, how many data connections it supports.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getPhoneCapabilityResponse(
+ in android.hardware.radio.RadioResponseInfo info, in PhoneCapability phoneCapability);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param slotStatus Sim slot struct containing all the physical SIM slots info with size
+ * equal to the number of physical slots on the device
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void getSimSlotsStatusResponse(
+ in android.hardware.radio.RadioResponseInfo info, in SimSlotStatus[] slotStatus);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void setNumOfLiveModemsResponse(in android.hardware.radio.RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void setPreferredDataModemResponse(in android.hardware.radio.RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void setSimSlotsMappingResponse(in android.hardware.radio.RadioResponseInfo info);
+}
diff --git a/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl
new file mode 100644
index 0000000..bc55e39
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/config/PhoneCapability.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.config;
+
+/**
+ * Phone capability which describes the data connection capability of modem.
+ * It's used to evaluate possible phone config change, for example from single
+ * SIM device to multi-SIM device.
+ */
+@VintfStability
+parcelable PhoneCapability {
+ /**
+ * maxActiveData defines how many logical modems can have
+ * PS attached simultaneously. For example, for L+L modem it
+ * should be 2.
+ */
+ byte maxActiveData;
+ /**
+ * maxActiveData defines how many logical modems can have
+ * internet PDN connections simultaneously. For example, for L+L
+ * DSDS modem it’s 1, and for DSDA modem it’s 2.
+ */
+ byte maxActiveInternetData;
+ /**
+ * Whether modem supports both internet PDN up so
+ * that we can do ping test before tearing down the
+ * other one.
+ */
+ boolean isInternetLingeringSupported;
+ /**
+ * List of logical modem IDs.
+ */
+ byte[] logicalModemIds;
+}
diff --git a/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl b/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl
new file mode 100644
index 0000000..f5ea8f9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/config/SimSlotStatus.aidl
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.config;
+
+@VintfStability
+parcelable SimSlotStatus {
+ boolean cardActive;
+ /**
+ * Card state in the physical slot. Values are CardStatus.[STATE_ABSENT, STATE_PRESENT,
+ * STATE_ERROR, STATE_RESTRICTED].
+ */
+ int cardState;
+ /**
+ * Slot state Active/Inactive
+ */
+ int slotState;
+ /**
+ * An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816
+ * standards, following electrical reset of the card's chip. The ATR conveys information about
+ * the communication parameters proposed by the card, and the card's nature and state.
+ *
+ * This data is applicable only when cardState is CardStatus.STATE_PRESENT.
+ */
+ String atr;
+ int logicalSlotId;
+ /**
+ * Integrated Circuit Card IDentifier (ICCID) is Unique Identifier of the SIM CARD. File is
+ * located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
+ * the ITU-T recommendation E.118 ISO/IEC 7816.
+ *
+ * This data is applicable only when cardState is CardStatus.STATE_PRESENT.
+ */
+ String iccid;
+ /**
+ * The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be
+ * retrieved by the Device at any time using the standard GlobalPlatform GET DATA command.
+ *
+ * This data is mandatory and applicable only when cardState is CardStatus.STATE_PRESENT and SIM
+ * card supports eUICC.
+ */
+ String eid;
+}
diff --git a/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl
new file mode 100644
index 0000000..8209dfe
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+@Backing(type="int")
+enum ApnAuthType {
+ /**
+ * PAP and CHAP is never performed.
+ */
+ NO_PAP_NO_CHAP,
+ /**
+ * PAP may be performed; CHAP is never performed.
+ */
+ PAP_NO_CHAP,
+ /**
+ * CHAP may be performed; PAP is never performed.
+ */
+ NO_PAP_CHAP,
+ /**
+ * PAP / CHAP may be performed - baseband dependent.
+ */
+ PAP_CHAP,
+}
diff --git a/radio/aidl/android/hardware/radio/data/ApnTypes.aidl b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl
new file mode 100644
index 0000000..e780d8e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+@Backing(type="int")
+enum ApnTypes {
+ /**
+ * None
+ */
+ NONE = 0,
+ /**
+ * APN type for default data traffic
+ */
+ DEFAULT = 1 << 0,
+ /**
+ * APN type for MMS traffic
+ */
+ MMS = 1 << 1,
+ /**
+ * APN type for SUPL assisted GPS
+ */
+ SUPL = 1 << 2,
+ /**
+ * APN type for DUN traffic
+ */
+ DUN = 1 << 3,
+ /**
+ * APN type for HiPri traffic
+ */
+ HIPRI = 1 << 4,
+ /**
+ * APN type for FOTA
+ */
+ FOTA = 1 << 5,
+ /**
+ * APN type for IMS
+ */
+ IMS = 1 << 6,
+ /**
+ * APN type for CBS
+ */
+ CBS = 1 << 7,
+ /**
+ * APN type for IA Initial Attach APN
+ */
+ IA = 1 << 8,
+ /**
+ * APN type for Emergency PDN. This is not an IA apn, but is used for access to carrier services
+ * in an emergency call situation.
+ */
+ EMERGENCY = 1 << 9,
+ /**
+ * APN type for Mission Critical Service
+ * Reference: 3GPP TS 22.280 V15.3.0
+ */
+ MCX = 1 << 10,
+ /**
+ * APN type for XCAP
+ */
+ XCAP = 1 << 11,
+}
diff --git a/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl
new file mode 100644
index 0000000..89cd8f2
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl
@@ -0,0 +1,1303 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+@Backing(type="int")
+enum DataCallFailCause {
+ /**
+ * An integer cause code defined in TS 24.008 section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B.
+ * If the implementation does not have access to the exact cause codes, then it must return one
+ * of the following values, as the UI layer needs to distinguish these cases for error
+ * notification and potential retries.
+ */
+ NONE = 0,
+ /**
+ * No retry
+ */
+ OPERATOR_BARRED = 0x08,
+ /**
+ * PDP_FAIL_LLC_SNDCP = 0x19
+ */
+ NAS_SIGNALLING = 0x0E,
+ INSUFFICIENT_RESOURCES = 0x1A,
+ /**
+ * No retry
+ */
+ MISSING_UNKNOWN_APN = 0x1B,
+ /**
+ * No retry
+ */
+ UNKNOWN_PDP_ADDRESS_TYPE = 0x1C,
+ /**
+ * No retry
+ */
+ USER_AUTHENTICATION = 0x1D,
+ /**
+ * No retry
+ */
+ ACTIVATION_REJECT_GGSN = 0x1E,
+ ACTIVATION_REJECT_UNSPECIFIED = 0x1F,
+ /**
+ * No retry
+ */
+ SERVICE_OPTION_NOT_SUPPORTED = 0x20,
+ /**
+ * No retry
+ */
+ SERVICE_OPTION_NOT_SUBSCRIBED = 0x21,
+ SERVICE_OPTION_OUT_OF_ORDER = 0x22,
+ /**
+ * No retry
+ */
+ NSAPI_IN_USE = 0x23,
+ /**
+ * Possibly restart radio, based on framework config
+ */
+ REGULAR_DEACTIVATION = 0x24,
+ QOS_NOT_ACCEPTED = 0x25,
+ NETWORK_FAILURE = 0x26,
+ UMTS_REACTIVATION_REQ = 0x27,
+ FEATURE_NOT_SUPP = 0x28,
+ TFT_SEMANTIC_ERROR = 0x29,
+ TFT_SYTAX_ERROR = 0x2A,
+ UNKNOWN_PDP_CONTEXT = 0x2B,
+ FILTER_SEMANTIC_ERROR = 0x2C,
+ FILTER_SYTAX_ERROR = 0x2D,
+ PDP_WITHOUT_ACTIVE_TFT = 0x2E,
+ /**
+ * No retry
+ */
+ ONLY_IPV4_ALLOWED = 0x32,
+ /**
+ * No retry
+ */
+ ONLY_IPV6_ALLOWED = 0x33,
+ ONLY_SINGLE_BEARER_ALLOWED = 0x34,
+ ESM_INFO_NOT_RECEIVED = 0x35,
+ PDN_CONN_DOES_NOT_EXIST = 0x36,
+ MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37,
+ MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41,
+ UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42,
+ INVALID_TRANSACTION_ID = 0x51,
+ MESSAGE_INCORRECT_SEMANTIC = 0x5F,
+ INVALID_MANDATORY_INFO = 0x60,
+ MESSAGE_TYPE_UNSUPPORTED = 0x61,
+ MSG_TYPE_NONCOMPATIBLE_STATE = 0x62,
+ UNKNOWN_INFO_ELEMENT = 0x63,
+ CONDITIONAL_IE_ERROR = 0x64,
+ MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65,
+ /**
+ * No retry
+ */
+ PROTOCOL_ERRORS = 0x6F,
+ APN_TYPE_CONFLICT = 0x70,
+ INVALID_PCSCF_ADDR = 0x71,
+ INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72,
+ EMM_ACCESS_BARRED = 0x73,
+ EMERGENCY_IFACE_ONLY = 0x74,
+ IFACE_MISMATCH = 0x75,
+ COMPANION_IFACE_IN_USE = 0x76,
+ IP_ADDRESS_MISMATCH = 0x77,
+ IFACE_AND_POL_FAMILY_MISMATCH = 0x78,
+ EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79,
+ AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A,
+ OEM_DCFAILCAUSE_1 = 0x1001,
+ OEM_DCFAILCAUSE_2 = 0x1002,
+ OEM_DCFAILCAUSE_3 = 0x1003,
+ OEM_DCFAILCAUSE_4 = 0x1004,
+ OEM_DCFAILCAUSE_5 = 0x1005,
+ OEM_DCFAILCAUSE_6 = 0x1006,
+ OEM_DCFAILCAUSE_7 = 0x1007,
+ OEM_DCFAILCAUSE_8 = 0x1008,
+ OEM_DCFAILCAUSE_9 = 0x1009,
+ OEM_DCFAILCAUSE_10 = 0x100A,
+ OEM_DCFAILCAUSE_11 = 0x100B,
+ OEM_DCFAILCAUSE_12 = 0x100C,
+ OEM_DCFAILCAUSE_13 = 0x100D,
+ OEM_DCFAILCAUSE_14 = 0x100E,
+ OEM_DCFAILCAUSE_15 = 0x100F,
+ /**
+ * Not mentioned in the specification
+ */
+ VOICE_REGISTRATION_FAIL = -1,
+ /**
+ * Not mentioned in the specification
+ */
+ DATA_REGISTRATION_FAIL = -2,
+ /**
+ * Network/modem disonnect
+ */
+ SIGNAL_LOST = -3,
+ /**
+ * Preferred technology has changed, must retry with parameters appropriate for new technology
+ */
+ PREF_RADIO_TECH_CHANGED = -4,
+ /**
+ * Data call was disconnected because radio was resetting, powered off - no retry
+ */
+ RADIO_POWER_OFF = -5,
+ /**
+ * Data call was disconnected by modem because tethered mode was up on same APN/data profile
+ * No retry until tethered call is off
+ */
+ TETHERED_CALL_ACTIVE = -6,
+ ERROR_UNSPECIFIED = 0xffff,
+ /**
+ * Network cannot provide the requested service and PDP context is deactivated because of LLC
+ * or SNDCP failure.
+ */
+ LLC_SNDCP = 0x19,
+ /**
+ * UE requested to modify QoS parameters or the bearer control mode, which is not compatible
+ * with the selected bearer control mode.
+ */
+ ACTIVATION_REJECTED_BCM_VIOLATION = 0x30,
+ /**
+ * Network has already initiated the activation, modification, or deactivation of bearer
+ * resources that was requested by the UE.
+ */
+ COLLISION_WITH_NETWORK_INITIATED_REQUEST = 0x38,
+ /**
+ * Network supports IPv4v6 PDP type only. Non-IP type is not allowed. In LTE mode of operation,
+ * this is a PDN throttling cause code, meaning the UE may throttle further requests to the
+ * same APN.
+ */
+ ONLY_IPV4V6_ALLOWED = 0x39,
+ /**
+ * Network supports non-IP PDP type only. IPv4, IPv6 and IPv4v6 is not allowed. In LTE mode of
+ * operation, this is a PDN throttling cause code, meaning the UE can throttle further requests
+ * to the same APN.
+ */
+ ONLY_NON_IP_ALLOWED = 0x3A,
+ /**
+ * QCI (QoS Class Identifier) indicated in the UE request cannot be supported.
+ */
+ UNSUPPORTED_QCI_VALUE = 0x3B,
+ /**
+ * Procedure requested by the UE was rejected because the bearer handling is not supported.
+ */
+ BEARER_HANDLING_NOT_SUPPORTED = 0x3C,
+ /**
+ * Not receiving a DNS address that was mandatory.
+ */
+ INVALID_DNS_ADDR = 0x7B,
+ /**
+ * Not receiving either a PCSCF or a DNS address, one of them being mandatory.
+ */
+ INVALID_PCSCF_OR_DNS_ADDRESS = 0x7C,
+ /**
+ * Emergency call bring up on a different ePDG.
+ */
+ CALL_PREEMPT_BY_EMERGENCY_APN = 0x7F,
+ /**
+ * UE performs a detach or disconnect PDN action based on TE requirements.
+ */
+ UE_INITIATED_DETACH_OR_DISCONNECT = 0x80,
+ /**
+ * Reason unspecified for foreign agent rejected MIP (Mobile IP) registration.
+ */
+ MIP_FA_REASON_UNSPECIFIED = 0x7D0,
+ /**
+ * Foreign agent administratively prohibited MIP (Mobile IP) registration.
+ */
+ MIP_FA_ADMIN_PROHIBITED = 0x7D1,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of insufficient resources.
+ */
+ MIP_FA_INSUFFICIENT_RESOURCES = 0x7D2,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of MN-AAA authenticator was
+ * wrong.
+ */
+ MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7D3,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of home agent authentication
+ * failure.
+ */
+ MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 0x7D4,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of requested lifetime was too
+ * long.
+ */
+ MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 0x7D5,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of malformed request.
+ */
+ MIP_FA_MALFORMED_REQUEST = 0x7D6,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of malformed reply.
+ */
+ MIP_FA_MALFORMED_REPLY = 0x7D7,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of requested encapsulation was
+ * unavailable.
+ */
+ MIP_FA_ENCAPSULATION_UNAVAILABLE = 0x7D8,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration of VJ Header Compression was unavailable.
+ */
+ MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 0x7D9,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was
+ * unavailable.
+ */
+ MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 0x7DA,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was mandatory
+ * but not requested by device.
+ */
+ MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 0x7DB,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of delivery style was not
+ * supported.
+ */
+ MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 0x7DC,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of missing NAI (Network Access
+ * Identifier).
+ */
+ MIP_FA_MISSING_NAI = 0x7DD,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Agent.
+ */
+ MIP_FA_MISSING_HOME_AGENT = 0x7DE,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Address.
+ */
+ MIP_FA_MISSING_HOME_ADDRESS = 0x7DF,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of unknown challenge.
+ */
+ MIP_FA_UNKNOWN_CHALLENGE = 0x7E0,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of missing challenge.
+ */
+ MIP_FA_MISSING_CHALLENGE = 0x7E1,
+ /**
+ * Foreign agent rejected MIP (Mobile IP) registration because of stale challenge.
+ */
+ MIP_FA_STALE_CHALLENGE = 0x7E2,
+ /**
+ * Reason unspecified for home agent rejected MIP (Mobile IP) registration.
+ */
+ MIP_HA_REASON_UNSPECIFIED = 0x7E3,
+ /**
+ * Home agent administratively prohibited MIP (Mobile IP) registration.
+ */
+ MIP_HA_ADMIN_PROHIBITED = 0x7E4,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of insufficient resources.
+ */
+ MIP_HA_INSUFFICIENT_RESOURCES = 0x7E5,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of MN-HA authenticator was wrong.
+ */
+ MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7E6,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of foreign agent authentication
+ * failure.
+ */
+ MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 0x7E7,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of registration id mismatch.
+ */
+ MIP_HA_REGISTRATION_ID_MISMATCH = 0x7E8,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of malformed request.
+ */
+ MIP_HA_MALFORMED_REQUEST = 0x7E9,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of unknown home agent address.
+ */
+ MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 0x7EA,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel was unavailable.
+ */
+ MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 0x7EB,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel is mandatory but
+ * not requested by device.
+ */
+ MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 0x7EC,
+ /**
+ * Home agent rejected MIP (Mobile IP) registration because of encapsulation unavailable.
+ */
+ MIP_HA_ENCAPSULATION_UNAVAILABLE = 0x7ED,
+ /**
+ * Tearing down is in progress.
+ */
+ CLOSE_IN_PROGRESS = 0x7EE,
+ /**
+ * Brought down by the network.
+ */
+ NETWORK_INITIATED_TERMINATION = 0x7EF,
+ /**
+ * Another application in modem preempts the data call.
+ */
+ MODEM_APP_PREEMPTED = 0x7F0,
+ /**
+ * IPV4 PDN is in throttled state due to network providing only IPV6 address during the previous
+ * VSNCP bringup (subs_limited_to_v6).
+ */
+ PDN_IPV4_CALL_DISALLOWED = 0x7F1,
+ /**
+ * IPV4 PDN is in throttled state due to previous VSNCP bringup failure(s).
+ */
+ PDN_IPV4_CALL_THROTTLED = 0x7F2,
+ /**
+ * IPV6 PDN is in throttled state due to network providing only IPV4 address during the previous
+ * VSNCP bringup (subs_limited_to_v4).
+ */
+ PDN_IPV6_CALL_DISALLOWED = 0x7F3,
+ /**
+ * IPV6 PDN is in throttled state due to previous VSNCP bringup failure(s).
+ */
+ PDN_IPV6_CALL_THROTTLED = 0x7F4,
+ /**
+ * Modem restart.
+ */
+ MODEM_RESTART = 0x7F5,
+ /**
+ * PDP PPP calls are not supported.
+ */
+ PDP_PPP_NOT_SUPPORTED = 0x7F6,
+ /**
+ * RAT on which the data call is attempted/connected is no longer the preferred RAT.
+ */
+ UNPREFERRED_RAT = 0x7F7,
+ /**
+ * Physical link is in the process of cleanup.
+ */
+ PHYSICAL_LINK_CLOSE_IN_PROGRESS = 0x7F8,
+ /**
+ * Interface bring up is attempted for an APN that is yet to be handed over to target RAT.
+ */
+ APN_PENDING_HANDOVER = 0x7F9,
+ /**
+ * APN bearer type in the profile does not match preferred network mode.
+ */
+ PROFILE_BEARER_INCOMPATIBLE = 0x7FA,
+ /**
+ * Card was refreshed or removed.
+ */
+ SIM_CARD_CHANGED = 0x7FB,
+ /**
+ * Device is going into lower power mode or powering down.
+ */
+ LOW_POWER_MODE_OR_POWERING_DOWN = 0x7FC,
+ /**
+ * APN has been disabled.
+ */
+ APN_DISABLED = 0x7FD,
+ /**
+ * Maximum PPP inactivity timer expired.
+ */
+ MAX_PPP_INACTIVITY_TIMER_EXPIRED = 0x7FE,
+ /**
+ * IPv6 address transfer failed.
+ */
+ IPV6_ADDRESS_TRANSFER_FAILED = 0x7FF,
+ /**
+ * Target RAT swap failed.
+ */
+ TRAT_SWAP_FAILED = 0x800,
+ /**
+ * Device falls back from eHRPD to HRPD.
+ */
+ EHRPD_TO_HRPD_FALLBACK = 0x801,
+ /**
+ * UE is in MIP-only configuration but the MIP configuration fails on call bring up due to
+ * incorrect provisioning.
+ */
+ MIP_CONFIG_FAILURE = 0x802,
+ /**
+ * PDN inactivity timer expired due to no data transmission in a configurable duration of time.
+ */
+ PDN_INACTIVITY_TIMER_EXPIRED = 0x803,
+ /**
+ * IPv4 data call bring up is rejected because the UE already maintains the allotted maximum
+ * number of IPv4 data connections.
+ */
+ MAX_IPV4_CONNECTIONS = 0x804,
+ /**
+ * IPv6 data call bring up is rejected because the UE already maintains the allotted maximum
+ * number of IPv6 data connections.
+ */
+ MAX_IPV6_CONNECTIONS = 0x805,
+ /**
+ * New PDN bring up is rejected during interface selection because the UE has already allotted
+ * the available interfaces for other PDNs.
+ */
+ APN_MISMATCH = 0x806,
+ /**
+ * New call bring up is rejected since the existing data call IP type doesn't match the
+ * requested IP.
+ */
+ IP_VERSION_MISMATCH = 0x807,
+ /**
+ * Dial up networking (DUN) call bring up is rejected since UE is in eHRPD RAT.
+ */
+ DUN_CALL_DISALLOWED = 0x808,
+ /**
+ * Rejected/Brought down since UE is transition between EPC and NONEPC RAT.
+ */
+ INTERNAL_EPC_NONEPC_TRANSITION = 0x809,
+ /**
+ * The current interface is being in use.
+ */
+ INTERFACE_IN_USE = 0x80A,
+ /**
+ * PDN connection to the APN is disallowed on the roaming network.
+ */
+ APN_DISALLOWED_ON_ROAMING = 0x80B,
+ /**
+ * APN-related parameters are changed.
+ */
+ APN_PARAMETERS_CHANGED = 0x80C,
+ /**
+ * PDN is attempted to be brought up with NULL APN but NULL APN is not supported.
+ */
+ NULL_APN_DISALLOWED = 0x80D,
+ /**
+ * Thermal level increases and causes calls to be torn down when normal mode of operation is
+ * not allowed.
+ */
+ THERMAL_MITIGATION = 0x80E,
+ /**
+ * PDN Connection to a given APN is disallowed because data is disabled from the device user
+ * interface settings.
+ */
+ DATA_SETTINGS_DISABLED = 0x80F,
+ /**
+ * PDN Connection to a given APN is disallowed because data roaming is disabled from the device
+ * user interface settings and the UE is roaming.
+ */
+ DATA_ROAMING_SETTINGS_DISABLED = 0x810,
+ /**
+ * DDS (Default data subscription) switch occurs.
+ */
+ DDS_SWITCHED = 0x811,
+ /**
+ * PDN being brought up with an APN that is part of forbidden APN Name list.
+ */
+ FORBIDDEN_APN_NAME = 0x812,
+ /**
+ * Default data subscription switch is in progress.
+ */
+ DDS_SWITCH_IN_PROGRESS = 0x813,
+ /**
+ * Roaming is disallowed during call bring up.
+ */
+ CALL_DISALLOWED_IN_ROAMING = 0x814,
+ /**
+ * UE is unable to bring up a non-IP data call because the device is not camped on a NB1 cell.
+ */
+ NON_IP_NOT_SUPPORTED = 0x815,
+ /**
+ * Non-IP PDN is in throttled state due to previous VSNCP bringup failure(s).
+ */
+ PDN_NON_IP_CALL_THROTTLED = 0x816,
+ /**
+ * Non-IP PDN is in disallowed state due to the network providing only an IP address.
+ */
+ PDN_NON_IP_CALL_DISALLOWED = 0x817,
+ /**
+ * Device in CDMA locked state.
+ */
+ CDMA_LOCK = 0x818,
+ /**
+ * Received an intercept order from the base station.
+ */
+ CDMA_INTERCEPT = 0x819,
+ /**
+ * Receiving a reorder from the base station.
+ */
+ CDMA_REORDER = 0x81A,
+ /**
+ * Receiving a release from the base station with a SO (Service Option) Reject reason.
+ */
+ CDMA_RELEASE_DUE_TO_SO_REJECTION = 0x81B,
+ /**
+ * Receiving an incoming call from the base station.
+ */
+ CDMA_INCOMING_CALL = 0x81C,
+ /**
+ * Received an alert stop from the base station due to incoming only.
+ */
+ CDMA_ALERT_STOP = 0x81D,
+ /**
+ * Channel acquisition failures. This indicates that device has failed acquiring all the
+ * channels in the PRL.
+ */
+ CHANNEL_ACQUISITION_FAILURE = 0x81E,
+ /**
+ * Maximum access probes transmitted.
+ */
+ MAX_ACCESS_PROBE = 0x81F,
+ /**
+ * Concurrent service is not supported by base station.
+ */
+ CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 0x820,
+ /**
+ * There was no response received from the base station.
+ */
+ NO_RESPONSE_FROM_BASE_STATION = 0x821,
+ /**
+ * The base station rejecting the call.
+ */
+ REJECTED_BY_BASE_STATION = 0x822,
+ /**
+ * The concurrent services requested were not compatible.
+ */
+ CONCURRENT_SERVICES_INCOMPATIBLE = 0x823,
+ /**
+ * Device does not have CDMA service.
+ */
+ NO_CDMA_SERVICE = 0x824,
+ /**
+ * RUIM not being present.
+ */
+ RUIM_NOT_PRESENT = 0x825,
+ /**
+ * Receiving a retry order from the base station.
+ */
+ CDMA_RETRY_ORDER = 0x826,
+ /**
+ * Access blocked by the base station.
+ */
+ ACCESS_BLOCK = 0x827,
+ /**
+ * Access blocked by the base station for all mobile devices.
+ */
+ ACCESS_BLOCK_ALL = 0x828,
+ /**
+ * Maximum access probes for the IS-707B call.
+ */
+ IS707B_MAX_ACCESS_PROBES = 0x829,
+ /**
+ * Put device in thermal emergency.
+ */
+ THERMAL_EMERGENCY = 0x82A,
+ /**
+ * In favor of a voice call or SMS when concurrent voice and data are not supported.
+ */
+ CONCURRENT_SERVICES_NOT_ALLOWED = 0x82B,
+ /**
+ * The other clients rejected incoming call.
+ */
+ INCOMING_CALL_REJECTED = 0x82C,
+ /**
+ * No service on the gateway.
+ */
+ NO_SERVICE_ON_GATEWAY = 0x82D,
+ /**
+ * GPRS context is not available.
+ */
+ NO_GPRS_CONTEXT = 0x82E,
+ /**
+ * Network refuses service to the MS because either an identity of the MS is not acceptable to
+ * the network or the MS does not pass the authentication check.
+ */
+ ILLEGAL_MS = 0x82F,
+ /**
+ * ME could not be authenticated and the ME used is not acceptable to the network.
+ */
+ ILLEGAL_ME = 0x830,
+ /**
+ * Not allowed to operate either GPRS or non-GPRS services.
+ */
+ GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 0x831,
+ /**
+ * MS is not allowed to operate GPRS services.
+ */
+ GPRS_SERVICES_NOT_ALLOWED = 0x832,
+ /**
+ * No matching identity or context could be found in the network.
+ */
+ MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 0x833,
+ /**
+ * Mobile reachable timer has expired, or the GMM context data related to the subscription does
+ * not exist in the SGSN.
+ */
+ IMPLICITLY_DETACHED = 0x834,
+ /**
+ * UE requests GPRS service, or the network initiates a detach request in a PLMN which does not
+ * offer roaming for GPRS services to that MS.
+ */
+ PLMN_NOT_ALLOWED = 0x835,
+ /**
+ * MS requests service, or the network initiates a detach request, in a location area where the
+ * HPLMN determines that the MS, by subscription, is not allowed to operate.
+ */
+ LOCATION_AREA_NOT_ALLOWED = 0x836,
+ /**
+ * UE requests GPRS service or the network initiates a detach request in a PLMN that does not
+ * offer roaming for GPRS services.
+ */
+ GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 0x837,
+ /**
+ * PDP context already exists.
+ */
+ PDP_DUPLICATE = 0x838,
+ /**
+ * RAT change on the UE.
+ */
+ UE_RAT_CHANGE = 0x839,
+ /**
+ * Network cannot serve a request from the MS due to congestion.
+ */
+ CONGESTION = 0x83A,
+ /**
+ * MS requests an establishment of the radio access bearers for all active PDP contexts by
+ * sending a service request message indicating data to the network, but the SGSN does not have
+ * any active PDP context.
+ */
+ NO_PDP_CONTEXT_ACTIVATED = 0x83B,
+ /**
+ * Access class blocking restrictions for the current camped cell.
+ */
+ ACCESS_CLASS_DSAC_REJECTION = 0x83C,
+ /**
+ * SM attempts PDP activation for a maximum of four attempts.
+ */
+ PDP_ACTIVATE_MAX_RETRY_FAILED = 0x83D,
+ /**
+ * Radio access bearer failure.
+ */
+ RADIO_ACCESS_BEARER_FAILURE = 0x83E,
+ /**
+ * Invalid EPS bearer identity in the request.
+ */
+ ESM_UNKNOWN_EPS_BEARER_CONTEXT = 0x83F,
+ /**
+ * Data radio bearer is released by the RRC.
+ */
+ DRB_RELEASED_BY_RRC = 0x840,
+ /**
+ * Indicate the connection was released.
+ */
+ CONNECTION_RELEASED = 0x841,
+ /**
+ * UE is detached.
+ */
+ EMM_DETACHED = 0x842,
+ /**
+ * Attach procedure is rejected by the network.
+ */
+ EMM_ATTACH_FAILED = 0x843,
+ /**
+ * Attach procedure is started for EMC purposes.
+ */
+ EMM_ATTACH_STARTED = 0x844,
+ /**
+ * Service request procedure failure.
+ */
+ LTE_NAS_SERVICE_REQUEST_FAILED = 0x845,
+ /**
+ * Active dedicated bearer was requested using the same default bearer ID.
+ */
+ DUPLICATE_BEARER_ID = 0x846,
+ /**
+ * Collision scenarios for the UE and network-initiated procedures.
+ */
+ ESM_COLLISION_SCENARIOS = 0x847,
+ /**
+ * Bearer must be deactivated to synchronize with the network.
+ */
+ ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 0x848,
+ /**
+ * Active dedicated bearer was requested for an existing default bearer.
+ */
+ ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 0x849,
+ /**
+ * Bad OTA message is received from the network.
+ */
+ ESM_BAD_OTA_MESSAGE = 0x84A,
+ /**
+ * Download server rejected the call.
+ */
+ ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 0x84B,
+ /**
+ * PDN was disconnected by the downlaod server due to IRAT.
+ */
+ ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 0x84C,
+ /**
+ * Dedicated bearer will be deactivated regardless of the network response.
+ */
+ DS_EXPLICIT_DEACTIVATION = 0x84D,
+ /**
+ * No specific local cause is mentioned, usually a valid OTA cause.
+ */
+ ESM_LOCAL_CAUSE_NONE = 0x84E,
+ /**
+ * Throttling is not needed for this service request failure.
+ */
+ LTE_THROTTLING_NOT_REQUIRED = 0x84F,
+ /**
+ * Access control list check failure at the lower layer.
+ */
+ ACCESS_CONTROL_LIST_CHECK_FAILURE = 0x850,
+ /**
+ * Service is not allowed on the requested PLMN.
+ */
+ SERVICE_NOT_ALLOWED_ON_PLMN = 0x851,
+ /**
+ * T3417 timer expiration of the service request procedure.
+ */
+ EMM_T3417_EXPIRED = 0x852,
+ /**
+ * Extended service request fails due to expiration of the T3417 EXT timer.
+ */
+ EMM_T3417_EXT_EXPIRED = 0x853,
+ /**
+ * Transmission failure of radio resource control (RRC) uplink data.
+ */
+ RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 0x854,
+ /**
+ * Radio resource control (RRC) uplink data delivery failed due to a handover.
+ */
+ RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 0x855,
+ /**
+ * Radio resource control (RRC) uplink data delivery failed due to a connection release.
+ */
+ RRC_UPLINK_CONNECTION_RELEASE = 0x856,
+ /**
+ * Radio resource control (RRC) uplink data delivery failed due to a radio link failure.
+ */
+ RRC_UPLINK_RADIO_LINK_FAILURE = 0x857,
+ /**
+ * Radio resource control (RRC) is not connected but the non-access stratum (NAS) sends an
+ * uplink data request.
+ */
+ RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 0x858,
+ /**
+ * Radio resource control (RRC) connection failure at access stratum.
+ */
+ RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 0x859,
+ /**
+ * Radio resource control (RRC) connection establishment is aborted due to another procedure.
+ */
+ RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 0x85A,
+ /**
+ * Radio resource control (RRC) connection establishment failed due to access barrred.
+ */
+ RRC_CONNECTION_ACCESS_BARRED = 0x85B,
+ /**
+ * Radio resource control (RRC) connection establishment failed due to cell reselection at
+ * access stratum.
+ */
+ RRC_CONNECTION_CELL_RESELECTION = 0x85C,
+ /**
+ * Connection establishment failed due to configuration failure at the radio resource control
+ * (RRC).
+ */
+ RRC_CONNECTION_CONFIG_FAILURE = 0x85D,
+ /**
+ * Radio resource control (RRC) connection could not be established in the time limit.
+ */
+ RRC_CONNECTION_TIMER_EXPIRED = 0x85E,
+ /**
+ * Connection establishment failed due to a link failure at the radio resource control (RRC).
+ */
+ RRC_CONNECTION_LINK_FAILURE = 0x85F,
+ /**
+ * Connection establishment failed as the radio resource control (RRC) is not camped on any
+ * cell.
+ */
+ RRC_CONNECTION_CELL_NOT_CAMPED = 0x860,
+ /**
+ * Connection establishment failed due to a service interval failure at the radio resource
+ * control (RRC).
+ */
+ RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 0x861,
+ /**
+ * Radio resource control (RRC) connection establishment failed due to the network rejecting the
+ * UE connection request.
+ */
+ RRC_CONNECTION_REJECT_BY_NETWORK = 0x862,
+ /**
+ * Normal radio resource control (RRC) connection release.
+ */
+ RRC_CONNECTION_NORMAL_RELEASE = 0x863,
+ /**
+ * Radio resource control (RRC) connection release failed due to radio link failure conditions.
+ */
+ RRC_CONNECTION_RADIO_LINK_FAILURE = 0x864,
+ /**
+ * Radio resource control (RRC) connection re-establishment failure.
+ */
+ RRC_CONNECTION_REESTABLISHMENT_FAILURE = 0x865,
+ /**
+ * UE is out of service during the call register.
+ */
+ RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 0x866,
+ /**
+ * Connection has been released by the radio resource control (RRC) due to an abort request.
+ */
+ RRC_CONNECTION_ABORT_REQUEST = 0x867,
+ /**
+ * Radio resource control (RRC) connection released due to a system information block read
+ * error.
+ */
+ RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 0x868,
+ /**
+ * Network-initiated detach with reattach.
+ */
+ NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 0x869,
+ /**
+ * Network-initiated detach without reattach.
+ */
+ NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 0x86A,
+ /**
+ * ESM procedure maximum attempt timeout failure.
+ */
+ ESM_PROCEDURE_TIME_OUT = 0x86B,
+ /**
+ * No PDP exists with the given connection ID while modifying or deactivating or activation for
+ * an already active PDP.
+ */
+ INVALID_CONNECTION_ID = 0x86C,
+ /**
+ * Maximum NSAPIs have been exceeded during PDP activation.
+ */
+ MAXIMIUM_NSAPIS_EXCEEDED = 0x86D,
+ /**
+ * Primary context for NSAPI does not exist.
+ */
+ INVALID_PRIMARY_NSAPI = 0x86E,
+ /**
+ * Unable to encode the OTA message for MT PDP or deactivate PDP.
+ */
+ CANNOT_ENCODE_OTA_MESSAGE = 0x86F,
+ /**
+ * Radio access bearer is not established by the lower layers during activation, modification,
+ * or deactivation.
+ */
+ RADIO_ACCESS_BEARER_SETUP_FAILURE = 0x870,
+ /**
+ * Expiration of the PDP establish timer with a maximum of five retries.
+ */
+ PDP_ESTABLISH_TIMEOUT_EXPIRED = 0x871,
+ /**
+ * Expiration of the PDP modify timer with a maximum of four retries.
+ */
+ PDP_MODIFY_TIMEOUT_EXPIRED = 0x872,
+ /**
+ * Expiration of the PDP deactivate timer with a maximum of four retries.
+ */
+ PDP_INACTIVE_TIMEOUT_EXPIRED = 0x873,
+ /**
+ * PDP activation failed due to RRC_ABORT or a forbidden PLMN.
+ */
+ PDP_LOWERLAYER_ERROR = 0x874,
+ /**
+ * MO PDP modify collision when the MT PDP is already in progress.
+ */
+ PDP_MODIFY_COLLISION = 0x875,
+ /**
+ * Maximum size of the L2 message was exceeded.
+ */
+ MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876,
+ /**
+ * Non-access stratum (NAS) request was rejected by the network.
+ */
+ NAS_REQUEST_REJECTED_BY_NETWORK = 0x877,
+ /**
+ * Radio resource control (RRC) connection establishment failure due to an error in the request
+ * message.
+ */
+ RRC_CONNECTION_INVALID_REQUEST = 0x878,
+ /**
+ * Radio resource control (RRC) connection establishment failure due to a change in the tracking
+ * area ID.
+ */
+ RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 0x879,
+ /**
+ * Radio resource control (RRC) connection establishment failure due to the RF was unavailable.
+ */
+ RRC_CONNECTION_RF_UNAVAILABLE = 0x87A,
+ /**
+ * Radio resource control (RRC) connection was aborted before deactivating the LTE stack due to
+ * a successful LTE to WCDMA/GSM/TD-SCDMA IRAT change.
+ */
+ RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 0x87B,
+ /**
+ * If the UE has an LTE radio link failure before security is established, the radio resource
+ * control (RRC) connection must be released and the UE must return to idle.
+ */
+ RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 0x87C,
+ /**
+ * Radio resource control (RRC) connection was aborted by the non-access stratum (NAS) after an
+ * IRAT to LTE IRAT handover.
+ */
+ RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 0x87D,
+ /**
+ * Radio resource control (RRC) connection was aborted before deactivating the LTE stack after a
+ * successful LTE to GSM/EDGE IRAT cell change order procedure.
+ */
+ RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 0x87E,
+ /**
+ * Radio resource control (RRC) connection was aborted in the middle of a LTE to GSM IRAT cell
+ * change order procedure.
+ */
+ RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 0x87F,
+ /**
+ * IMSI present in the UE is unknown in the home subscriber server.
+ */
+ IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 0x880,
+ /**
+ * IMEI of the UE is not accepted by the network.
+ */
+ IMEI_NOT_ACCEPTED = 0x881,
+ /**
+ * EPS and non-EPS services are not allowed by the network.
+ */
+ EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 0x882,
+ /**
+ * EPS services are not allowed in the PLMN.
+ */
+ EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 0x883,
+ /**
+ * Mobile switching center is temporarily unreachable.
+ */
+ MSC_TEMPORARILY_NOT_REACHABLE = 0x884,
+ /**
+ * CS domain is not available.
+ */
+ CS_DOMAIN_NOT_AVAILABLE = 0x885,
+ /**
+ * ESM level failure.
+ */
+ ESM_FAILURE = 0x886,
+ /**
+ * MAC level failure.
+ */
+ MAC_FAILURE = 0x887,
+ /**
+ * Synchronization failure.
+ */
+ SYNCHRONIZATION_FAILURE = 0x888,
+ /**
+ * UE security capabilities mismatch.
+ */
+ UE_SECURITY_CAPABILITIES_MISMATCH = 0x889,
+ /**
+ * Unspecified security mode reject.
+ */
+ SECURITY_MODE_REJECTED = 0x88A,
+ /**
+ * Unacceptable non-EPS authentication.
+ */
+ UNACCEPTABLE_NON_EPS_AUTHENTICATION = 0x88B,
+ /**
+ * CS fallback call establishment is not allowed.
+ */
+ CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 0x88C,
+ /**
+ * No EPS bearer context was activated.
+ */
+ NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x88D,
+ /**
+ * Invalid EMM state.
+ */
+ INVALID_EMM_STATE = 0x88E,
+ /**
+ * Non-Access Spectrum layer failure.
+ */
+ NAS_LAYER_FAILURE = 0x88F,
+ /**
+ * Multiple PDP call feature is disabled.
+ */
+ MULTIPLE_PDP_CALL_NOT_ALLOWED = 0x890,
+ /**
+ * Data call has been brought down because EMBMS is not enabled at the RRC layer.
+ */
+ EMBMS_NOT_ENABLED = 0x891,
+ /**
+ * Data call was unsuccessfully transferred during the IRAT handover.
+ */
+ IRAT_HANDOVER_FAILED = 0x892,
+ /**
+ * EMBMS data call has been successfully brought down.
+ */
+ EMBMS_REGULAR_DEACTIVATION = 0x893,
+ /**
+ * Test loop-back data call has been successfully brought down.
+ */
+ TEST_LOOPBACK_REGULAR_DEACTIVATION = 0x894,
+ /**
+ * Lower layer registration failure.
+ */
+ LOWER_LAYER_REGISTRATION_FAILURE = 0x895,
+ /**
+ * Network initiates a detach on LTE with error cause "data plan has been replenished or has
+ * expired".
+ */
+ DATA_PLAN_EXPIRED = 0x896,
+ /**
+ * UMTS interface is brought down due to handover from UMTS to iWLAN.
+ */
+ UMTS_HANDOVER_TO_IWLAN = 0x897,
+ /**
+ * Received a connection deny due to general or network busy on EVDO network.
+ */
+ EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 0x898,
+ /**
+ * Received a connection deny due to billing or authentication failure on EVDO network.
+ */
+ EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 0x899,
+ /**
+ * HDR system has been changed due to redirection or the PRL was not preferred.
+ */
+ EVDO_HDR_CHANGED = 0x89A,
+ /**
+ * Device exited HDR due to redirection or the PRL was not preferred.
+ */
+ EVDO_HDR_EXITED = 0x89B,
+ /**
+ * Device does not have an HDR session.
+ */
+ EVDO_HDR_NO_SESSION = 0x89C,
+ /**
+ * It is ending an HDR call origination in favor of a GPS fix.
+ */
+ EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 0x89D,
+ /**
+ * Connection setup on the HDR system was time out.
+ */
+ EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 0x89E,
+ /**
+ * Device failed to acquire a co-located HDR for origination.
+ */
+ FAILED_TO_ACQUIRE_COLOCATED_HDR = 0x89F,
+ /**
+ * OTASP commit is in progress.
+ */
+ OTASP_COMMIT_IN_PROGRESS = 0x8A0,
+ /**
+ * Device has no hybrid HDR service.
+ */
+ NO_HYBRID_HDR_SERVICE = 0x8A1,
+ /**
+ * HDR module could not be obtained because of the RF locked.
+ */
+ HDR_NO_LOCK_GRANTED = 0x8A2,
+ /**
+ * DBM or SMS is in progress.
+ */
+ DBM_OR_SMS_IN_PROGRESS = 0x8A3,
+ /**
+ * HDR module released the call due to fade.
+ */
+ HDR_FADE = 0x8A4,
+ /**
+ * HDR system access failure.
+ */
+ HDR_ACCESS_FAILURE = 0x8A5,
+ /**
+ * P_rev supported by 1 base station is less than 6, which is not supported for a 1X data call.
+ * The UE must be in the footprint of BS which has p_rev >= 6 to support this SO33 call.
+ */
+ UNSUPPORTED_1X_PREV = 0x8A6,
+ /**
+ * Client ended the data call.
+ */
+ LOCAL_END = 0x8A7,
+ /**
+ * Device has no service.
+ */
+ NO_SERVICE = 0x8A8,
+ /**
+ * Device lost the system due to fade.
+ */
+ FADE = 0x8A9,
+ /**
+ * Receiving a release from the base station with no reason.
+ */
+ NORMAL_RELEASE = 0x8AA,
+ /**
+ * Access attempt is already in progress.
+ */
+ ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 0x8AB,
+ /**
+ * Device is in the process of redirecting or handing off to a different target system.
+ */
+ REDIRECTION_OR_HANDOFF_IN_PROGRESS = 0x8AC,
+ /**
+ * Device is operating in Emergency mode.
+ */
+ EMERGENCY_MODE = 0x8AD,
+ /**
+ * Device is in use (e.g., voice call).
+ */
+ PHONE_IN_USE = 0x8AE,
+ /**
+ * Device operational mode is different from the mode requested in the traffic channel bring up.
+ */
+ INVALID_MODE = 0x8AF,
+ /**
+ * SIM was marked by the network as invalid for the circuit and/or packet service domain.
+ */
+ INVALID_SIM_STATE = 0x8B0,
+ /**
+ * There is no co-located HDR.
+ */
+ NO_COLLOCATED_HDR = 0x8B1,
+ /**
+ * UE is entering power save mode.
+ */
+ UE_IS_ENTERING_POWERSAVE_MODE = 0x8B2,
+ /**
+ * Dual switch from single standby to dual standby is in progress.
+ */
+ DUAL_SWITCH = 0x8B3,
+ /**
+ * Data call bring up fails in the PPP setup due to a timeout. (e.g., an LCP conf ack was not
+ * received from the network)
+ */
+ PPP_TIMEOUT = 0x8B4,
+ /**
+ * Data call bring up fails in the PPP setup due to an authorization failure.
+ * (e.g., authorization is required, but not negotiated with the network during an LCP phase)
+ */
+ PPP_AUTH_FAILURE = 0x8B5,
+ /**
+ * Data call bring up fails in the PPP setup due to an option mismatch.
+ */
+ PPP_OPTION_MISMATCH = 0x8B6,
+ /**
+ * Data call bring up fails in the PPP setup due to a PAP failure.
+ */
+ PPP_PAP_FAILURE = 0x8B7,
+ /**
+ * Data call bring up fails in the PPP setup due to a CHAP failure.
+ */
+ PPP_CHAP_FAILURE = 0x8B8,
+ /**
+ * Data call bring up fails in the PPP setup because the PPP is in the process of cleaning the
+ * previous PPP session.
+ */
+ PPP_CLOSE_IN_PROGRESS = 0x8B9,
+ /**
+ * IPv6 interface bring up fails because the network provided only the IPv4 address for the
+ * upcoming PDN permanent client can reattempt a IPv6 call bring up after the IPv4 interface is
+ * also brought down. However, there is no guarantee that the network will provide a IPv6
+ * address.
+ */
+ LIMITED_TO_IPV4 = 0x8BA,
+ /**
+ * IPv4 interface bring up fails because the network provided only the IPv6 address for the
+ * upcoming PDN permanent client can reattempt a IPv4 call bring up after the IPv6 interface is
+ * also brought down. However there is no guarantee that the network will provide a IPv4
+ * address.
+ */
+ LIMITED_TO_IPV6 = 0x8BB,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a VSNCP timeout error.
+ */
+ VSNCP_TIMEOUT = 0x8BC,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a general error. It's used when there is
+ * no other specific error code available to report the failure.
+ */
+ VSNCP_GEN_ERROR = 0x8BD,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request because the requested APN is unauthorized.
+ */
+ VSNCP_APN_UNAUTHORIZED = 0x8BE,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request because the PDN limit has been exceeded.
+ */
+ VSNCP_PDN_LIMIT_EXCEEDED = 0x8BF,
+ /**
+ * Data call bring up fails in the VSNCP phase due to the network rejected the VSNCP
+ * configuration request due to no PDN gateway address.
+ */
+ VSNCP_NO_PDN_GATEWAY_ADDRESS = 0x8C0,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request because the PDN gateway is unreachable.
+ */
+ VSNCP_PDN_GATEWAY_UNREACHABLE = 0x8C1,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request due to a PDN gateway reject.
+ */
+ VSNCP_PDN_GATEWAY_REJECT = 0x8C2,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request with the reason of insufficient parameter.
+ */
+ VSNCP_INSUFFICIENT_PARAMETERS = 0x8C3,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request with the reason of resource unavailable.
+ */
+ VSNCP_RESOURCE_UNAVAILABLE = 0x8C4,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request with the reason of administratively prohibited at the HSGW.
+ */
+ VSNCP_ADMINISTRATIVELY_PROHIBITED = 0x8C5,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of PDN ID in use, or
+ * all existing PDNs are brought down with this end reason because one of the PDN bring up was
+ * rejected by the network with the reason of PDN ID in use.
+ */
+ VSNCP_PDN_ID_IN_USE = 0x8C6,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request for the reason of subscriber limitation.
+ */
+ VSNCP_SUBSCRIBER_LIMITATION = 0x8C7,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request because the PDN exists for this APN.
+ */
+ VSNCP_PDN_EXISTS_FOR_THIS_APN = 0x8C8,
+ /**
+ * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP
+ * configuration request with reconnect to this PDN not allowed, or an active data call is
+ * terminated by the network because reconnection to this PDN is not allowed. Upon receiving
+ * this error code from the network, the modem infinitely throttles the PDN until the next power
+ * cycle.
+ */
+ VSNCP_RECONNECT_NOT_ALLOWED = 0x8C9,
+ /**
+ * Device failure to obtain the prefix from the network.
+ */
+ IPV6_PREFIX_UNAVAILABLE = 0x8CA,
+ /**
+ * System preference change back to SRAT during handoff
+ */
+ HANDOFF_PREFERENCE_CHANGED = 0x8CB,
+ /**
+ * Data call fail due to the slice not being allowed for the data call.
+ */
+ SLICE_REJECTED = 0x8CC,
+ /**
+ * No matching rule available for the request, and match-all rule is not allowed for it.
+ */
+ MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD,
+ /**
+ * If connection failed for all matching URSP rules.
+ */
+ ALL_MATCHING_RULES_FAILED = 0x8CE,
+}
diff --git a/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl
new file mode 100644
index 0000000..7657fc9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.RadioAccessFamily;
+import android.hardware.radio.data.ApnAuthType;
+import android.hardware.radio.data.ApnTypes;
+import android.hardware.radio.data.PdpProtocolType;
+
+@VintfStability
+parcelable DataProfileInfo {
+ const int ID_DEFAULT = 0;
+ const int ID_TETHERED = 1;
+ const int ID_IMS = 2;
+ const int ID_FOTA = 3;
+ const int ID_CBS = 4;
+ /**
+ * Start of OEM-specific profiles
+ */
+ const int ID_OEM_BASE = 1000;
+ const int ID_INVALID = 0xFFFFFFFF;
+
+ const int TYPE_COMMON = 0;
+ const int TYPE_THREE_GPP = 1;
+ const int TYPE_THREE_GPP2 = 2;
+
+ /**
+ * ID of the data profile.
+ * Values are ID_
+ */
+ int profileId;
+ /**
+ * The APN name.
+ */
+ String apn;
+ /**
+ * PDP_type values.
+ */
+ PdpProtocolType protocol;
+ /**
+ * PDP_type values used on roaming network.
+ */
+ PdpProtocolType roamingProtocol;
+ /**
+ * APN authentication type.
+ */
+ ApnAuthType authType;
+ /**
+ * The username for APN, or empty string.
+ */
+ String user;
+ /**
+ * The password for APN, or empty string.
+ */
+ String password;
+ /**
+ * Data profile technology type.
+ * Values are TYPE_
+ */
+ int type;
+ /**
+ * The period in seconds to limit the maximum connections.
+ */
+ int maxConnsTime;
+ /**
+ * The maximum connections during maxConnsTime.
+ */
+ int maxConns;
+ /**
+ * The required wait time in seconds after a successful UE initiated disconnect of a given PDN
+ * connection before the device can send a new PDN connection request for that given PDN.
+ */
+ int waitTime;
+ /**
+ * True to enable the profile, false to disable.
+ */
+ boolean enabled;
+ /**
+ * Supported APN types bitmap. See ApnTypes for the value of each bit.
+ */
+ ApnTypes supportedApnTypesBitmap;
+ /**
+ * The bearer bitmap. See RadioAccessFamily for the value of each bit.
+ */
+ RadioAccessFamily bearerBitmap;
+ /**
+ * Maximum transmission unit (MTU) size in bytes for IPv4.
+ */
+ int mtuV4;
+ /**
+ * Maximum transmission unit (MTU) size in bytes for IPv6.
+ */
+ int mtuV6;
+ /**
+ * True if this data profile was used to bring up the last default (i.e internet) data
+ * connection successfully.
+ */
+ boolean preferred;
+ /**
+ * If true, modem must persist this data profile and profileId must not be set to ID_INVALID.
+ * If the same data profile exists, this data profile must overwrite it.
+ */
+ boolean persistent;
+}
diff --git a/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl
new file mode 100644
index 0000000..2bb5bd6
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+@Backing(type="int")
+enum DataRequestReason {
+ /**
+ * The reason of the data request is normal
+ */
+ NORMAL = 1,
+ /**
+ * The reason of the data request is device shutdown
+ */
+ SHUTDOWN = 2,
+ /**
+ * The reason of the data request is IWLAN data handover to another transport
+ * (e.g. from cellular to wifi or vise versa)
+ */
+ HANDOVER = 3,
+}
diff --git a/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl
new file mode 100644
index 0000000..dfa64e2
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+@Backing(type="byte")
+enum DataThrottlingAction {
+ /*
+ * Clear all existing data throttling.
+ */
+ NO_DATA_THROTTLING,
+ /**
+ * Enact secondary carrier data throttling and remove any existing data throttling on
+ * anchor carrier.
+ */
+ THROTTLE_SECONDARY_CARRIER,
+ /**
+ * Enact anchor carrier data throttling and disable data on secondary carrier if currently
+ * enabled.
+ */
+ THROTTLE_ANCHOR_CARRIER,
+ /**
+ * Immediately hold on to current level of throttling.
+ */
+ HOLD,
+}
diff --git a/radio/aidl/android/hardware/radio/data/EpsQos.aidl b/radio/aidl/android/hardware/radio/data/EpsQos.aidl
new file mode 100644
index 0000000..559a153
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/EpsQos.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.QosBandwidth;
+
+/**
+ * LTE/EPS Quality of Service parameters as per 3gpp spec 24.301 sec 9.9.4.3.
+ */
+@VintfStability
+parcelable EpsQos {
+ /**
+ * Quality of Service Class Identifier (QCI), see 3GPP TS 23.203 and 29.212.
+ * The allowed values are standard values(1-9, 65-68, 69-70, 75, 79-80, 82-85)
+ * defined in the spec and operator specific values in the range 128-254.
+ */
+ int qci;
+ QosBandwidth downlink;
+ QosBandwidth uplink;
+}
diff --git a/radio/aidl/android/hardware/radio/data/IRadioData.aidl b/radio/aidl/android/hardware/radio/data/IRadioData.aidl
new file mode 100644
index 0000000..9f5ba4c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/IRadioData.aidl
@@ -0,0 +1,281 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.AccessNetwork;
+import android.hardware.radio.data.DataProfileInfo;
+import android.hardware.radio.data.DataRequestReason;
+import android.hardware.radio.data.DataThrottlingAction;
+import android.hardware.radio.data.IRadioDataIndication;
+import android.hardware.radio.data.IRadioDataResponse;
+import android.hardware.radio.data.KeepaliveRequest;
+import android.hardware.radio.data.LinkAddress;
+import android.hardware.radio.data.SliceInfo;
+import android.hardware.radio.data.TrafficDescriptor;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for data APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioDataResponse and IRadioDataIndication.
+ */
+@VintfStability
+oneway interface IRadioData {
+ /**
+ * Reserves an unallocated pdu session id from the pool of ids. The allocated id is returned
+ * in the response. When the id is no longer needed, call releasePduSessionId to return it to
+ * the pool.
+ *
+ * Reference: 3GPP TS 24.007 section 11.2.3.1b
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioDataResponse.allocatePduSessionIdResponse()
+ */
+ void allocatePduSessionId(in int serial);
+
+ /**
+ * Indicates that a handover was cancelled after a call to IRadioData::startHandover.
+ * Since the handover was unsuccessful, the modem retains ownership over any of the resources
+ * being transferred and is still responsible for releasing them.
+ *
+ * @param serial Serial number of request.
+ * @param id callId The identifier of the data call which is provided in SetupDataCallResult
+ *
+ * Response function is IRadioDataResponse.cancelHandoverResponse()
+ */
+ void cancelHandover(in int serial, in int callId);
+
+ /**
+ * Deactivate packet data connection and remove from the data call list. An
+ * unsolDataCallListChanged() must be sent when data connection is deactivated.
+ *
+ * @param serial Serial number of request.
+ * @param cid Data call id.
+ * @param reason The request reason. Must be normal, handover, or shutdown.
+ *
+ * Response function is IRadioDataResponse.deactivateDataCallResponse()
+ */
+ void deactivateDataCall(in int serial, in int cid, in DataRequestReason reason);
+
+ /**
+ * Returns the data call list. An entry is added when a setupDataCall() is issued and removed
+ * on a deactivateDataCall(). The list is emptied when setRadioPower() off/on issued or when
+ * the vendor HAL or modem crashes.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioDataResponse.getDataCallListResponse()
+ */
+ void getDataCallList(in int serial);
+
+ /**
+ * Request to get the current slicing configuration including URSP rules and NSSAIs
+ * (configured, allowed and rejected). URSP stands for UE route selection policy and is defined
+ * in 3GPP TS 24.526 Section 4.2. An NSSAI is a collection of network slices. Each network slice
+ * is identified by an S-NSSAI and is represented by the struct SliceInfo. NSSAI and S-NSSAI
+ * are defined in 3GPP TS 24.501.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioDataResponse.getSlicingConfigResponse()
+ */
+ void getSlicingConfig(in int serial);
+
+ /**
+ * Releases a pdu session id that was previously allocated using allocatePduSessionId.
+ * Reference: 3GPP TS 24.007 section 11.2.3.1b
+ *
+ * @param serial Serial number of request.
+ * @param id Pdu session id to release.
+ *
+ * Response function is IRadioDataResponse.releasePduSessionIdResponse()
+ */
+ void releasePduSessionId(in int serial, in int id);
+
+ /**
+ * 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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Tells the modem whether data calls are allowed or not
+ *
+ * @param serial Serial number of request.
+ * @param allow true to allow data calls, false to disallow data calls
+ *
+ * Response function is IRadioDataResponse.setDataAllowedResponse()
+ */
+ void setDataAllowed(in int serial, in boolean allow);
+
+ /**
+ * Send data profiles of the current carrier to the modem.
+ *
+ * @param serial Serial number of request.
+ * @param profiles Array of DataProfileInfo to set.
+ *
+ * Response function is IRadioDataResponse.setDataProfileResponse()
+ */
+ void setDataProfile(in int serial, in DataProfileInfo[] profiles);
+
+ /**
+ * Control data throttling at modem.
+ * - DataThrottlingAction:NO_DATA_THROTTLING should clear any existing data throttling within
+ * the requested completion window.
+ * - DataThrottlingAction:THROTTLE_SECONDARY_CARRIER: Remove any existing throttling on anchor
+ * carrier and achieve maximum data throttling on secondary carrier within the requested
+ * completion window.
+ * - DataThrottlingAction:THROTTLE_ANCHOR_CARRIER: disable secondary carrier and achieve maximum
+ * data throttling on anchor carrier by requested completion window.
+ * - DataThrottlingAction:HOLD: Immediately hold on to current level of throttling.
+ *
+ * @param serial Serial number of request.
+ * @param dataThrottlingAction DataThrottlingAction as defined in types.hal
+ * @param completionDurationMillis window, in milliseconds, in which the requested throttling
+ * action has to be achieved. This must be 0 when dataThrottlingAction is
+ * DataThrottlingAction:HOLD.
+ *
+ * Response function is IRadioDataResponse.setDataThrottlingResponse()
+ */
+ void setDataThrottling(in int serial, in DataThrottlingAction dataThrottlingAction,
+ in long completionDurationMillis);
+
+ /**
+ * Set an APN to initial attach network.
+ *
+ * @param serial Serial number of request.
+ * @param dataProfileInfo data profile containing APN settings
+ *
+ * Response function is IRadioDataResponse.setInitialAttachApnResponse()
+ */
+ void setInitialAttachApn(in int serial, in DataProfileInfo dataProfileInfo);
+
+ /**
+ * Set response functions for data radio requests and indications.
+ *
+ * @param radioDataResponse Object containing response functions
+ * @param radioDataIndication Object containing radio indications
+ */
+ void setResponseFunctions(
+ in IRadioDataResponse radioDataResponse, in IRadioDataIndication radioDataIndication);
+
+ /**
+ * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE,
+ * the data connection must be added to data calls and a unsolDataCallListChanged() must be
+ * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be lost
+ * due to many factors, including deactivateDataCall() being issued, the radio powered off,
+ * reception lost or even transient factors like congestion. This data call list is returned by
+ * getDataCallList() and dataCallListChanged().
+ * The Radio is expected to:
+ * - Create one data call context.
+ * - Create and configure a dedicated interface for the context.
+ * - The interface must be point to point.
+ * - The interface is configured with one or more addresses and is capable of sending and
+ * receiving packets. The format is IP address with optional "/" prefix length (The format is
+ * defined in RFC-4291 section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or
+ * "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If the prefix length is
+ * absent, then the addresses are assumed to be point to point with IPv4 with prefix length 32
+ * or IPv6 with prefix length 128.
+ * - Must not modify routing configuration related to this interface; routing management is
+ * exclusively within the purview of the Android OS.
+ * - Support simultaneous data call context, with limits defined in the specifications. For LTE,
+ * the max number of data calls is equal to the max number of EPS bearers that can be active.
+ *
+ * @param serial Serial number of request.
+ * @param accessNetwork The access network to setup the data call. If the data connection cannot
+ * be established on the specified access network then this should respond with an error.
+ * @param dataProfileInfo Data profile info.
+ * @param roamingAllowed Indicates whether or not data roaming is allowed by the user.
+ * @param reason The request reason. Must be DataRequestReason:NORMAL or
+ * DataRequestReason:HANDOVER.
+ * @param addresses If the reason is DataRequestReason:HANDOVER, this indicates the list of link
+ * addresses of the existing data connection. This parameter must be ignored unless
+ * reason is DataRequestReason:HANDOVER.
+ * @param dnses If the reason is DataRequestReason:HANDOVER, this indicates the list of DNS
+ * addresses of the existing data connection. The format is defined in RFC-4291 section
+ * 2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless
+ * reason is DataRequestReason:HANDOVER.
+ * @param pduSessionId The pdu session id to be used for this data call. A value of 0 means no
+ * pdu session id was attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b
+ * @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from
+ * EPDG to 5G. It is valid only when accessNetwork is AccessNetwork:NGRAN. If the slice
+ * passed from EPDG is rejected, then the data failure cause must be
+ * DataCallFailCause:SLICE_REJECTED.
+ * @param trafficDescriptor TrafficDescriptor for which data connection needs to be established.
+ * It is used for URSP traffic matching as described in TS 24.526 Section 4.2.2.
+ * It includes an optional DNN which, if present, must be used for traffic matching --
+ * it does not specify the end point to be used for the data call. The end point is
+ * specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end point if
+ * one is not specified through URSP rules.
+ * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this
+ * request is allowed. If false, this request must not use the match-all URSP rule and if
+ * a non-match-all rule is not found (or if URSP rules are not available) it should
+ * return failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed
+ * as some requests need to have a hard failure if the intention cannot be met, for
+ * example, a zero-rating slice.
+ *
+ * Response function is IRadioDataResponse.setupDataCallResponse()
+ */
+ void setupDataCall(in int serial, in AccessNetwork accessNetwork,
+ in DataProfileInfo dataProfileInfo, in boolean roamingAllowed,
+ in DataRequestReason reason, in LinkAddress[] addresses, in String[] dnses,
+ in int pduSessionId, in @nullable SliceInfo sliceInfo,
+ in @nullable TrafficDescriptor trafficDescriptor,
+ in boolean matchAllRuleAllowed);
+
+ /**
+ * Indicates that a handover to the IWLAN transport has begun. Any resources being transferred
+ * to the IWLAN transport cannot be released while a handover is underway. For example, if a
+ * pdu session id needs to be transferred to IWLAN, then the modem should not release the id
+ * while the handover is in progress. If a handover was unsuccessful, then the framework calls
+ * IRadio::cancelHandover. The modem retains ownership over any of the resources being
+ * transferred to IWLAN. If a handover was successful, the framework calls
+ * IRadio::deactivateDataCall with reason HANDOVER. The IWLAN transport now owns the transferred
+ * resources and is responsible for releasing them.
+ *
+ * @param serial Serial number of request.
+ * @param id callId The identifier of the data call which is provided in SetupDataCallResult
+ *
+ * Response function is IRadioDataResponse.startHandoverResponse()
+ */
+ void startHandover(in int serial, in int callId);
+
+ /**
+ * Start a Keepalive session (for IPsec)
+ *
+ * @param serial Serial number of request.
+ * @param keepalive A request structure containing all necessary info to describe a keepalive
+ *
+ * Response function is IRadioDataResponse.startKeepaliveResponse()
+ */
+ void startKeepalive(in int serial, in KeepaliveRequest keepalive);
+
+ /**
+ * Stop an ongoing Keepalive session (for IPsec)
+ *
+ * @param serial Serial number of request.
+ * @param sessionHandle The handle that was provided by
+ * IRadioDataResponse.startKeepaliveResponse
+ *
+ * Response function is IRadioDataResponse.stopKeepaliveResponse()
+ */
+ void stopKeepalive(in int serial, in int sessionHandle);
+}
diff --git a/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl b/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl
new file mode 100644
index 0000000..8e73ee3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.data.KeepaliveStatus;
+import android.hardware.radio.data.PcoDataInfo;
+import android.hardware.radio.data.SetupDataCallResult;
+
+/**
+ * Interface declaring unsolicited radio indications for data APIs.
+ */
+@VintfStability
+oneway interface IRadioDataIndication {
+ /**
+ * Indicates data call contexts have changed.
+ *
+ * @param type Type of radio indication
+ * @param dcList Array of SetupDataCallResult identical to that returned by
+ * IRadioData.getDataCallList(). It is the complete list of current data contexts
+ * including new contexts that have been activated. A data call is only removed from
+ * this list when any of the below conditions is matched:
+ * - The framework sends a IRadioData.deactivateDataCall().
+ * - The radio is powered off/on.
+ * - Unsolicited disconnect from either modem or network side.
+ */
+ void dataCallListChanged(in RadioIndicationType type, in SetupDataCallResult[] dcList);
+
+ /**
+ * Indicates a status update for a particular Keepalive session. This must include a handle for
+ * a previous session and should include a status update regarding the state of a keepalive.
+ * Unsolicited keepalive status reports should never be PENDING as unsolicited status should
+ * only be sent when known.
+ *
+ * @param type Type of radio indication
+ * @param status Status information for a Keepalive session
+ */
+ void keepaliveStatus(in RadioIndicationType type, in KeepaliveStatus status);
+
+ /**
+ * Indicates when there is new Carrier PCO data received for a data call. Ideally only new data
+ * must be forwarded, though this is not required. Multiple boxes of carrier PCO data for a
+ * given call must result in a series of pcoData() calls.
+ *
+ * @param type Type of radio indication
+ * @param pco New PcoData
+ */
+ void pcoData(in RadioIndicationType type, in PcoDataInfo pco);
+
+ /**
+ * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in
+ * IRadioData.SetupDataCall. During that time, no new calls are allowed to
+ * IRadioData.SetupDataCall that use the same APN. When IRadioDataIndication.unthrottleApn
+ * is sent, AOSP will no longer throttle calls to IRadioData.SetupDataCall for the given APN.
+ *
+ * @param type Type of radio indication
+ * @param apn Apn to unthrottle
+ */
+ void unthrottleApn(in RadioIndicationType type, in String apn);
+}
diff --git a/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl
new file mode 100644
index 0000000..bbc8d07
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl
@@ -0,0 +1,237 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.data.KeepaliveStatus;
+import android.hardware.radio.data.SetupDataCallResult;
+import android.hardware.radio.data.SlicingConfig;
+
+/**
+ * Interface declaring response functions to solicited radio requests for data APIs.
+ */
+@VintfStability
+oneway interface IRadioDataResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param id The allocated id. On an error, this is set to 0.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES- Indicates that no pdu session ids are available
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void allocatePduSessionIdResponse(in RadioResponseInfo info, in int id);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param dcResponse Attributes of data call
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_CALL_ID
+ */
+ void cancelHandoverResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * 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:INVALID_CALL_ID
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void deactivateDataCallResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param dcResponse List of SetupDataCallResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SIM_ABSENT
+ */
+ void getDataCallListResponse(in RadioResponseInfo info, in SetupDataCallResult[] dcResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param slicingConfig Current slicing configuration
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void getSlicingConfigResponse(in RadioResponseInfo info, in SlicingConfig slicingConfig);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void releasePduSessionIdResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:DEVICE_IN_USE
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setDataAllowedResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void setDataProfileResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setDataThrottlingResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NOT_PROVISIONED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setInitialAttachApnResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param dcResponse SetupDataCallResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE must be returned on both success and failure of setup with the
+ * DataCallResponse.status containing the actual status
+ * For all other errors the DataCallResponse is ignored.
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW
+ * RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES if the vendor is unable handle due to resources are full.
+ * RadioError:SIM_ABSENT
+ */
+ void setupDataCallResponse(in RadioResponseInfo info, in SetupDataCallResult dcResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_CALL_ID
+ */
+ void startHandoverResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param status Status object containing a new handle and a current status. The status returned
+ * here may be PENDING to indicate that the radio has not yet processed the keepalive
+ * request.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:NO_RESOURCES
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void startKeepaliveResponse(in RadioResponseInfo info, in KeepaliveStatus status);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void stopKeepaliveResponse(in RadioResponseInfo info);
+}
diff --git a/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl
new file mode 100644
index 0000000..57c9f68
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+parcelable KeepaliveRequest {
+ /**
+ * Keepalive specified by RFC 3948 Sec. 2.3 using IPv4
+ */
+ const int TYPE_NATT_IPV4 = 0;
+ /**
+ * Keepalive specified by RFC 3948 Sec. 2.3 using IPv6
+ */
+ const int TYPE_NATT_IPV6 = 1;
+
+ /**
+ * The format of the keepalive packet
+ * Values are TYPE_
+ */
+ int type;
+ /**
+ * Source address with type = family, in network byte order
+ */
+ byte[] sourceAddress;
+ /**
+ * Source port if relevant for the given type
+ * INT_MAX: 0x7FFFFFFF denotes that the field is unused
+ */
+ int sourcePort;
+ /**
+ * Destination address with type = family, in network byte order
+ */
+ byte[] destinationAddress;
+ /**
+ * Destination if relevant for the given type
+ * INT_MAX: 0x7FFFFFFF denotes that the field is unused
+ */
+ int destinationPort;
+ /**
+ * The max interval between packets, in milliseconds
+ */
+ int maxKeepaliveIntervalMillis;
+ /**
+ * Context ID, returned in setupDataCallResponse that uniquely identifies the data call to which
+ * this keepalive must applied.
+ */
+ int cid;
+}
diff --git a/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl
new file mode 100644
index 0000000..2df280c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+parcelable KeepaliveStatus {
+ /**
+ * Keepalive is currently active.
+ */
+ const int CODE_ACTIVE = 0;
+ /**
+ * Keepalive is inactive, which indicates an error.
+ */
+ const int CODE_INACTIVE = 1;
+ /**
+ * Requested keepalive has not yet been processed by the modem.
+ * Only allowed in a RESPONSE message to a REQUEST.
+ */
+ const int CODE_PENDING = 2;
+
+ /**
+ * The sessionHandle provided by the API.
+ */
+ int sessionHandle;
+ /**
+ * Status for the given keepalive.
+ * Values are CODE_
+ */
+ int code;
+}
diff --git a/radio/aidl/android/hardware/radio/data/LinkAddress.aidl b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl
new file mode 100644
index 0000000..599d382
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+/**
+ * Describes a data link address for mobile data connection.
+ */
+@VintfStability
+parcelable LinkAddress {
+ const int ADDRESS_PROPERTY_NONE = 0;
+ /**
+ * Indicates this address is deprecated
+ */
+ const int ADDRESS_PROPERTY_DEPRECATED = 0x20;
+ /**
+ * The format is IP address with optional "/" prefix length (The format is defined in RFC-4291
+ * section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or "2001:db8::1/64". Typically one
+ * IPv4 or one IPv6 or one of each. If the prefix length is absent, then the addresses are
+ * assumed to be point to point with IPv4 with prefix length 32 or IPv6 with prefix length 128.
+ */
+ String address;
+ /**
+ * The properties of the link address, as defined in if_addr.h in the Linux kernel.
+ * Values are ADDRESS_PROPERTY_
+ */
+ int addressProperties;
+ /**
+ * The time, as reported by SystemClock.elapsedRealtime(), when this link address will be or
+ * was deprecated. -1 indicates this information is not available. At the time existing
+ * connections can still use this address until it expires, but new connections should use the
+ * new address. LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never be
+ * deprecated.
+ */
+ long deprecationTime;
+ /**
+ * The time, as reported by SystemClock.elapsedRealtime(), when this link address will expire
+ * and be removed from the interface. -1 indicates this information is not available.
+ * LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never expire.
+ */
+ long expirationTime;
+}
diff --git a/radio/aidl/android/hardware/radio/data/NrQos.aidl b/radio/aidl/android/hardware/radio/data/NrQos.aidl
new file mode 100644
index 0000000..1d69b4f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/NrQos.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+import android.hardware.radio.data.QosBandwidth;
+
+/**
+ * 5G Quality of Service parameters as per 3gpp spec 24.501 sec 9.11.4.12
+ */
+@VintfStability
+parcelable NrQos {
+ const byte FLOW_ID_RANGE_MIN = 1;
+ const byte FLOW_ID_RANGE_MAX = 63;
+
+ /**
+ * 5G QOS Identifier (5QI), see 3GPP TS 24.501 and 23.501. The allowed values are standard
+ * values (1-9, 65-68, 69-70, 75, 79-80, 82-85) defined in the spec and operator specific values
+ * in the range 128-254.
+ */
+ int fiveQi;
+ QosBandwidth downlink;
+ QosBandwidth uplink;
+ /**
+ * QOS flow identifier of the QOS flow description in the range
+ * (FLOW_ID_RANGE_MIN, FLOW_ID_RANGE_MAX)
+ */
+ byte qfi;
+ char averagingWindowMs;
+}
diff --git a/radio/aidl/android/hardware/radio/data/OsAppId.aidl b/radio/aidl/android/hardware/radio/data/OsAppId.aidl
new file mode 100644
index 0000000..0bf6d7e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/OsAppId.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+/**
+ * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2
+ */
+@VintfStability
+parcelable OsAppId {
+ /**
+ * Byte array representing OsId + OsAppId. The minimum length of the array is 18 and maximum
+ * length is 272 (16 bytes for OsId + 1 byte for OsAppId length + up to 255 bytes for OsAppId).
+ */
+ byte[] osAppId;
+}
diff --git a/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl
new file mode 100644
index 0000000..9587614
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+@VintfStability
+parcelable PcoDataInfo {
+ /**
+ * Context ID, uniquely identifies this call
+ */
+ int cid;
+ /**
+ * One of the PDP_type values in TS 27.007 section 10.1.1. For example, "IP", "IPV6", "IPV4V6"
+ */
+ String bearerProto;
+ /**
+ * The protocol ID for this box. Note that only IDs from FF00H - FFFFH are accepted.
+ * If more than one is included from the network, multiple calls must be made to send
+ * all of them.
+ */
+ int pcoId;
+ /**
+ * Carrier-defined content. It is binary, opaque and loosely defined in LTE Layer 3 spec 24.008
+ */
+ byte[] contents;
+}
diff --git a/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl
new file mode 100644
index 0000000..9b1136c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+/**
+ * Specifies the type of packet data protocol which is defined in TS 27.007 section 10.1.1.
+ */
+@VintfStability
+@Backing(type="int")
+enum PdpProtocolType {
+ /**
+ * Unknown protocol
+ */
+ UNKNOWN = -1,
+ /**
+ * Internet protocol
+ */
+ IP = 0,
+ /**
+ * Internet protocol, version 6
+ */
+ IPV6 = 1,
+ /**
+ * Virtual PDP type introduced to handle dual IP stack UE capability.
+ */
+ IPV4V6 = 2,
+ /**
+ * Point to point protocol
+ */
+ PPP = 3,
+ /**
+ * Transfer of Non-IP data to external packet data network
+ */
+ NON_IP = 4,
+ /**
+ * Transfer of Unstructured data to the Data Network via N6
+ */
+ UNSTRUCTURED = 5,
+}
diff --git a/radio/aidl/android/hardware/radio/data/PortRange.aidl b/radio/aidl/android/hardware/radio/data/PortRange.aidl
new file mode 100644
index 0000000..b1f88e6
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/PortRange.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+/**
+ * Defines range of ports. start and end are the first and last port numbers (inclusive) in the
+ * range. Both start and end are in PORT_RANGE_MIN to PORT_RANGE_MAX range. A single port shall
+ * be represented by the same start and end value.
+ */
+@VintfStability
+parcelable PortRange {
+ const int PORT_RANGE_MIN = 20;
+ const int PORT_RANGE_MAX = 65535;
+
+ int start;
+ int end;
+}
diff --git a/radio/aidl/android/hardware/radio/data/Qos.aidl b/radio/aidl/android/hardware/radio/data/Qos.aidl
new file mode 100644
index 0000000..3d458de
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/Qos.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.EpsQos;
+import android.hardware.radio.data.NrQos;
+
+/**
+ * EPS or NR QOS parameters
+ */
+@VintfStability
+union Qos {
+ boolean noinit;
+ EpsQos eps;
+ NrQos nr;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl
new file mode 100644
index 0000000..a21003a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+parcelable QosBandwidth {
+ /**
+ * Maximum bit rate possible on the bearer
+ */
+ int maxBitrateKbps;
+ /**
+ * Minimum bit rate that is guaranteed to be provided by the network
+ */
+ int guaranteedBitrateKbps;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosFilter.aidl b/radio/aidl/android/hardware/radio/data/QosFilter.aidl
new file mode 100644
index 0000000..626f2b4
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosFilter.aidl
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.PortRange;
+import android.hardware.radio.data.QosFilterIpsecSpi;
+import android.hardware.radio.data.QosFilterIpv6FlowLabel;
+import android.hardware.radio.data.QosFilterTypeOfService;
+
+/**
+ * See 3gpp 24.008 10.5.6.12 and 3gpp 24.501 9.11.4.13
+ */
+@VintfStability
+parcelable QosFilter {
+ const byte DIRECTION_DOWNLINK = 0;
+ const byte DIRECTION_UPLINK = 1;
+ const byte DIRECTION_BIDIRECTIONAL = 2;
+
+ /**
+ * No protocol specified
+ */
+ const byte PROTOCOL_UNSPECIFIED = -1;
+ /**
+ * Transmission Control Protocol
+ */
+ const byte PROTOCOL_TCP = 6;
+ /**
+ * User Datagram Protocol
+ */
+ const byte PROTOCOL_UDP = 17;
+ /**
+ * Encapsulating Security Payload Protocol
+ */
+ const byte PROTOCOL_ESP = 50;
+ /**
+ * Authentication Header
+ */
+ const byte PROTOCOL_AH = 51;
+
+ /**
+ * Local and remote IP addresses, typically one IPv4 or one IPv6 or one of each. Addresses could
+ * be with optional "/" prefix length, e.g.,"192.0.1.3" or "192.0.1.11/16 2001:db8::1/64".
+ * If the prefix length is absent the addresses are assumed to be point to point with IPv4
+ * having a prefix length of 32 and IPv6 128.
+ */
+ String[] localAddresses;
+ String[] remoteAddresses;
+ /**
+ * Local port/range
+ */
+ @nullable PortRange localPort;
+ /**
+ * Remote port/range
+ */
+ @nullable PortRange remotePort;
+ /**
+ * Next header QoS protocol numbers defined by IANA, RFC 5237
+ * Values are PROTOCOL_
+ */
+ byte protocol;
+ /**
+ * Type of service value or mask as defined in RFC 1349
+ */
+ QosFilterTypeOfService tos;
+ /**
+ * IPv6 flow label as defined in RFC 6437
+ */
+ QosFilterIpv6FlowLabel flowLabel;
+ /**
+ * IPSec security parameter index
+ */
+ QosFilterIpsecSpi spi;
+ /**
+ * Filter direction
+ * Values are DIRECTION_
+ */
+ byte direction;
+ /**
+ * Specifies the order in which the filter needs to be matched. A lower numerical (positive)
+ * value has a higher precedence. Set -1 when unspecified.
+ */
+ int precedence;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl
new file mode 100644
index 0000000..fd7efb1
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+union QosFilterIpsecSpi {
+ boolean noinit;
+ int value;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl
new file mode 100644
index 0000000..d6ce84b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+union QosFilterIpv6FlowLabel {
+ boolean noinit;
+ int value;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl
new file mode 100644
index 0000000..c50c5b6
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+@VintfStability
+union QosFilterTypeOfService {
+ boolean noinit;
+ byte value;
+}
diff --git a/radio/aidl/android/hardware/radio/data/QosSession.aidl b/radio/aidl/android/hardware/radio/data/QosSession.aidl
new file mode 100644
index 0000000..389c349
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/QosSession.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+import android.hardware.radio.data.Qos;
+import android.hardware.radio.data.QosFilter;
+
+/**
+ * QOS session associated with a dedicated bearer
+ */
+@VintfStability
+parcelable QosSession {
+ /**
+ * Unique ID of the QoS session within the data call
+ */
+ int qosSessionId;
+ /**
+ * QOS attributes
+ */
+ Qos qos;
+ /**
+ * List of QOS filters associated with this session
+ */
+ QosFilter[] qosFilters;
+}
diff --git a/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl
new file mode 100644
index 0000000..d9d602e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+import android.hardware.radio.data.PdpProtocolType;
+import android.hardware.radio.data.SliceInfo;
+
+/**
+ * This struct represents a single route selection descriptor as defined in 3GPP TS 24.526.
+ */
+@VintfStability
+parcelable RouteSelectionDescriptor {
+ const byte SSC_MODE_UNKNOWN = -1;
+ const byte SSC_MODE_1 = 1;
+ const byte SSC_MODE_2 = 2;
+ const byte SSC_MODE_3 = 3;
+
+ /**
+ * Precedence value in the range of 0 to 255. Higher value has lower precedence.
+ */
+ byte precedence;
+ /**
+ * Valid values are IP, IPV6, IPV4V6, and UNKNOWN.
+ */
+ PdpProtocolType sessionType;
+ /**
+ * Session and service continuity mode as defined in 3GPP TS 23.501.
+ * Valid values are SSC_MODE_
+ */
+ byte sscMode;
+ /**
+ * There can be 0 or more SliceInfo specified in a route descriptor.
+ */
+ SliceInfo[] sliceInfo;
+ /**
+ * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003.
+ * There can be 0 or more DNNs specified in a route descriptor.
+ */
+ String[] dnn;
+}
diff --git a/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl
new file mode 100644
index 0000000..ebfc55d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.DataCallFailCause;
+import android.hardware.radio.data.LinkAddress;
+import android.hardware.radio.data.PdpProtocolType;
+import android.hardware.radio.data.Qos;
+import android.hardware.radio.data.QosSession;
+import android.hardware.radio.data.SliceInfo;
+import android.hardware.radio.data.TrafficDescriptor;
+
+@VintfStability
+parcelable SetupDataCallResult {
+ /**
+ * Indicates the data connection is inactive.
+ */
+ const int DATA_CONNECTION_STATUS_INACTIVE = 0;
+ /**
+ * Indicates the data connection is active with physical link dormant.
+ */
+ const int DATA_CONNECTION_STATUS_DORMANT = 1;
+ /**
+ * Indicates the data connection is active with physical link up.
+ */
+ const int DATA_CONNECTION_STATUS_ACTIVE = 2;
+
+ /**
+ * On data handover failure, fallback to the source data transport when the fail cause is due
+ * to a hand off preference change.
+ */
+ const byte HANDOVER_FAILURE_MODE_LEGACY = 0;
+ /**
+ * On data handover failure, fallback to the source data transport.
+ */
+ const byte HANDOVER_FAILURE_MODE_DO_FALLBACK = 1;
+ /**
+ * On data handover failure, retry the handover instead of falling back to the source data
+ * transport.
+ */
+ const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2;
+ /**
+ * On data handover failure, setup a new data connection by sending a normal request to the
+ * underlying data service.
+ */
+ const byte HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3;
+
+ /**
+ * Data call fail cause. DataCallFailCause.NONE if no error.
+ */
+ DataCallFailCause cause;
+ /**
+ * If cause is not DataCallFailCause.NONE, this field indicates the network suggested data
+ * retry back-off time in milliseconds. Negative value indicates network does not give any
+ * suggestion. 0 indicates retry should be performed immediately. 0x7fffffffffffffff indicates
+ * the device should not retry data setup anymore. During this time, no calls to
+ * IRadioData.setupDataCall for this APN will be made unless IRadioDataIndication.unthrottleApn
+ * is sent with the same APN.
+ */
+ long suggestedRetryTime;
+ /**
+ * Context ID, uniquely identifies this data connection.
+ */
+ int cid;
+ /**
+ * Data connection active status.
+ * Values are DATA_CONNECTION_STATUS_
+ */
+ int active;
+ /**
+ * PDP protocol type. If cause is DataCallFailCause.ONLY_SINGLE_BEARER_ALLOWED, this is the
+ * protocol type supported, such as "IP" or "IPV6".
+ */
+ PdpProtocolType type;
+ /**
+ * The network interface name.
+ */
+ String ifname;
+ /**
+ * List of link address.
+ */
+ LinkAddress[] addresses;
+ /**
+ * List of DNS server addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". Empty if no dns
+ * server addresses returned.
+ */
+ String[] dnses;
+ /**
+ * List of default gateway addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1".
+ * When empty, the addresses represent point to point connections.
+ */
+ String[] gateways;
+ /**
+ * List of P-CSCF (Proxy Call State Control Function) addresses via PCO (Protocol Configuration
+ * Option), e.g., "2001:db8::1 2001:db8::2 2001:db8::3". Empty if not IMS client.
+ */
+ String[] pcscf;
+ /**
+ * MTU received from network for IPv4.
+ * Value <= 0 means network has either not sent a value or sent an invalid value.
+ */
+ int mtuV4;
+ /**
+ * MTU received from network for IPv6.
+ * Value <= 0 means network has either not sent a value or sent an invalid value.
+ */
+ int mtuV6;
+ /**
+ * Default bearer QoS. Applicable to LTE and NR
+ */
+ Qos defaultQos;
+ /**
+ * Active QOS sessions of the dedicated bearers. Applicable to PDNs that support dedicated
+ * bearers.
+ */
+ QosSession[] qosSessions;
+ /**
+ * Specifies the fallback mode on an IWLAN handover failure.
+ * Values are HANDOVER_FAILURE_MODE_
+ */
+ byte handoverFailureMode;
+ /**
+ * The allocated pdu session id for this data call. A value of 0 means no pdu session id was
+ * attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b.
+ */
+ int pduSessionId;
+ /**
+ * Slice used for this data call. It is valid only when this data call is on AccessNetwork:NGRAN
+ */
+ @nullable SliceInfo sliceInfo;
+ /**
+ * TrafficDescriptors for which this data call must be used. It only includes the TDs for which
+ * a data call has been requested so far; it is not an exhaustive list.
+ */
+ TrafficDescriptor[] trafficDescriptors;
+}
diff --git a/radio/aidl/android/hardware/radio/data/SliceInfo.aidl b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl
new file mode 100644
index 0000000..dd315e8
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+/**
+ * This struct represents a S-NSSAI as defined in 3GPP TS 24.501.
+ */
+@VintfStability
+parcelable SliceInfo {
+ /*
+ * Not specified
+ */
+ const byte SERVICE_TYPE_NONE = 0;
+ /*
+ * Slice suitable for the handling of 5G enhanced Mobile Broadband
+ */
+ const byte SERVICE_TYPE_EMBB = 1;
+ /**
+ * Slice suitable for the handling of ultra-reliable low latency communications
+ */
+ const byte SERVICE_TYPE_URLLC = 2;
+ /*
+ * Slice suitable for the handling of massive IoT
+ */
+ const byte SERVICE_TYPE_MIOT = 3;
+
+ const byte STATUS_UNKNOWN = 0;
+ /**
+ * Configured but not allowed or rejected yet
+ */
+ const byte STATUS_CONFIGURED = 1;
+ /**
+ * Allowed to be used
+ */
+ const byte STATUS_ALLOWED = 2;
+ /**
+ * Rejected because not available in PLMN
+ */
+ const byte STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN = 3;
+ /**
+ * Rejected because not available in reg area
+ */
+ const byte STATUS_REJECTED_NOT_AVAILABLE_IN_REG_AREA = 4;
+ /**
+ * Considered valid when configured/allowed slices are not available
+ */
+ const byte STATUS_DEFAULT_CONFIGURED = 5;
+
+ /**
+ * The type of service provided by the slice. See: 3GPP TS 24.501 Section 9.11.2.8.
+ * Values are SERVICE_TYPE_
+ */
+ byte sliceServiceType;
+ /**
+ * Slice differentiator is the identifier of a slice that has SliceServiceType as SST. 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 sliceDifferentiator;
+ /**
+ * This SST corresponds to a SliceInfo (S-NSSAI) of the HPLMN; the SST is mapped to this value.
+ * See: 3GPP TS 24.501 Section 9.11.2.8.
+ * Values are SERVICE_TYPE_
+ */
+ byte mappedHplmnSst;
+ /**
+ * Present only if both sliceDifferentiator and mappedHplmnSst are also present. This SD
+ * corresponds to a SliceInfo (S-NSSAI) of the HPLMN; sliceDifferentiator is mapped to this
+ * 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;
+ /**
+ * Field to indicate the current status of the slice.
+ * Values are STATUS_
+ */
+ byte status;
+}
diff --git a/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl
new file mode 100644
index 0000000..eea2d49
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.SliceInfo;
+import android.hardware.radio.data.UrspRule;
+
+/**
+ * This struct represents the current slicing configuration.
+ */
+@VintfStability
+parcelable SlicingConfig {
+ /**
+ * This vector contains the current URSP rules. Empty vector indicates no rules are configured.
+ */
+ UrspRule[] urspRules;
+ /**
+ * List of all slices.
+ */
+ SliceInfo[] sliceInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl
new file mode 100644
index 0000000..e6ea27c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.data;
+
+import android.hardware.radio.data.OsAppId;
+
+/**
+ * This struct represents a traffic descriptor. A valid struct must have at least one of the
+ * optional values present. This is based on the definition of traffic descriptor in
+ * TS 24.526 Section 5.2.
+ */
+@VintfStability
+parcelable TrafficDescriptor {
+ /**
+ * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003.
+ */
+ @nullable String dnn;
+ /**
+ * Indicates the OsId + OsAppId (used as category in Android).
+ */
+ @nullable OsAppId osAppId;
+}
diff --git a/radio/aidl/android/hardware/radio/data/UrspRule.aidl b/radio/aidl/android/hardware/radio/data/UrspRule.aidl
new file mode 100644
index 0000000..de85be5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/data/UrspRule.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.data;
+
+import android.hardware.radio.data.RouteSelectionDescriptor;
+import android.hardware.radio.data.TrafficDescriptor;
+
+/**
+ * This struct represents a single URSP rule as defined in 3GPP TS 24.526.
+ */
+@VintfStability
+parcelable UrspRule {
+ /**
+ * Precedence value in the range of 0 to 255. Higher value has lower precedence.
+ */
+ int precedence;
+ /**
+ * Used as a matcher for network requests.
+ */
+ TrafficDescriptor[] trafficDescriptors;
+ /**
+ * List of routes (connection parameters) that must be used for requests matching a
+ * trafficDescriptor.
+ */
+ RouteSelectionDescriptor[] routeSelectionDescriptor;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl
new file mode 100644
index 0000000..3d715e2
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+parcelable CdmaBroadcastSmsConfigInfo {
+ /**
+ * Defines a broadcast message identifier whose value is 0x0000 - 0xFFFF as defined in
+ * C.R1001G 9.3.1 and 9.3.2.
+ */
+ int serviceCategory;
+ /**
+ * Language code of broadcast message whose value is 0x00 - 0x07 as defined in C.R1001G 9.2.
+ */
+ int language;
+ /**
+ * Selected false means message types specified in serviceCategory are not accepted,
+ * while true means accepted.
+ */
+ boolean selected;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl
new file mode 100644
index 0000000..25871c8
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+parcelable CdmaSmsAck {
+ boolean errorClass;
+ /**
+ * SMS cause code as defined in N.S00005, 6.5.2.125.
+ * Currently, only 35 (resource shortage) and 39 (other terminal problem) are reported.
+ */
+ int smsCauseCode;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl
new file mode 100644
index 0000000..835dda5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+parcelable CdmaSmsAddress {
+ /**
+ * DTMF digits
+ */
+ const int DIGIT_MODE_FOUR_BIT = 0;
+ const int DIGIT_MODE_EIGHT_BIT = 1;
+
+ const int NUMBER_PLAN_UNKNOWN = 0;
+ /**
+ * CCITT E.164 and E.163, including ISDN plan
+ */
+ const int NUMBER_PLAN_TELEPHONY = 1;
+ const int NUMBER_PLAN_RESERVED_2 = 2;
+ /**
+ * CCITT X.121
+ */
+ const int NUMBER_PLAN_DATA = 3;
+ /**
+ * CCITT F.69
+ */
+ const int NUMBER_PLAN_TELEX = 4;
+ const int NUMBER_PLAN_RESERVED_5 = 5;
+ const int NUMBER_PLAN_RESERVED_6 = 6;
+ const int NUMBER_PLAN_RESERVED_7 = 7;
+ const int NUMBER_PLAN_RESERVED_8 = 8;
+ const int NUMBER_PLAN_PRIVATE = 9;
+ const int NUMBER_PLAN_RESERVED_10 = 10;
+ const int NUMBER_PLAN_RESERVED_11 = 11;
+ const int NUMBER_PLAN_RESERVED_12 = 12;
+ const int NUMBER_PLAN_RESERVED_13 = 13;
+ const int NUMBER_PLAN_RESERVED_14 = 14;
+ const int NUMBER_PLAN_RESERVED_15 = 15;
+
+ const int NUMBER_TYPE_UNKNOWN = 0;
+ /**
+ * INTERNATIONAL is used when number mode is not data network address. DATA_IP is used when the
+ * number mode is data network address.
+ */
+ const int NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP = 1;
+ /**
+ * NATIONAL is used when the number mode is not data netework address. INTERNET_MAIL is used
+ * when the number mode is data network address. For INTERNET_MAIL, in the address data
+ * "digits", each byte contains an ASCII character. Examples are: "x@y.com,a@b.com"
+ * Ref TIA/EIA-637A 3.4.3.3
+ */
+ const int NUMBER_TYPE_NATIONAL_OR_INTERNET_MAIL = 2;
+ const int NUMBER_TYPE_NETWORK = 3;
+ const int NUMBER_TYPE_SUBSCRIBER = 4;
+ /**
+ * GSM SMS: address value is GSM 7-bit chars
+ */
+ const int NUMBER_TYPE_ALPHANUMERIC = 5;
+ const int NUMBER_TYPE_ABBREVIATED = 6;
+ const int NUMBER_TYPE_RESERVED_7 = 7;
+
+ /**
+ * CdmaSmsDigitMode is of two types : 4 bit and 8 bit.
+ * For 4-bit type, only "digits" field defined below in this struct is used.
+ * Values are DIGIT_MODE_
+ */
+ int digitMode;
+ /**
+ * Used only when digitMode is 8-bit.
+ */
+ boolean isNumberModeDataNetwork;
+ /**
+ * Used only when digitMode is 8-bit. To specify an international address, use the following:
+ * digitMode = EIGHT_BIT
+ * isNumberModeDataNetwork = true
+ * numberType = INTERNATIONAL_OR_DATA_IP
+ * numberPlan = TELEPHONY
+ * digits = ASCII digits, e.g. '1', '2', '3', '4', and '5'
+ * Values are NUMBER_TYPE_
+ */
+ int numberType;
+ /**
+ * Used only when digitMode is 8-bit.
+ * Values are NUMBER_PLAN_
+ */
+ int numberPlan;
+ /**
+ * Each byte in this array represents a 4 bit or 8-bit digit of address data.
+ */
+ byte[] digits;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl
new file mode 100644
index 0000000..f1f065f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+import android.hardware.radio.messaging.CdmaSmsAddress;
+import android.hardware.radio.messaging.CdmaSmsSubaddress;
+
+@VintfStability
+parcelable CdmaSmsMessage {
+ int teleserviceId;
+ boolean isServicePresent;
+ int serviceCategory;
+ CdmaSmsAddress address;
+ CdmaSmsSubaddress subAddress;
+ /**
+ * 3GPP2 C.S0015-B, v2.0
+ */
+ byte[] bearerData;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl
new file mode 100644
index 0000000..9dfe503
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.messaging;
+
+@VintfStability
+parcelable CdmaSmsSubaddress {
+ /**
+ * CCITT X.213 or ISO 8348 AD2
+ */
+ const int SUBADDRESS_TYPE_NSAP = 0;
+ /**
+ * e.g. X.25
+ */
+ const int SUBADDRESS_TYPE_USER_SPECIFIED = 1;
+
+ /**
+ * Values are SUBADDRESS_TYPE_
+ */
+ int subaddressType;
+ /**
+ * True means the last byte's lower 4 bits must be ignored
+ */
+ boolean odd;
+ /**
+ * Each byte represents an 8-bit digit of subaddress data
+ */
+ byte[] digits;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl
new file mode 100644
index 0000000..e73a0d7
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+import android.hardware.radio.messaging.CdmaSmsMessage;
+
+@VintfStability
+parcelable CdmaSmsWriteArgs {
+ const int STATUS_REC_UNREAD = 0;
+ const int STATUS_REC_READ = 1;
+ const int STATUS_STO_UNSENT = 2;
+ const int STATUS_STO_SENT = 3;
+
+ /**
+ * Status of message. See TS 27.005 3.1
+ * Values are STATUS_
+ */
+ int status;
+ CdmaSmsMessage message;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl
new file mode 100644
index 0000000..2a52f0a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.messaging;
+
+/**
+ * Which types of Cell Broadcast Message (CBM) are to be received by the ME
+ */
+@VintfStability
+parcelable GsmBroadcastSmsConfigInfo {
+ /**
+ * Beginning of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined
+ * in TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS.
+ * All other values must be treated as empty CBM message ID.
+ */
+ int fromServiceId;
+ /**
+ * End of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined in
+ * TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS.
+ * All other values must be treated as empty CBM message ID.
+ */
+ int toServiceId;
+ /**
+ * Beginning of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in
+ * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS.
+ * All other values must be treated as empty CBM data coding scheme.
+ */
+ int fromCodeScheme;
+ /**
+ * End of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in
+ * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS.
+ * All other values must be treated as empty CBM data coding scheme.
+ */
+ int toCodeScheme;
+ /**
+ * False means message types specified in <fromServiceId, toServiceId>
+ * and <fromCodeScheme, toCodeScheme> are not accepted, while true means accepted.
+ */
+ boolean selected;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl
new file mode 100644
index 0000000..45c09af
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+parcelable GsmSmsMessage {
+ /**
+ * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005)
+ * or empty string for default SMSC
+ */
+ String smscPdu;
+ /**
+ * SMS in PDU format as an ASCII hex string less the SMSC address.
+ * TP-Layer-Length is be "strlen(pdu)/2
+ */
+ String pdu;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl
new file mode 100644
index 0000000..1dbaed3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl
@@ -0,0 +1,311 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+import android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo;
+import android.hardware.radio.messaging.CdmaSmsAck;
+import android.hardware.radio.messaging.CdmaSmsMessage;
+import android.hardware.radio.messaging.CdmaSmsWriteArgs;
+import android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo;
+import android.hardware.radio.messaging.GsmSmsMessage;
+import android.hardware.radio.messaging.IRadioMessagingIndication;
+import android.hardware.radio.messaging.IRadioMessagingResponse;
+import android.hardware.radio.messaging.ImsSmsMessage;
+import android.hardware.radio.messaging.SmsAcknowledgeFailCause;
+import android.hardware.radio.messaging.SmsWriteArgs;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for messaging APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioMessagingResponse and IRadioMessagingIndication.
+ */
+@VintfStability
+oneway interface IRadioMessaging {
+ /**
+ * Acknowledge successful or failed receipt of SMS previously indicated via unsol
+ * responseNewSms(), including acknowledgement TPDU to send as the RP-User-Data element of the
+ * RP-ACK or RP-ERROR PDU.
+ *
+ * @param serial Serial number of request.
+ * @param success true on successful receipt (send RP-ACK)
+ * false on failed receipt (send RP-ERROR)
+ * @param ackPdu acknowledgement TPDU in hexadecimal format
+ *
+ * Response function is IRadioMessagingResponse.acknowledgeIncomingGsmSmsWithPduResponse()
+ */
+ void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu);
+
+ /**
+ * Acknowledge the success or failure in the receipt of SMS previously indicated
+ * via responseCdmaNewSms()
+ *
+ * @param serial Serial number of request.
+ * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck
+ *
+ * Response function is IRadioMessagingResponse.acknowledgeLastIncomingCdmaSmsResponse()
+ */
+ void acknowledgeLastIncomingCdmaSms(in int serial, in CdmaSmsAck smsAck);
+
+ /**
+ * Acknowledge successful or failed receipt of SMS previously indicated via unsolResponseNewSms
+ *
+ * @param serial Serial number of request.
+ * @param success is true on successful receipt
+ * (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt
+ * (basically, AT+CNMA=2 from TS 27.005)
+ * @param cause: if success is false, this contains the failure cause as defined
+ * in TS 23.040, 9.2.3.22.
+ *
+ * Response function is IRadioMessagingResponse.acknowledgeLastIncomingGsmSmsResponse()
+ */
+ void acknowledgeLastIncomingGsmSms(
+ in int serial, in boolean success, in SmsAcknowledgeFailCause cause);
+
+ /**
+ * Cancel the current USSD session if one exists.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioMessagingResponse.cancelPendingUssdResponse()
+ */
+ void cancelPendingUssd(in int serial);
+
+ /**
+ * Deletes a CDMA SMS message from RUIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param index record index of the message to delete
+ *
+ * Response function is IRadioMessagingResponse.deleteSmsOnRuimResponse()
+ */
+ void deleteSmsOnRuim(in int serial, in int index);
+
+ /**
+ * Deletes a SMS message from SIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param index Record index of the message to delete.
+ *
+ * Response function is IRadioMessagingResponse.deleteSmsOnSimResponse()
+ */
+ void deleteSmsOnSim(in int serial, in int index);
+
+ /**
+ * Request the setting of CDMA Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioMessagingResponse.getCdmaBroadcastConfigResponse()
+ */
+ void getCdmaBroadcastConfig(in int serial);
+
+ /**
+ * Request the setting of GSM/WCDMA Cell Broadcast SMS config.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioMessagingResponse.getGsmBroadcastConfigResponse()
+ */
+ void getGsmBroadcastConfig(in int serial);
+
+ /**
+ * Get the default Short Message Service Center address on the device.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioMessagingResponse.getSmscAddressResponse()
+ */
+ void getSmscAddress(in int serial);
+
+ /**
+ * Indicates whether there is storage available for new SMS messages.
+ *
+ * @param serial Serial number of request.
+ * @param available true if memory is available for storing new messages,
+ * false if memory capacity is exceeded
+ *
+ * Response function is IRadioMessagingResponse.reportSmsMemoryStatusResponse()
+ */
+ void reportSmsMemoryStatus(in int serial, in boolean available);
+
+ /**
+ * 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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Send a CDMA SMS message
+ *
+ * @param serial Serial number of request.
+ * @param sms CdmaSmsMessage to be sent
+ *
+ * Response function is IRadioMessagingResponse.sendCdmaSmsResponse()
+ */
+ void sendCdmaSms(in int serial, in CdmaSmsMessage sms);
+
+ /**
+ * Send an SMS message. Identical to sendCdmaSms, except that more messages are expected to be
+ * sent soon.
+ *
+ * @param serial Serial number of request.
+ * @param sms CdmaSmsMessage to be sent
+ *
+ * Response function is IRadioMessagingResponse.sendCdmaSmsExpectMoreResponse()
+ */
+ void sendCdmaSmsExpectMore(in int serial, in CdmaSmsMessage sms);
+
+ /**
+ * Send a SMS message over IMS. Based on the return error, caller decides to resend if sending
+ * sms fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry.
+ * In case of retry, data is encoded based on Voice Technology available.
+ *
+ * @param serial Serial number of request.
+ * @param message ImsSmsMessage to be sent
+ *
+ * Response function is IRadioMessagingResponse.sendImsSmsResponse()
+ */
+ void sendImsSms(in int serial, in ImsSmsMessage message);
+
+ /**
+ * Send an SMS message. Based on the returned error, caller decides to resend if sending sms
+ * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and
+ * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
+ *
+ * @param serial Serial number of request.
+ * @param message GsmSmsMessage to be sent
+ *
+ * Response function is IRadioMessagingResponse.sendSmsResponse()
+ */
+ void sendSms(in int serial, in GsmSmsMessage message);
+
+ /**
+ * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent
+ * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command).
+ * Based on the return error, caller decides to resend if sending sms fails.
+ * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and
+ * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
+ *
+ * @param serial Serial number of request.
+ * @param message GsmSmsMessage to be sent
+ *
+ * Response function is IRadioMessagingResponse.sendSmsExpectMoreResponse()
+ */
+ void sendSmsExpectMore(in int serial, in GsmSmsMessage message);
+
+ /**
+ * Send a USSD message. If a USSD session already exists, the message must be sent in the
+ * context of that session. Otherwise, a new session must be created. The network reply must be
+ * reported via unsolOnUssd.
+ *
+ * Only one USSD session must exist at a time, and the session is assumed to exist until:
+ * a) The android system invokes cancelUssd()
+ * b) The implementation sends a unsolOnUssd() with a type code of
+ * "0" (USSD-Notify/no further action) or "2" (session terminated)
+ *
+ * @param serial Serial number of request.
+ * @param ussd string containing the USSD request in UTF-8 format
+ *
+ * Response function is IRadioMessagingResponse.sendUssdResponse()
+ */
+ void sendUssd(in int serial, in String ussd);
+
+ /**
+ * Enable or disable the reception of CDMA Cell Broadcast SMS
+ *
+ * @param serial Serial number of request.
+ * @param activate indicates to activate or turn off the reception of CDMA Cell Broadcast SMS.
+ * true = activate, false = turn off
+ *
+ * Response function is IRadioMessagingResponse.setCdmaBroadcastActivationResponse()
+ */
+ void setCdmaBroadcastActivation(in int serial, in boolean activate);
+
+ /**
+ * Set CDMA Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ * @param configInfo CDMA Broadcast SMS config to be set.
+ *
+ * Response function is IRadioMessagingResponse.setCdmaBroadcastConfigResponse()
+ */
+ void setCdmaBroadcastConfig(in int serial, in CdmaBroadcastSmsConfigInfo[] configInfo);
+
+ /**
+ * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS
+ *
+ * @param serial Serial number of request.
+ * @param activate indicates to activate or turn off the reception of GSM/WCDMA
+ * Cell Broadcast SMS. true = activate, false = turn off
+ *
+ * Response function is IRadioMessagingResponse.setGsmBroadcastActivationResponse()
+ */
+ void setGsmBroadcastActivation(in int serial, in boolean activate);
+
+ /**
+ * Set GSM/WCDMA Cell Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ * @param configInfo Setting of GSM/WCDMA Cell broadcast config
+ *
+ * Response function is IRadioMessagingResponse.setGsmBroadcastConfigResponse()
+ */
+ void setGsmBroadcastConfig(in int serial, in GsmBroadcastSmsConfigInfo[] configInfo);
+
+ /**
+ * Set response functions for messaging radio requests and indications.
+ *
+ * @param radioMessagingResponse Object containing response functions
+ * @param radioMessagingIndication Object containing radio indications
+ */
+ void setResponseFunctions(in IRadioMessagingResponse radioMessagingResponse,
+ in IRadioMessagingIndication radioMessagingIndication);
+
+ /**
+ * Set the default Short Message Service Center address on the device.
+ *
+ * @param serial Serial number of request.
+ * @param smsc Short Message Service Center address to set
+ *
+ * Response function is IRadioMessagingResponse.setSmscAddressResponse()
+ */
+ void setSmscAddress(in int serial, in String smsc);
+
+ /**
+ * Stores a CDMA SMS message to RUIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param cdmaSms CdmaSmsWriteArgs
+ *
+ * Response function is IRadioMessagingResponse.writeSmsToRuimResponse()
+ */
+ void writeSmsToRuim(in int serial, in CdmaSmsWriteArgs cdmaSms);
+
+ /**
+ * Stores a SMS message to SIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param smsWriteArgs SmsWriteArgs
+ *
+ * Response function is IRadioMessagingResponse.writeSmsToSimResponse()
+ */
+ void writeSmsToSim(in int serial, in SmsWriteArgs smsWriteArgs);
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl
new file mode 100644
index 0000000..4b40bfb
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.messaging.CdmaSmsMessage;
+import android.hardware.radio.messaging.UssdModeType;
+
+/**
+ * Interface declaring unsolicited radio indications for messaging APIs.
+ */
+@VintfStability
+oneway interface IRadioMessagingIndication {
+ /**
+ * Indicates when new CDMA SMS is received. Callee must subsequently confirm the receipt of the
+ * SMS with acknowledgeLastIncomingCdmaSms(). Server must not send cdmaNewSms() messages until
+ * acknowledgeLastIncomingCdmaSms() has been received.
+ *
+ * @param type Type of radio indication
+ * @param msg Cdma Sms Message
+ */
+ void cdmaNewSms(in RadioIndicationType type, in CdmaSmsMessage msg);
+
+ /**
+ * Indicates that SMS storage on the RUIM is full. Messages cannot be saved on the RUIM until
+ * space is freed.
+ *
+ * @param type Type of radio indication
+ */
+ void cdmaRuimSmsStorageFull(in RadioIndicationType type);
+
+ /**
+ * Indicates when new Broadcast SMS is received
+ *
+ * @param type Type of radio indication
+ * @param data If received from GSM network, "data" is byte array of 88 bytes which indicates
+ * each page of a CBS Message sent to the MS by the BTS as coded in 3GPP 23.041 Section
+ * 9.4.1.2. If received from UMTS network, "data" is byte array of 90 up to 1252 bytes
+ * which contain between 1 and 15 CBS Message pages sent as one packet to the MS by the
+ * BTS as coded in 3GPP 23.041 Section 9.4.2.2
+ */
+ void newBroadcastSms(in RadioIndicationType type, in byte[] data);
+
+ /**
+ * Indicates when new SMS is received. Callee must subsequently confirm the receipt of the SMS
+ * with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or newSmsStatusReport()
+ * messages until an acknowledgeLastIncomingGsmSms() has been received.
+ *
+ * @param type Type of radio indication
+ * @param pdu PDU of SMS-DELIVER represented as byte array.
+ * The PDU starts with the SMSC address per TS 27.005 (+CMT:)
+ */
+ void newSms(in RadioIndicationType type, in byte[] pdu);
+
+ /**
+ * Indicates when new SMS has been stored on SIM card
+ *
+ * @param type Type of radio indication
+ * @param recordNumber Record number on the sim
+ */
+ void newSmsOnSim(in RadioIndicationType type, in int recordNumber);
+
+ /**
+ * Indicates when new SMS Status Report is received. Callee must subsequently confirm the
+ * receipt of the SMS with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or
+ * newSmsStatusReport() messages until an acknowledgeLastIncomingGsmSms() has been received
+ *
+ * @param type Type of radio indication
+ * @param pdu PDU of SMS-STATUS-REPORT represented as byte array.
+ * The PDU starts with the SMSC address per TS 27.005 (+CMT:)
+ */
+ void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu);
+
+ /**
+ * Indicates when a new USSD message is received. The USSD session is assumed to persist if the
+ * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated.
+ *
+ * @param type Type of radio indication
+ * @param modeType USSD type code
+ * @param msg Message string in UTF-8, if applicable
+ */
+ void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg);
+
+ /**
+ * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a
+ * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular,
+ * incoming Class 2 messages must not be stored.
+ *
+ * @param type Type of radio indication
+ */
+ void simSmsStorageFull(in RadioIndicationType type);
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl
new file mode 100644
index 0000000..75fa390
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl
@@ -0,0 +1,587 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo;
+import android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo;
+import android.hardware.radio.messaging.SendSmsResult;
+
+/**
+ * Interface declaring response functions to solicited radio requests for messaging APIs.
+ */
+@VintfStability
+oneway interface IRadioMessagingResponse {
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void acknowledgeIncomingGsmSmsWithPduResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_SMS_TO_ACK
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_NOT_READY
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void acknowledgeLastIncomingCdmaSmsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void acknowledgeLastIncomingGsmSmsResponse(in RadioResponseInfo info);
+
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void cancelPendingUssdResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NO_SUCH_ENTRY
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:SIM_ABSENT
+ */
+ void deleteSmsOnRuimResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_FULL
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NO_SUCH_ENTRY
+ * RadioError:INTERNAL_ERR
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:SIM_ABSENT
+ */
+ void deleteSmsOnSimResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param configs Vector of CDMA Broadcast SMS configs.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void getCdmaBroadcastConfigResponse(
+ in RadioResponseInfo info, in CdmaBroadcastSmsConfigInfo[] configs);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param configs Vector of GSM/WCDMA Cell broadcast configs
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void getGsmBroadcastConfigResponse(
+ in RadioResponseInfo info, in GsmBroadcastSmsConfigInfo[] configs);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param smsc Short Message Service Center address on the device
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NOT_PROVISIONED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void getSmscAddressResponse(in RadioResponseInfo info, in String smsc);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void reportSmsMemoryStatusResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param sms Response to sms sent as defined by SendSmsResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SMS_SEND_FAIL_RETRY
+ * RadioError:NETWORK_REJECT
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:ENCODING_ERR
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NETWORK_NOT_READY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED
+ * RadioError:ACCESS_BARRED
+ * RadioError:BLOCKED_DUE_TO_CALL
+ */
+ void sendCdmaSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param sms Sms result struct as defined by SendSmsResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SMS_SEND_FAIL_RETRY
+ * RadioError:NETWORK_REJECT
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_ERR
+ * RadioError:ENCODING_ERR
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:ENCODING_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED
+ * RadioError:ACCESS_BARRED
+ * RadioError:BLOCKED_DUE_TO_CALL
+ */
+ void sendCdmaSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param sms Response to sms sent as defined by SendSmsResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SMS_SEND_FAIL_RETRY
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:NETWORK_REJECT
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_ERR
+ * RadioError:ENCODING_ERR
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NETWORK_NOT_READY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void sendImsSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param sms Response to sms sent as defined by SendSmsResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SMS_SEND_FAIL_RETRY
+ * RadioError:NETWORK_REJECT
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:ENCODING_ERR
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NETWORK_NOT_READY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ * RadioError:ACCESS_BARRED
+ * RadioError:BLOCKED_DUE_TO_CALL
+ */
+ void sendSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param sms Response to sms sent as defined by SendSmsResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SMS_SEND_FAIL_RETRY
+ * RadioError:NETWORK_REJECT
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SYSTEM_ERR
+ * RadioError:ENCODING_ERR
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:MODEM_ERR
+ * RadioError:NETWORK_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NETWORK_NOT_READY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ * RadioError:ACCESS_BARRED
+ * RadioError:BLOCKED_DUE_TO_CALL
+ */
+ void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:USSD_MODIFIED_TO_DIAL
+ * RadioError:USSD_MODIFIED_TO_SS
+ * RadioError:USSD_MODIFIED_TO_USSD
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:ABORTED
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void sendUssdResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void setCdmaBroadcastActivationResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void setCdmaBroadcastConfigResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void setGsmBroadcastActivationResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void setGsmBroadcastConfigResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:MODEM_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setSmscAddressResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param index record index where the cmda sms message is stored
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:SIM_FULL
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:ENCODING_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:SIM_ABSENT
+ */
+ void writeSmsToRuimResponse(in RadioResponseInfo info, in int index);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param index record index where the message is stored
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_FULL
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SMS_FORMAT
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:ENCODING_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_SMSC_ADDRESS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:SIM_ABSENT
+ */
+ void writeSmsToSimResponse(in RadioResponseInfo info, in int index);
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl
new file mode 100644
index 0000000..809cfb3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.messaging;
+
+import android.hardware.radio.RadioTechnologyFamily;
+import android.hardware.radio.messaging.CdmaSmsMessage;
+import android.hardware.radio.messaging.GsmSmsMessage;
+
+@VintfStability
+parcelable ImsSmsMessage {
+ RadioTechnologyFamily tech;
+ /**
+ * Retry if true
+ */
+ boolean retry;
+ /**
+ * Valid field if retry is set to true.
+ * Contains messageRef from SendSmsResult struct corresponding to failed MO SMS.
+ */
+ int messageRef;
+ /**
+ * Valid field if tech is 3GPP2 and size = 1 else must be empty. Only one of cdmaMessage and
+ * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0.
+ */
+ CdmaSmsMessage[] cdmaMessage;
+ /**
+ * Valid field if tech is 3GPP and size = 1 else must be empty. Only one of cdmaMessage and
+ * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0.
+ */
+ GsmSmsMessage[] gsmMessage;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl
new file mode 100644
index 0000000..15d68f1
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+parcelable SendSmsResult {
+ /**
+ * TP-Message-Reference for GSM, and BearerData MessageId for CDMA.
+ * See 3GPP2 C.S0015-B, v2.0, table 4.5-1
+ */
+ int messageRef;
+ /**
+ * Ack PDU or empty string if n/a
+ */
+ String ackPDU;
+ /**
+ * See 3GPP 27.005, 3.2.5 for GSM/UMTS, 3GPP2 N.S0005 (IS-41C) Table 171 for CDMA.
+ * -1 if unknown or not applicable.
+ */
+ int errorCode;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl
new file mode 100644
index 0000000..a47cdb6
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.messaging;
+
+@VintfStability
+@Backing(type="int")
+enum SmsAcknowledgeFailCause {
+ MEMORY_CAPACITY_EXCEEDED = 0xD3,
+ UNSPECIFIED_ERROR = 0XFF,
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl
new file mode 100644
index 0000000..539f68b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.messaging;
+
+@VintfStability
+parcelable SmsWriteArgs {
+ const int STATUS_REC_UNREAD = 0;
+ const int STATUS_REC_READ = 1;
+ const int STATUS_STO_UNSENT = 2;
+ const int STATUS_STO_SENT = 3;
+
+ /**
+ * Status of message. See TS 27.005 3.1.
+ * Values are STATUS_
+ */
+ int status;
+ /**
+ * PDU of message to write, as an ASCII hex string less the SMSC address, the TP-layer length
+ * is strlen(pdu)/2.
+ */
+ String pdu;
+ /**
+ * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005)
+ * or NULL for default SMSC.
+ */
+ String smsc;
+}
diff --git a/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl b/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl
new file mode 100644
index 0000000..c3c111e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.messaging;
+
+@VintfStability
+@Backing(type="int")
+enum UssdModeType {
+ /**
+ * USSD-Notify
+ */
+ NOTIFY,
+ /**
+ * USSD-Request
+ */
+ REQUEST,
+ /**
+ * Session terminated by network
+ */
+ NW_RELEASE,
+ /**
+ * Other local client (eg, SIM Toolkit) has responded
+ */
+ LOCAL_CLIENT,
+ /**
+ * Operation not supported
+ */
+ NOT_SUPPORTED,
+ /**
+ * Network timeout
+ */
+ NW_TIMEOUT,
+}
diff --git a/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl
new file mode 100644
index 0000000..764a86d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.modem;
+
+@VintfStability
+parcelable ActivityStatsInfo {
+ /**
+ * Total time (in ms) when modem is in a low power or sleep state
+ */
+ int sleepModeTimeMs;
+ /**
+ * Total time (in ms) when modem is awake but neither the transmitter nor receiver are
+ * active/awake
+ */
+ int idleModeTimeMs;
+ /**
+ * Each index represent total time (in ms) during which the transmitter is active/awake for a
+ * particular power range as shown below.
+ * index 0 = tx_power < 0dBm
+ * index 1 = 0dBm < tx_power < 5dBm
+ * index 2 = 5dBm < tx_power < 15dBm
+ * index 3 = 15dBm < tx_power < 20dBm
+ * index 4 = tx_power > 20dBm
+ */
+ int[] txmModetimeMs;
+ /**
+ * Total time (in ms) for which receiver is active/awake and the transmitter is inactive
+ */
+ int rxModeTimeMs;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl
new file mode 100644
index 0000000..0dae351
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+@VintfStability
+@Backing(type="int")
+enum DeviceStateType {
+ /**
+ * Device power save mode (provided by PowerManager). True indicates the device is in
+ * power save mode.
+ */
+ POWER_SAVE_MODE,
+ /**
+ * Device charging state (provided by BatteryManager). True indicates the device is charging.
+ */
+ CHARGING_STATE,
+ /**
+ * Low data expected mode. True indicates low data traffic is expected, for example, when the
+ * device is idle (e.g. not doing tethering in the background). Note this doesn't mean no data
+ * is expected.
+ */
+ LOW_DATA_EXPECTED,
+}
diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl
new file mode 100644
index 0000000..c38df5e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.modem;
+
+import android.hardware.radio.modem.HardwareConfigModem;
+import android.hardware.radio.modem.HardwareConfigSim;
+
+@VintfStability
+parcelable HardwareConfig {
+ const int STATE_ENABLED = 0;
+ const int STATE_STANDBY = 1;
+ const int STATE_DISABLED = 2;
+
+ const int TYPE_MODEM = 0;
+ const int TYPE_SIM = 1;
+
+ /**
+ * Values are TYPE_
+ */
+ int type;
+ /**
+ * RadioConst:MAX_UUID_LENGTH is max length of the string
+ */
+ String uuid;
+ /**
+ * Values are STATE_
+ */
+ int state;
+ /**
+ * Valid only if type is Modem and size = 1 else must be empty. Only one of modem or sim must
+ * have size = 1 based on the HardwareConfigType, and the other must have size = 0.
+ */
+ HardwareConfigModem[] modem;
+ /**
+ * Valid only if type is SIM and size = 1 else must be empty. Only one of modem or sim must
+ * have size = 1 based on the HardwareConfigType, and the other must have size = 0.
+ */
+ HardwareConfigSim[] sim;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl
new file mode 100644
index 0000000..0b7343b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.modem;
+
+import android.hardware.radio.RadioTechnology;
+
+@VintfStability
+parcelable HardwareConfigModem {
+ /**
+ * RIL attachment model. Values are:
+ * 0: single
+ * 1: multiple
+ * If single, there is a one-to-one relationship between a modem hardware and a ril daemon.
+ * If multiple, there is a one-to-many relationship between a modem hardware and several
+ * simultaneous ril daemons.
+ */
+ int rilModel;
+ /**
+ * Bitset value, based on RadioTechnology.
+ */
+ RadioTechnology rat;
+ /**
+ * Maximum number of concurrent active voice calls.
+ */
+ int maxVoiceCalls;
+ /**
+ * Maximum number of concurrent active data calls.
+ */
+ int maxDataCalls;
+ /**
+ * Maximum number of concurrent standby connections. This is not necessarily an equal sum of the
+ * maxVoice and maxData (or a derivative of it) since it really depends on the modem capability,
+ * hence it is left for the hardware to define.
+ */
+ int maxStandby;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl
new file mode 100644
index 0000000..0f0c05f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+@VintfStability
+parcelable HardwareConfigSim {
+ /**
+ * RadioConst:MAX_UUID_LENGTH is max length of the string
+ */
+ String modemUuid;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl
new file mode 100644
index 0000000..ba0ddb9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl
@@ -0,0 +1,230 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+import android.hardware.radio.modem.DeviceStateType;
+import android.hardware.radio.modem.IRadioModemIndication;
+import android.hardware.radio.modem.IRadioModemResponse;
+import android.hardware.radio.modem.NvItem;
+import android.hardware.radio.modem.NvWriteItem;
+import android.hardware.radio.modem.RadioCapability;
+import android.hardware.radio.modem.ResetNvType;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for modem APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioModemResponse and IRadioModemIndication.
+ */
+@VintfStability
+oneway interface IRadioModem {
+ /**
+ * Toggle logical modem on/off. This is similar to IRadioModem.setRadioPower(), however that
+ * does not enforce that radio power is toggled only for the corresponding radio and certain
+ * vendor implementations do it for all radios. This new API should affect only the modem for
+ * which it is called. A modem stack must be on/active only when both setRadioPower() and
+ * enableModem() are set to on for it.
+ *
+ * SIM must be read if available even if modem is off/inactive.
+ *
+ * @param serial Serial number of request.
+ * @param on True to turn on the logical modem, otherwise turn it off.
+ *
+ * Response function is IRadioModemResponse.enableModemResponse()
+ */
+ void enableModem(in int serial, in boolean on);
+
+ /**
+ * Return string value indicating baseband version, eg response from AT+CGMR
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getBasebandVersionResponse()
+ */
+ void getBasebandVersion(in int serial);
+
+ /**
+ * Request the device ESN / MEID / IMEI / IMEISV. The request is always allowed and contains
+ * GSM and CDMA device identity. When CDMA subscription is changed the ESN/MEID changes.
+ * The application layer must re-issue the request to update the device identity in this case.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getDeviceIdentityResponse()
+ */
+ void getDeviceIdentity(in int serial);
+
+ /**
+ * Request all of the current hardware (modem and sim) associated with Radio.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getHardwareConfigResponse()
+ */
+ void getHardwareConfig(in int serial);
+
+ /**
+ * Get modem activity information for power consumption estimation. Request clear-on-read
+ * statistics information that is used for estimating the per-millisecond power consumption
+ * of the cellular modem.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getModemActivityInfoResponse()
+ */
+ void getModemActivityInfo(in int serial);
+
+ /**
+ * Request status of logical modem. It returns isEnabled=true if the logical modem is on.
+ * This method is the getter method for enableModem.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getModemStackStatusResponse()
+ */
+ void getModemStackStatus(in int serial);
+
+ /**
+ * Get phone radio capability.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.getRadioCapabilityResponse()
+ */
+ void getRadioCapability(in int serial);
+
+ /**
+ * Read one of the radio NV items.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param itemId NvItem
+ *
+ * Response function is IRadioModemResponse.nvReadItemResponse()
+ */
+ void nvReadItem(in int serial, in NvItem itemId);
+
+ /**
+ * Reset the radio NV configuration to the factory state.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param resetType ResetNvType
+ *
+ * Response function is IRadioModemResponse.nvResetConfigResponse()
+ */
+ void nvResetConfig(in int serial, in ResetNvType resetType);
+
+ /**
+ * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param prl PRL as a byte array
+ *
+ * Response function is IRadioModemResponse.nvWriteCdmaPrlResponse()
+ */
+ void nvWriteCdmaPrl(in int serial, in byte[] prl);
+
+ /**
+ * Write one of the radio NV items.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param item NvWriteItem
+ *
+ * Response function is IRadioModemResponse.nvWriteItemResponse()
+ */
+ void nvWriteItem(in int serial, in NvWriteItem item);
+
+ /**
+ * Device is shutting down. All further commands are ignored and RADIO_NOT_AVAILABLE
+ * must be returned.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioModemResponse.requestShutdownResponse()
+ */
+ void requestShutdown(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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Send the updated device state. This is providing the device state information for the modem
+ * to perform power saving strategies.
+ *
+ * @param serial Serial number of request.
+ * @param deviceStateType The updated device state type.
+ * @param state The updated state. See the definition of state at DeviceStateType.
+ *
+ * Response function is IRadioModemResponse.sendDeviceStateResponse()
+ */
+ void sendDeviceState(in int serial, in DeviceStateType deviceStateType, in boolean state);
+
+ /**
+ * Used to set the phones radio capability. Be VERY careful using this request as it may cause
+ * some vendor modems to reset. Because of the possible modem reset any radio commands after
+ * this one may not be processed.
+ *
+ * @param serial Serial number of request.
+ * @param rc RadioCapability structure to be set
+ *
+ * Response function is IRadioModemResponse.setRadioCapabilityResponse()
+ */
+ void setRadioCapability(in int serial, in RadioCapability rc);
+
+ /**
+ * Toggle radio on and off (for "airplane" mode). If the radio is turned off/on the radio modem
+ * subsystem is expected return to an initialized state. For instance, any voice and data calls
+ * must be terminated and all associated lists emptied.
+ * When setting radio power on to exit from airplane mode to place an emergency call on this
+ * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In
+ * this case, this modem is optimized to scan only emergency call bands, until:
+ * 1) Emergency call is completed; or
+ * 2) Another setRadioPower is issued with forEmergencyCall being false or
+ * preferredForEmergencyCall being false; or
+ * 3) Timeout after 30 seconds if dial or emergencyDial is not called.
+ * Once one of these conditions is reached, the modem should move into normal operation.
+ *
+ * @param serial Serial number of request.
+ * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false.
+ * @param forEmergencyCall To indication to radio if this request is due to emergency call.
+ * No effect if powerOn is false.
+ * @param preferredForEmergencyCall indicate whether the following emergency call will be sent
+ * on this modem or not. No effect if forEmergencyCall is false, or powerOn is false.
+ *
+ * Response function is IRadioConfigResponse.setRadioPowerResponse()
+ */
+ void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall,
+ in boolean preferredForEmergencyCall);
+
+ /**
+ * Set response functions for modem radio requests and indications.
+ *
+ * @param radioModemResponse Object containing response functions
+ * @param radioModemIndication Object containing radio indications
+ */
+ void setResponseFunctions(in IRadioModemResponse radioModemResponse,
+ in IRadioModemIndication radioModemIndication);
+}
diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl
new file mode 100644
index 0000000..c61de99
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.modem;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.modem.HardwareConfig;
+import android.hardware.radio.modem.RadioCapability;
+import android.hardware.radio.modem.RadioState;
+
+/**
+ * Interface declaring unsolicited radio indications for modem APIs.
+ */
+@VintfStability
+oneway interface IRadioModemIndication {
+ /**
+ * Indicates when the hardware configuration associated with the RILd changes.
+ *
+ * @param type Type of radio indication
+ * @param configs Array of hardware configs
+ */
+ void hardwareConfigChanged(in RadioIndicationType type, in HardwareConfig[] configs);
+
+ /**
+ * Indicates when there is a modem reset.
+ * When modem restarts, one of the following radio state transitions must happen
+ * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or
+ * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF
+ * This message must be sent either just before the Radio State changes to
+ * RadioState:UNAVAILABLE or just after but must never be sent after the Radio State changes
+ * from RadioState:UNAVAILABLE to RadioState:ON/RadioState:OFF again. It must NOT be sent after
+ * the Radio state changes to RadioState:ON/RadioState:OFF after the modem restart as that may
+ * be interpreted as a second modem reset by the framework.
+ *
+ * @param type Type of radio indication
+ * @param reason the reason for the reset. It may be a crash signature if the restart was due to
+ * a crash or some string such as "user-initiated restart" or "AT command initiated
+ * restart" that explains the cause of the modem restart
+ */
+ void modemReset(in RadioIndicationType type, in String reason);
+
+ /**
+ * Sent when setRadioCapability() completes. Returns the phone radio capability exactly as
+ * getRadioCapability() and must be the same set as sent by setRadioCapability().
+ *
+ * @param type Type of radio indication
+ * @param rc Current radio capability
+ */
+ void radioCapabilityIndication(in RadioIndicationType type, in RadioCapability rc);
+
+ /**
+ * Indicates when radio state changes.
+ *
+ * @param type Type of radio indication
+ * @param radioState Current radio state
+ */
+ void radioStateChanged(in RadioIndicationType type, in RadioState radioState);
+
+ /**
+ * Indicates the ril connects and returns the version
+ *
+ * @param type Type of radio indication
+ */
+ void rilConnected(in RadioIndicationType type);
+}
diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl
new file mode 100644
index 0000000..b17cac4
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl
@@ -0,0 +1,257 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.modem.ActivityStatsInfo;
+import android.hardware.radio.modem.HardwareConfig;
+import android.hardware.radio.modem.RadioCapability;
+
+/**
+ * Interface declaring response functions to solicited radio requests for modem APIs.
+ */
+@VintfStability
+oneway interface IRadioModemResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim
+ * mode, or when there is only one modem available, as this API should only
+ * be called in multi sim status.
+ */
+ void enableModemResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param version string containing version string for log reporting
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:EMPTY_RECORD
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NOT_PROVISIONED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getBasebandVersionResponse(in RadioResponseInfo info, in String version);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param imei IMEI if GSM subscription is available
+ * @param imeisv IMEISV if GSM subscription is available
+ * @param esn ESN if CDMA subscription is available
+ * @param meid MEID if CDMA subscription is available
+ *
+ * If a empty string value is returned for any of the device id, it means that there was error
+ * accessing the device.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:NOT_PROVISIONED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getDeviceIdentityResponse(in RadioResponseInfo info, in String imei, in String imeisv,
+ in String esn, in String meid);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param config Array of HardwareConfig of the radio.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getHardwareConfigResponse(in RadioResponseInfo info, in HardwareConfig[] config);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param activityInfo modem activity information
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NOT_PROVISIONED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getModemActivityInfoResponse(in RadioResponseInfo info, in ActivityStatsInfo activityInfo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:MODEM_ERR
+ */
+ void getModemStackStatusResponse(in RadioResponseInfo info, in boolean isEnabled);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param rc Radio capability as defined by RadioCapability in types.hal
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result string containing the contents of the NV item
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void nvReadItemResponse(in RadioResponseInfo info, in String result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void nvResetConfigResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void nvWriteCdmaPrlResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void nvWriteItemResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void requestShutdownResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void sendDeviceStateResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param rc Radio capability as defined by RadioCapability in types.hal used to
+ * feedback return status
+ *
+ * Valid errors returned:
+ * RadioError:NONE means a unsol radioCapability() will be sent within 30 seconds.
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RF_HARDWARE_ISSUE
+ * RadioError:NO_RF_CALIBRATION_INFO
+ */
+ void setRadioPowerResponse(in RadioResponseInfo info);
+}
diff --git a/radio/aidl/android/hardware/radio/modem/NvItem.aidl b/radio/aidl/android/hardware/radio/modem/NvItem.aidl
new file mode 100644
index 0000000..cdae1c8
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/NvItem.aidl
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+@VintfStability
+@Backing(type="int")
+enum NvItem {
+ /**
+ * CDMA radio and account information (items 1-10)
+ * CDMA MEID (hex)
+ */
+ CDMA_MEID = 1,
+ /**
+ * CDMA MIN (MSID)
+ */
+ CDMA_MIN = 2,
+ /**
+ * CDMA MDN
+ */
+ CDMA_MDN = 3,
+ /**
+ * CDMA access overload control
+ */
+ CDMA_ACCOLC = 4,
+ /**
+ * Carrier device provisioning (items 11-30)
+ * Device MSL
+ */
+ DEVICE_MSL = 11,
+ /**
+ * RTN reconditioned status
+ */
+ RTN_RECONDITIONED_STATUS = 12,
+ /**
+ * RTN activation date
+ */
+ RTN_ACTIVATION_DATE = 13,
+ /**
+ * RTN life timer
+ */
+ RTN_LIFE_TIMER = 14,
+ /**
+ * RTN life calls
+ */
+ RTN_LIFE_CALLS = 15,
+ /**
+ * RTN life data TX
+ */
+ RTN_LIFE_DATA_TX = 16,
+ /**
+ * RTN life data RX
+ */
+ RTN_LIFE_DATA_RX = 17,
+ /**
+ * HFA in progress
+ */
+ OMADM_HFA_LEVEL = 18,
+ /**
+ * Mobile IP profile information (items 31-50)
+ * NAI realm
+ */
+ MIP_PROFILE_NAI = 31,
+ /**
+ * MIP home address
+ */
+ MIP_PROFILE_HOME_ADDRESS = 32,
+ /**
+ * AAA auth
+ */
+ MIP_PROFILE_AAA_AUTH = 33,
+ /**
+ * HA auth
+ */
+ MIP_PROFILE_HA_AUTH = 34,
+ /**
+ * Primary HA address
+ */
+ MIP_PROFILE_PRI_HA_ADDR = 35,
+ /**
+ * Secondary HA address
+ */
+ MIP_PROFILE_SEC_HA_ADDR = 36,
+ /**
+ * Reverse TUN preference
+ */
+ MIP_PROFILE_REV_TUN_PREF = 37,
+ /**
+ * HA SPI
+ */
+ MIP_PROFILE_HA_SPI = 38,
+ /**
+ * AAA SPI
+ */
+ MIP_PROFILE_AAA_SPI = 39,
+ /**
+ * HA shared secret
+ */
+ MIP_PROFILE_MN_HA_SS = 40,
+ /**
+ * AAA shared secret
+ */
+ MIP_PROFILE_MN_AAA_SS = 41,
+ /**
+ * CDMA network and band config (items 51-70)
+ * CDMA PRL version
+ */
+ CDMA_PRL_VERSION = 51,
+ /**
+ * CDMA band class 10
+ */
+ CDMA_BC10 = 52,
+ /**
+ * CDMA band class 14
+ */
+ CDMA_BC14 = 53,
+ /**
+ * CDMA SO68
+ */
+ CDMA_SO68 = 54,
+ /**
+ * CDMA SO73 COP0
+ */
+ CDMA_SO73_COP0 = 55,
+ /**
+ * CDMA SO73 COP1-7
+ */
+ CDMA_SO73_COP1TO7 = 56,
+ /**
+ * CDMA 1X Advanced enabled
+ */
+ CDMA_1X_ADVANCED_ENABLED = 57,
+ /**
+ * CDMA eHRPD enabled
+ */
+ CDMA_EHRPD_ENABLED = 58,
+ /**
+ * CDMA eHRPD forced
+ */
+ CDMA_EHRPD_FORCED = 59,
+ /**
+ * LTE network and band config (items 71-90)
+ * LTE band 25 enabled
+ */
+ LTE_BAND_ENABLE_25 = 71,
+ /**
+ * LTE band 26 enabled
+ */
+ LTE_BAND_ENABLE_26 = 72,
+ /**
+ * LTE band 41 enabled
+ */
+ LTE_BAND_ENABLE_41 = 73,
+ /**
+ * LTE band 25 scan priority
+ */
+ LTE_SCAN_PRIORITY_25 = 74,
+ /**
+ * LTE band 26 scan priority
+ */
+ LTE_SCAN_PRIORITY_26 = 75,
+ /**
+ * LTE band 41 scan priority
+ */
+ LTE_SCAN_PRIORITY_41 = 76,
+ /**
+ * LTE hidden band 25 priority
+ */
+ LTE_HIDDEN_BAND_PRIORITY_25 = 77,
+ /**
+ * LTE hidden band 26 priority
+ */
+ LTE_HIDDEN_BAND_PRIORITY_26 = 78,
+ /**
+ * LTE hidden band 41 priority
+ */
+ LTE_HIDDEN_BAND_PRIORITY_41 = 79,
+}
diff --git a/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl
new file mode 100644
index 0000000..d66c2cd
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+import android.hardware.radio.modem.NvItem;
+
+@VintfStability
+parcelable NvWriteItem {
+ NvItem itemId;
+ String value;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl
new file mode 100644
index 0000000..b7b8ef3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+import android.hardware.radio.RadioAccessFamily;
+
+@VintfStability
+parcelable RadioCapability {
+ /**
+ * Logical Modem's (LM) initial value and value after PHASE_FINISH completes.
+ */
+ const int PHASE_CONFIGURED = 0;
+ /**
+ * PHASE_START is sent before PHASE_APPLY and indicates that an APPLY is forthcoming with these
+ * same parameters.
+ */
+ const int PHASE_START = 1;
+ /**
+ * PHASE_APPLY is sent after all LM's receive PHASE_START and returned
+ * RadioCapability.status = 0.
+ * If any PHASE_START's fail, hal implementation must not send PHASE_APPLY.
+ */
+ const int PHASE_APPLY = 2;
+ /**
+ * PHASE_UNSOL_RSP is sent with unsolicited radioCapability().
+ */
+ const int PHASE_UNSOL_RSP = 3;
+ /**
+ * PHASE_FINISH is sent after all commands have completed. If an error occurs in any previous
+ * command, the RadioAccessFamily and logicalModemUuid fields must be the prior configuration
+ * thus restoring the configuration to the previous value. An error returned by PHASE_FINISH
+ * will generally be ignored or may cause that LM to be removed from service.
+ */
+ const int PHASE_FINISH = 4;
+
+ /**
+ * This parameter has no meaning with PHASE_START, PHASE_APPLY.
+ */
+ const int STATUS_NONE = 0;
+ /**
+ * Tell modem the action transaction of set radio capability was successful with PHASE_FINISH.
+ */
+ const int STATUS_SUCCESS = 1;
+ /**
+ * Tell modem the action transaction of set radio capability failed with PHASE_FINISH.
+ */
+ const int STATUS_FAIL = 2;
+
+ /**
+ * Unique session value defined by framework returned in all "responses/unslo".
+ */
+ int session;
+ /**
+ * Values are PHASE_
+ */
+ int phase;
+ /**
+ * 32-bit bitmap of RadioAccessFamily.
+ */
+ RadioAccessFamily raf;
+ /**
+ * A UUID typically "com.xxxx.lmX" where X is the logical modem.
+ * RadioConst:MAX_UUID_LENGTH is the max length.
+ */
+ String logicalModemUuid;
+ /**
+ * Values are STATUS_
+ */
+ int status;
+}
diff --git a/radio/aidl/android/hardware/radio/modem/RadioState.aidl b/radio/aidl/android/hardware/radio/modem/RadioState.aidl
new file mode 100644
index 0000000..b9826a4
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/RadioState.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+@VintfStability
+@Backing(type="int")
+enum RadioState {
+ /**
+ * Radio explicitly powered off (eg CFUN=0)
+ */
+ OFF = 0,
+ /**
+ * Radio unavailable (eg, resetting or not booted)
+ */
+ UNAVAILABLE = 1,
+ /**
+ * Radio is on
+ */
+ ON = 10,
+}
diff --git a/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl
new file mode 100644
index 0000000..a1411c9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.modem;
+
+@VintfStability
+@Backing(type="int")
+enum ResetNvType {
+ /**
+ * Reload all NV items
+ */
+ RELOAD,
+ /**
+ * Erase NV reset (SCRTN)
+ */
+ ERASE,
+ /**
+ * Factory reset (RTN)
+ */
+ FACTORY_RESET,
+}
diff --git a/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl
new file mode 100644
index 0000000..dfd62a7
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.Cdma2000RegistrationInfo;
+import android.hardware.radio.network.EutranRegistrationInfo;
+import android.hardware.radio.network.NrVopsInfo;
+
+@VintfStability
+union AccessTechnologySpecificInfo {
+ boolean noinit;
+ Cdma2000RegistrationInfo cdmaInfo;
+ EutranRegistrationInfo eutranInfo;
+ /**
+ * Network capabilities for voice over PS services. This info is valid only on NR network and
+ * must be present when the device is camped on NR. NrVopsInfo must be empty when the device is
+ * not camped on NR.
+ */
+ NrVopsInfo ngranNrVopsInfo;
+ /**
+ * True if the dual transfer mode is supported. Refer to 3GPP TS 44.108 section 3.4.25.3
+ */
+ boolean geranDtmSupported;
+}
diff --git a/radio/aidl/android/hardware/radio/network/BarringInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl
new file mode 100644
index 0000000..da49ba5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.BarringTypeSpecificInfo;
+
+@VintfStability
+parcelable BarringInfo {
+ /**
+ * Device is not barred for the given service
+ */
+ const int BARRING_TYPE_NONE = 0;
+ /**
+ * Device may be barred based on time and probability factors
+ */
+ const int BARRING_TYPE_CONDITIONAL = 1;
+ /*
+ * Device is unconditionally barred
+ */
+ const int BARRING_TYPE_UNCONDITIONAL = 2;
+
+ /**
+ * Applicable to UTRAN
+ * Barring for all CS services, including registration
+ */
+ const int SERVICE_TYPE_CS_SERVICE = 0;
+ /**
+ * Barring for all PS services, including registration
+ */
+ const int SERVICE_TYPE_PS_SERVICE = 1;
+ /**
+ * Barring for mobile-originated circuit-switched voice calls
+ */
+ const int SERVICE_TYPE_CS_VOICE = 2;
+ /**
+ * Applicable to EUTRAN, NGRAN
+ * Barring for mobile-originated signalling for any purpose
+ */
+ const int SERVICE_TYPE_MO_SIGNALLING = 3;
+ /**
+ * Barring for mobile-originated internet or other interactive data
+ */
+ const int SERVICE_TYPE_MO_DATA = 4;
+ /**
+ * Barring for circuit-switched fallback calling
+ */
+ const int SERVICE_TYPE_CS_FALLBACK = 5;
+ /**
+ * Barring for IMS voice calling
+ */
+ const int SERVICE_TYPE_MMTEL_VOICE = 6;
+ /**
+ * Barring for IMS video calling
+ */
+ const int SERVICE_TYPE_MMTEL_VIDEO = 7;
+ /**
+ * Applicable to UTRAN, EUTRAN, NGRAN
+ * Barring for emergency services, either CS or emergency MMTEL
+ */
+ const int SERVICE_TYPE_EMERGENCY = 8;
+ /**
+ * Barring for short message services
+ */
+ const int SERVICE_TYPE_SMS = 9;
+ /**
+ * Operator-specific barring codes; applicable to NGRAN
+ */
+ const int SERVICE_TYPE_OPERATOR_1 = 1001;
+ const int SERVICE_TYPE_OPERATOR_2 = 1002;
+ const int SERVICE_TYPE_OPERATOR_3 = 1003;
+ const int SERVICE_TYPE_OPERATOR_4 = 1004;
+ const int SERVICE_TYPE_OPERATOR_5 = 1005;
+ const int SERVICE_TYPE_OPERATOR_6 = 1006;
+ const int SERVICE_TYPE_OPERATOR_7 = 1007;
+ const int SERVICE_TYPE_OPERATOR_8 = 1008;
+ const int SERVICE_TYPE_OPERATOR_9 = 1009;
+ const int SERVICE_TYPE_OPERATOR_10 = 1010;
+ const int SERVICE_TYPE_OPERATOR_11 = 1011;
+ const int SERVICE_TYPE_OPERATOR_12 = 1012;
+ const int SERVICE_TYPE_OPERATOR_13 = 1013;
+ const int SERVICE_TYPE_OPERATOR_14 = 1014;
+ const int SERVICE_TYPE_OPERATOR_15 = 1015;
+ const int SERVICE_TYPE_OPERATOR_16 = 1016;
+ const int SERVICE_TYPE_OPERATOR_17 = 1017;
+ const int SERVICE_TYPE_OPERATOR_18 = 1018;
+ const int SERVICE_TYPE_OPERATOR_19 = 1019;
+ const int SERVICE_TYPE_OPERATOR_20 = 1020;
+ const int SERVICE_TYPE_OPERATOR_21 = 1021;
+ const int SERVICE_TYPE_OPERATOR_22 = 1022;
+ const int SERVICE_TYPE_OPERATOR_23 = 1023;
+ const int SERVICE_TYPE_OPERATOR_24 = 1024;
+ const int SERVICE_TYPE_OPERATOR_25 = 1025;
+ const int SERVICE_TYPE_OPERATOR_26 = 1026;
+ const int SERVICE_TYPE_OPERATOR_27 = 1027;
+ const int SERVICE_TYPE_OPERATOR_28 = 1028;
+ const int SERVICE_TYPE_OPERATOR_29 = 1029;
+ const int SERVICE_TYPE_OPERATOR_30 = 1030;
+ const int SERVICE_TYPE_OPERATOR_31 = 1031;
+ const int SERVICE_TYPE_OPERATOR_32 = 1032;
+ /**
+ * Combined list of barring services for UTRAN, EUTRAN, and NGRAN.
+ *
+ * Barring information is defined in:
+ * -UTRAN - 3gpp 25.331 Sec 10.2.48.8.6.
+ * -EUTRAN - 3gpp 36.331 Sec 6.3.1 SystemInformationBlockType2
+ * -NGRAN - 3gpp 38.331 Sec 6.3.2 UAC-BarringInfo and 22.261 Sec 6.22.2.[2-3]
+ * Values are SERVICE_TYPE_
+ */
+ int serviceType;
+ /**
+ * The type of barring applied to the service
+ * Values are BARRING_TYPE_
+ */
+ int barringType;
+ /**
+ * Type-specific barring info if applicable
+ */
+ @nullable BarringTypeSpecificInfo barringTypeSpecificInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl
new file mode 100644
index 0000000..3899711
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable BarringTypeSpecificInfo {
+ /**
+ * The barring factor as a percentage 0-100
+ */
+ int factor;
+ /**
+ * The number of seconds between re-evaluations of barring
+ */
+ int timeSeconds;
+ /**
+ * Indicates whether barring is currently being applied.
+ *
+ * <p>True if the UE applies barring to a conditionally barred service based on the conditional
+ * barring parameters.
+ *
+ * <p>False if the service is conditionally barred but barring is not currently applied, which
+ * could be due to either the barring criteria not having been evaluated (if the UE has not
+ * attempted to use the service) or due to the criteria being evaluated and the UE being
+ * permitted to use the service despite conditional barring.
+ */
+ boolean isBarred;
+}
diff --git a/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl
new file mode 100644
index 0000000..6ea6cf9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable Cdma2000RegistrationInfo {
+ const int PRL_INDICATOR_NOT_REGISTERED = -1;
+ const int PRL_INDICATOR_NOT_IN_PRL = 0;
+ const int PRL_INDICATOR_IN_PRL = 1;
+ /**
+ * Concurrent services support indicator. if registered on a CDMA system.
+ * false - Concurrent services not supported,
+ * true - Concurrent services supported
+ */
+ boolean cssSupported;
+ /**
+ * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not.
+ * Valid values are 0-255.
+ */
+ int roamingIndicator;
+ /**
+ * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system
+ * or -1 if not. 0=not in the PRL, 1=in the PRL.
+ * Values are PRL_INDICATOR_
+ */
+ int systemIsInPrl;
+ /**
+ * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not.
+ * Valid values are 0-255.
+ */
+ int defaultRoamingIndicator;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl
new file mode 100644
index 0000000..3da8c98
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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
+@Backing(type="int")
+enum CdmaRoamingType {
+ HOME_NETWORK,
+ AFFILIATED_ROAM,
+ ANY_ROAM,
+}
diff --git a/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl
new file mode 100644
index 0000000..c7754f2
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 CdmaSignalStrength {
+ /**
+ * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75,
+ * then this response value will be 75. INT_MAX means invalid/unreported.
+ */
+ int dbm;
+ /**
+ * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB,
+ * then this response value will be 125. INT_MAX means invalid/unreported.
+ */
+ int ecio;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl
new file mode 100644
index 0000000..d9f5766
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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
+@Backing(type="int")
+enum CellConnectionStatus {
+ /**
+ * Cell is not a serving cell.
+ */
+ NONE,
+ /**
+ * UE has connection to cell for signaling and possibly data (3GPP 36.331, 25.331).
+ */
+ PRIMARY_SERVING,
+ /**
+ * UE has connection to cell for data (3GPP 36.331, 25.331).
+ */
+ SECONDARY_SERVING,
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentity.aidl b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl
new file mode 100644
index 0000000..af6d38e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityCdma;
+import android.hardware.radio.network.CellIdentityGsm;
+import android.hardware.radio.network.CellIdentityLte;
+import android.hardware.radio.network.CellIdentityNr;
+import android.hardware.radio.network.CellIdentityTdscdma;
+import android.hardware.radio.network.CellIdentityWcdma;
+
+/**
+ * A union representing the CellIdentity of a single cell.
+ */
+@VintfStability
+union CellIdentity {
+ boolean noinit;
+ CellIdentityGsm gsm;
+ CellIdentityWcdma wcdma;
+ CellIdentityTdscdma tdscdma;
+ CellIdentityCdma cdma;
+ CellIdentityLte lte;
+ CellIdentityNr nr;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl
new file mode 100644
index 0000000..e271e50
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+
+@VintfStability
+parcelable CellIdentityCdma {
+ /**
+ * Network Id 0..65535, INT_MAX if unknown
+ */
+ int networkId;
+ /**
+ * CDMA System Id 0..32767, INT_MAX if unknown
+ */
+ int systemId;
+ /**
+ * Base Station Id 0..65535, INT_MAX if unknown
+ */
+ int baseStationId;
+ /**
+ * Longitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in
+ * units of 0.25 seconds and ranges from -2592000 to 2592000, both values inclusive
+ * (corresponding to a range of -180 to +180 degrees). INT_MAX if unknown
+ */
+ int longitude;
+ /**
+ * Latitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in
+ * units of 0.25 seconds and ranges from -1296000 to 1296000, both values inclusive
+ * (corresponding to a range of -90 to +90 degrees). INT_MAX if unknown
+ */
+ int latitude;
+ CellIdentityOperatorNames operatorNames;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl
new file mode 100644
index 0000000..7b711ad
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+
+@VintfStability
+parcelable CellIdentityGsm {
+ /**
+ * 3-digit Mobile Country Code, 0..999, empty string if unknown
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown
+ */
+ String mnc;
+ /**
+ * 16-bit Location Area Code, 0..65535, INT_MAX if unknown
+ */
+ int lac;
+ /**
+ * 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown
+ */
+ int cid;
+ /**
+ * 16-bit GSM Absolute RF channel number; this value must be valid
+ */
+ int arfcn;
+ /**
+ * 6-bit Base Station Identity Code, 0xFF if unknown
+ */
+ byte bsic;
+ CellIdentityOperatorNames operatorNames;
+ /**
+ * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
+ */
+ String[] additionalPlmns;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl
new file mode 100644
index 0000000..d4f83a3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.ClosedSubscriberGroupInfo;
+import android.hardware.radio.network.EutranBands;
+
+@VintfStability
+parcelable CellIdentityLte {
+ /**
+ * 3-digit Mobile Country Code, 0..999, empty string if unknown
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown
+ */
+ String mnc;
+ /**
+ * 28-bit Cell Identity described in TS TS 27.007, INT_MAX if unknown
+ */
+ int ci;
+ /**
+ * Physical cell id 0..503; this value must be valid
+ */
+ int pci;
+ /**
+ * 16-bit tracking area code, INT_MAX if unknown
+ */
+ int tac;
+ /**
+ * 18-bit LTE Absolute RF Channel Number; this value must be valid
+ */
+ int earfcn;
+ CellIdentityOperatorNames operatorNames;
+ /**
+ * Cell bandwidth, in kHz.
+ */
+ int bandwidth;
+ /**
+ * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
+ */
+ String[] additionalPlmns;
+ /**
+ * Information about any closed subscriber group ID for this cell
+ */
+ @nullable ClosedSubscriberGroupInfo csgInfo;
+ /**
+ * Bands used by the cell.
+ */
+ EutranBands[] bands;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl
new file mode 100644
index 0000000..dfccbf7
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.NgranBands;
+
+/**
+ * The CellIdentity structure should be reported once for each element of the PLMN-IdentityInfoList
+ * broadcast in SIB1 CellAccessRelatedInfo as per 3GPP TS 38.331 Section 6.3.2.
+ */
+@VintfStability
+parcelable CellIdentityNr {
+ /**
+ * 3-digit Mobile Country Code, in range[0, 999]; This value must be valid for registered or
+ * camped cells; INT_MAX means invalid/unreported.
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, in range [0, 999], This value must be valid for
+ * registered or camped cells; INT_MAX means invalid/unreported.
+ */
+ String mnc;
+ /**
+ * NR Cell Identity in range [0, 68719476735] (36 bits) described in 3GPP TS 38.331, which
+ * unambiguously identifies a cell within a PLMN. This value must be valid for registered or
+ * camped cells; LONG_MAX (2^63-1) means invalid/unreported.
+ */
+ long nci;
+ /**
+ * Physical cell id in range [0, 1007] described in 3GPP TS 38.331. This value must be valid.
+ */
+ int pci;
+ /**
+ * 16-bit tracking area code, INT_MAX means invalid/unreported.
+ */
+ int tac;
+ /**
+ * NR Absolute Radio Frequency Channel Number, in range [0, 3279165].
+ * Reference: 3GPP TS 38.101-1 and 3GPP TS 38.101-2 section 5.4.2.1.
+ * This value must be valid.
+ */
+ int nrarfcn;
+ CellIdentityOperatorNames operatorNames;
+ /**
+ * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell
+ */
+ String[] additionalPlmns;
+ /**
+ * Bands used by the cell.
+ */
+ NgranBands[] bands;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl
new file mode 100644
index 0000000..540014a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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
new file mode 100644
index 0000000..99c8151
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.ClosedSubscriberGroupInfo;
+
+@VintfStability
+parcelable CellIdentityTdscdma {
+ /**
+ * 3-digit Mobile Country Code, 0..999, empty string if unknown.
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown.
+ */
+ String mnc;
+ /**
+ * 16-bit Location Area Code, 0..65535, INT_MAX if unknown.
+ */
+ int lac;
+ /**
+ * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown.
+ */
+ int cid;
+ /**
+ * 8-bit Cell Parameters ID described in TS 25.331, 0..127, INT_MAX if unknown.
+ */
+ int cpid;
+ /**
+ * 16-bit UMTS Absolute RF Channel Number defined in TS 25.102 5.4.4; this value must be valid.
+ */
+ int uarfcn;
+ CellIdentityOperatorNames operatorNames;
+ /**
+ * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
+ */
+ String[] additionalPlmns;
+ /**
+ * Information about any closed subscriber group ID for this cell.
+ */
+ @nullable ClosedSubscriberGroupInfo csgInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl
new file mode 100644
index 0000000..302be96
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellIdentityOperatorNames;
+import android.hardware.radio.network.ClosedSubscriberGroupInfo;
+
+@VintfStability
+parcelable CellIdentityWcdma {
+ /**
+ * 3-digit Mobile Country Code, 0..999, empty string if unknown.
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown.
+ */
+ String mnc;
+ /**
+ * 16-bit Location Area Code, 0..65535, INT_MAX if unknown.
+ */
+ int lac;
+ /**
+ * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown.
+ */
+ int cid;
+ /**
+ * 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511; this value must be valid.
+ */
+ int psc;
+ /**
+ * 16-bit UMTS Absolute RF Channel Number; this value must be valid.
+ */
+ int uarfcn;
+ CellIdentityOperatorNames operatorNames;
+ /**
+ * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell.
+ */
+ String[] additionalPlmns;
+ /**
+ * Information about any closed subscriber group ID for this cell.
+ */
+ @nullable ClosedSubscriberGroupInfo csgInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfo.aidl
new file mode 100644
index 0000000..58cf9f5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfo.aidl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellConnectionStatus;
+import android.hardware.radio.network.CellInfoRatSpecificInfo;
+
+@VintfStability
+parcelable CellInfo {
+ /**
+ * True if this cell is registered false if not registered.
+ */
+ boolean registered;
+ /**
+ * Connection status for the cell.
+ */
+ CellConnectionStatus connectionStatus;
+ CellInfoRatSpecificInfo ratSpecificInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl
new file mode 100644
index 0000000..6d92918
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CdmaSignalStrength;
+import android.hardware.radio.network.CellIdentityCdma;
+import android.hardware.radio.network.EvdoSignalStrength;
+
+@VintfStability
+parcelable CellInfoCdma {
+ CellIdentityCdma cellIdentityCdma;
+ CdmaSignalStrength signalStrengthCdma;
+ EvdoSignalStrength signalStrengthEvdo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl
new file mode 100644
index 0000000..fc85248
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityGsm;
+import android.hardware.radio.network.GsmSignalStrength;
+
+@VintfStability
+parcelable CellInfoGsm {
+ CellIdentityGsm cellIdentityGsm;
+ GsmSignalStrength signalStrengthGsm;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl
new file mode 100644
index 0000000..22db722
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityLte;
+import android.hardware.radio.network.LteSignalStrength;
+
+@VintfStability
+parcelable CellInfoLte {
+ CellIdentityLte cellIdentityLte;
+ LteSignalStrength signalStrengthLte;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl
new file mode 100644
index 0000000..fbf026e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityNr;
+import android.hardware.radio.network.NrSignalStrength;
+
+@VintfStability
+parcelable CellInfoNr {
+ CellIdentityNr cellIdentityNr;
+ NrSignalStrength signalStrengthNr;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl
new file mode 100644
index 0000000..7e8a437
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CellInfoCdma;
+import android.hardware.radio.network.CellInfoGsm;
+import android.hardware.radio.network.CellInfoLte;
+import android.hardware.radio.network.CellInfoNr;
+import android.hardware.radio.network.CellInfoTdscdma;
+import android.hardware.radio.network.CellInfoWcdma;
+
+@VintfStability
+union CellInfoRatSpecificInfo {
+ /**
+ * 3gpp CellInfo types.
+ */
+ CellInfoGsm gsm;
+ CellInfoWcdma wcdma;
+ CellInfoTdscdma tdscdma;
+ CellInfoLte lte;
+ CellInfoNr nr;
+ /**
+ * 3gpp2 CellInfo types;
+ */
+ CellInfoCdma cdma;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl
new file mode 100644
index 0000000..e07e721
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityTdscdma;
+import android.hardware.radio.network.TdscdmaSignalStrength;
+
+@VintfStability
+parcelable CellInfoTdscdma {
+ CellIdentityTdscdma cellIdentityTdscdma;
+ TdscdmaSignalStrength signalStrengthTdscdma;
+}
diff --git a/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl
new file mode 100644
index 0000000..38b6903
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.CellIdentityWcdma;
+import android.hardware.radio.network.WcdmaSignalStrength;
+
+@VintfStability
+parcelable CellInfoWcdma {
+ CellIdentityWcdma cellIdentityWcdma;
+ WcdmaSignalStrength signalStrengthWcdma;
+}
diff --git a/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl
new file mode 100644
index 0000000..b5b4add
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable ClosedSubscriberGroupInfo {
+ /**
+ * Indicates whether the cell is restricted to only CSG members. A cell not broadcasting the
+ * CSG Indication but reporting CSG information is considered a Hybrid Cell.
+ * Refer to the "csg-Indication" field in 3GPP TS 36.331 section 6.2.2
+ * SystemInformationBlockType1.
+ * Also refer to "CSG Indicator" in 3GPP TS 25.331 section 10.2.48.8.1 and TS 25.304.
+ */
+ boolean csgIndication;
+ /**
+ * The human-readable name of the closed subscriber group operating this cell.
+ * Refer to "hnb-Name" in TS 36.331 section 6.2.2 SystemInformationBlockType9.
+ * Also refer to "HNB Name" in 3GPP TS25.331 section 10.2.48.8.23 and TS 23.003 section 4.8.
+ */
+ String homeNodebName;
+ /**
+ * The identity of the closed subscriber group that the cell belongs to.
+ * Refer to "CSG-Identity" in TS 36.336 section 6.3.4.
+ * Also refer to "CSG Identity" in 3GPP TS 25.331 section 10.3.2.8 and TS 23.003 section 4.7.
+ */
+ int csgIdentity;
+}
diff --git a/radio/aidl/android/hardware/radio/network/Domain.aidl b/radio/aidl/android/hardware/radio/network/Domain.aidl
new file mode 100644
index 0000000..b62f0ee
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/Domain.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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
+@Backing(type="int")
+enum Domain {
+ /**
+ * Circuit-switched
+ */
+ CS = 1 << 0,
+ /**
+ * Packet-switched
+ */
+ PS = 1 << 1,
+}
diff --git a/radio/aidl/android/hardware/radio/network/EutranBands.aidl b/radio/aidl/android/hardware/radio/network/EutranBands.aidl
new file mode 100644
index 0000000..48ee26e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/EutranBands.aidl
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * EUTRAN bands up to V16.4.0
+ */
+@VintfStability
+@Backing(type="int")
+enum EutranBands {
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_4 = 4,
+ BAND_5 = 5,
+ BAND_6 = 6,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_9 = 9,
+ BAND_10 = 10,
+ BAND_11 = 11,
+ BAND_12 = 12,
+ BAND_13 = 13,
+ BAND_14 = 14,
+ BAND_17 = 17,
+ BAND_18 = 18,
+ BAND_19 = 19,
+ BAND_20 = 20,
+ BAND_21 = 21,
+ BAND_22 = 22,
+ BAND_23 = 23,
+ BAND_24 = 24,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ BAND_27 = 27,
+ BAND_28 = 28,
+ BAND_30 = 30,
+ BAND_31 = 31,
+ BAND_33 = 33,
+ BAND_34 = 34,
+ BAND_35 = 35,
+ BAND_36 = 36,
+ BAND_37 = 37,
+ BAND_38 = 38,
+ BAND_39 = 39,
+ BAND_40 = 40,
+ BAND_41 = 41,
+ BAND_42 = 42,
+ BAND_43 = 43,
+ BAND_44 = 44,
+ BAND_45 = 45,
+ BAND_46 = 46,
+ BAND_47 = 47,
+ BAND_48 = 48,
+ BAND_65 = 65,
+ BAND_66 = 66,
+ BAND_68 = 68,
+ BAND_70 = 70,
+ BAND_49 = 49,
+ BAND_50 = 50,
+ BAND_51 = 51,
+ BAND_52 = 52,
+ BAND_53 = 53,
+ BAND_71 = 71,
+ BAND_72 = 72,
+ BAND_73 = 73,
+ BAND_74 = 74,
+ BAND_85 = 85,
+ BAND_87 = 87,
+ BAND_88 = 88,
+}
diff --git a/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl
new file mode 100644
index 0000000..5e19c56
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.LteVopsInfo;
+import android.hardware.radio.network.NrIndicators;
+
+@VintfStability
+parcelable EutranRegistrationInfo {
+ /**
+ * Network capabilities for voice over PS services. This info is valid only on LTE network and
+ * must be present when device is camped on LTE. VopsInfo must be empty when device is camped
+ * only on 2G/3G.
+ */
+ LteVopsInfo lteVopsInfo;
+ /**
+ * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise must
+ * be empty.
+ */
+ NrIndicators nrIndicators;
+}
diff --git a/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl
new file mode 100644
index 0000000..0ab8b59
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 EvdoSignalStrength {
+ /**
+ * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75,
+ * then this response value will be 75; INT_MAX means invalid/unreported.
+ */
+ int dbm;
+ /**
+ * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB,
+ * then this response value will be 125; INT_MAX means invalid/unreported.
+ */
+ int ecio;
+ /**
+ * Valid values are 0-8. 8 is the highest signal to noise ratio; INT_MAX means
+ * invalid/unreported.
+ */
+ int signalNoiseRatio;
+}
diff --git a/radio/aidl/android/hardware/radio/network/GeranBands.aidl b/radio/aidl/android/hardware/radio/network/GeranBands.aidl
new file mode 100644
index 0000000..573d771
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/GeranBands.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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
+@Backing(type="int")
+enum GeranBands {
+ BAND_T380 = 1,
+ BAND_T410 = 2,
+ BAND_450 = 3,
+ BAND_480 = 4,
+ BAND_710 = 5,
+ BAND_750 = 6,
+ BAND_T810 = 7,
+ BAND_850 = 8,
+ BAND_P900 = 9,
+ BAND_E900 = 10,
+ BAND_R900 = 11,
+ BAND_DCS1800 = 12,
+ BAND_PCS1900 = 13,
+ BAND_ER900 = 14,
+}
diff --git a/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl
new file mode 100644
index 0000000..539e1ce
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 GsmSignalStrength {
+ /**
+ * Valid values are (0-61, 99) as defined in TS 27.007 8.69; INT_MAX means invalid/unreported.
+ */
+ int signalStrength;
+ /**
+ * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
+ */
+ int bitErrorRate;
+ /**
+ * Timing advance in bit periods. 1 bit period = 48/13 us. INT_MAX means invalid/unreported.
+ */
+ int timingAdvance;
+}
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl
new file mode 100644
index 0000000..ffc97f3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl
@@ -0,0 +1,437 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.AccessNetwork;
+import android.hardware.radio.RadioAccessFamily;
+import android.hardware.radio.network.CdmaRoamingType;
+import android.hardware.radio.network.IRadioNetworkIndication;
+import android.hardware.radio.network.IRadioNetworkResponse;
+import android.hardware.radio.network.IndicationFilter;
+import android.hardware.radio.network.NetworkScanRequest;
+import android.hardware.radio.network.NrDualConnectivityState;
+import android.hardware.radio.network.RadioAccessSpecifier;
+import android.hardware.radio.network.RadioBandMode;
+import android.hardware.radio.network.SignalThresholdInfo;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for network APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioNetworkResponse and IRadioNetworkIndication.
+ */
+@VintfStability
+oneway interface IRadioNetwork {
+ /**
+ * Requests bitmap representing the currently allowed network types.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getAllowedNetworkTypesBitmapResponse()
+ */
+ void getAllowedNetworkTypesBitmap(in int serial);
+
+ /**
+ * Get the list of band modes supported by RF.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getAvailableBandModesResponse()
+ */
+ void getAvailableBandModes(in int serial);
+
+ /**
+ * Scans for available networks
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getAvailableNetworksResponse()
+ */
+ void getAvailableNetworks(in int serial);
+
+ /**
+ * Get all the barring info for the current camped cell applicable to the current user.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getBarringInfoResponse()
+ */
+ void getBarringInfo(in int serial);
+
+ /**
+ * Request the actual setting of the roaming preferences in CDMA in the modem
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getCdmaRoamingPreferenceResponse()
+ */
+ void getCdmaRoamingPreference(in int serial);
+
+ /**
+ * Request all of the current cell information known to the radio. The radio must return a list
+ * of all current cells, including the neighboring cells. If for a particular cell information
+ * isn't known then the appropriate unknown value will be returned.
+ * This does not cause or change the rate of unsolicited cellInfoList().
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getCellInfoListResponse()
+ */
+ void getCellInfoList(in int serial);
+
+ /**
+ * Request current data registration state.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getDataRegistrationStateResponse()
+ */
+ void getDataRegistrationState(in int serial);
+
+ /**
+ * Request current IMS registration state
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getImsRegistrationStateResponse()
+ */
+ 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.
+ *
+ * Response function is IRadioNetworkResponse.getNetworkSelectionModeResponse()
+ */
+ void getNetworkSelectionMode(in int serial);
+
+ /**
+ * Request current operator ONS or EONS
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getOperatorResponse()
+ */
+ void getOperator(in int serial);
+
+ /**
+ * Requests current signal strength and associated information. Must succeed if radio is on.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getSignalStrengthResponse()
+ */
+ void getSignalStrength(in int serial);
+
+ /**
+ * Get which bands the modem's background scan is acting on.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getSystemSelectionChannelsResponse()
+ */
+ void getSystemSelectionChannels(in int serial);
+
+ /**
+ * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only
+ * when radio state is not RADIO_STATE_UNAVAILABLE
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getVoiceRadioTechnologyResponse()
+ */
+ void getVoiceRadioTechnology(in int serial);
+
+ /**
+ * Request current voice registration state.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.getVoiceRegistrationStateResponse()
+ */
+ void getVoiceRegistrationState(in int serial);
+
+ /**
+ * Is E-UTRA-NR Dual Connectivity enabled
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.isNrDualConnectivityEnabledResponse()
+ */
+ 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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Requests to set the network type for searching and registering. Instruct the radio to
+ * *only* accept the types of network provided. In case of an emergency call, the modem is
+ * authorized to bypass this restriction.
+ *
+ * @param serial Serial number of request.
+ * @param networkTypeBitmap a 32-bit bearer bitmap of RadioAccessFamily
+ *
+ * Response function is IRadioNetworkResponse.setAllowedNetworkTypesBitmapResponse()
+ */
+ void setAllowedNetworkTypesBitmap(in int serial, in RadioAccessFamily networkTypeBitmap);
+
+ /**
+ * Assign a specified band for RF configuration.
+ *
+ * @param serial Serial number of request.
+ * @param mode RadioBandMode
+ *
+ * Response function is IRadioNetworkResponse.setBandModeResponse()
+ */
+ void setBandMode(in int serial, in RadioBandMode mode);
+
+ /**
+ * Change call barring facility password
+ *
+ * @param serial Serial number of request.
+ * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
+ * @param oldPassword old password
+ * @param newPassword new password
+ *
+ * Response function is IRadioNetworkResponse.setBarringPasswordResponse()
+ */
+ void setBarringPassword(
+ in int serial, in String facility, in String oldPassword, in String newPassword);
+
+ /**
+ * Request to set the roaming preferences in CDMA
+ *
+ * @param serial Serial number of request.
+ * @param type CdmaRoamingType defined in types.hal
+ *
+ * Response function is IRadioNetworkResponse.setCdmaRoamingPreferenceResponse()
+ */
+ void setCdmaRoamingPreference(in int serial, in CdmaRoamingType type);
+
+ /**
+ * Sets the minimum time between when unsolicited cellInfoList() must be invoked.
+ * A value of 0, means invoke cellInfoList() when any of the reported information changes.
+ * Setting the value to INT_MAX(0x7fffffff) means never issue a unsolicited cellInfoList().
+ *
+ * @param serial Serial number of request.
+ * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList()
+ *
+ * Response function is IRadioNetworkResponse.setCellInfoListRateResponse()
+ */
+ void setCellInfoListRate(in int serial, in int rate);
+
+ /**
+ * Sets the indication filter. Prevents the reporting of specified unsolicited indications from
+ * the radio. This is used for power saving in instances when those indications are not needed.
+ * If unset, defaults to IndicationFilter:ALL.
+ *
+ * @param serial Serial number of request.
+ * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the
+ * indications are enabled. See IndicationFilter for the definition of each bit.
+ *
+ * Response function is IRadioNetworkResponse.setIndicationFilterResponse()
+ */
+ void setIndicationFilter(in int serial, in IndicationFilter indicationFilter);
+
+ /**
+ * Sets the link capacity reporting criteria. The resulting reporting criteria are the AND of
+ * all the supplied criteria. Note that reporting criteria must be individually set for each
+ * RAN. If unset, reporting criteria for that RAN are implementation-defined.
+ *
+ * @param serial Serial number of request.
+ * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0
+ * disables hysteresis.
+ * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL
+ * reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value
+ * of 0 disables hysteresis.
+ * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL
+ * reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value
+ * of 0 disables hysteresis.
+ * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A
+ * vector size of 0 disables the use of DL thresholds for reporting.
+ * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A
+ * vector size of 0 disables the use of UL thresholds for reporting.
+ * @param accessNetwork The type of network for which to apply these thresholds.
+ *
+ * Response function is IRadioNetworkResponse.setLinkCapacityReportingCriteriaResponse().
+ */
+ void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs,
+ in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps,
+ in int[] thresholdsUplinkKbps, in AccessNetwork accessNetwork);
+
+ /**
+ * Enables/disables network state change notifications due to changes in LAC and/or CID (for
+ * GSM) or BID/SID/NID/latitude/longitude (for CDMA). Basically +CREG=2 vs. +CREG=1 (TS 27.007).
+ * The Radio implementation must default to "updates enabled" when the screen is on and
+ * "updates disabled" when the screen is off.
+ *
+ * @param serial Serial number of request.
+ * @param enable true=updates enabled (+CREG=2), false=updates disabled (+CREG=1)
+ *
+ * Response function is IRadioNetworkResponse.setLocationUpdatesResponse()
+ */
+ void setLocationUpdates(in int serial, in boolean enable);
+
+ /**
+ * Specify that the network must be selected automatically.
+ * This request must not respond until the new operator is selected and registered.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.setNetworkSelectionModeAutomaticResponse()
+ */
+ void setNetworkSelectionModeAutomatic(in int serial);
+
+ /**
+ * Manually select a specified network. This request must not respond until the new operator is
+ * selected and registered. Per TS 23.122, the RAN is just the initial suggested value.
+ * If registration fails, the RAN is not available afterwards, or the RAN is not within the
+ * network types specified by IRadioNetwork::setAllowedNetworkTypeBitmap, then the modem will
+ * need to select the next best RAN for network registration.
+ *
+ * @param serial Serial number of request.
+ * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170").
+ * @param ran Initial suggested access network type. If value is UNKNOWN, the modem will select
+ * the next best RAN for network registration.
+ *
+ * Response function is IRadioNetworkResponse.setNetworkSelectionModeManualResponse()
+ */
+ void setNetworkSelectionModeManual(
+ in int serial, in String operatorNumeric, in AccessNetwork ran);
+
+ /**
+ * Enable or disable E-UTRA-NR dual connectivity. If disabled then UE will not connect
+ * to secondary carrier.
+ *
+ * @param serial Serial number of request.
+ * @param nrDualConnectivityState expected NR dual connectivity state.
+ * 1: Enable NR dual connectivity {NrDualConnectivityState:ENABLE}
+ * 2: Disable NR dual connectivity {NrDualConnectivityState:DISABLE}
+ * 3: Disable NR dual connectivity and force secondary cell to be released
+ * {NrDualConnectivityState:DISABLE_IMMEDIATE}
+ *
+ * Response function is IRadioNetworkResponse.setNrDualConnectivityStateResponse()
+ */
+ void setNrDualConnectivityState(
+ in int serial, in NrDualConnectivityState nrDualConnectivityState);
+
+ /**
+ * Set response functions for network radio requests and indications.
+ *
+ * @param radioNetworkResponse Object containing response functions
+ * @param radioNetworkIndication Object containing radio indications
+ */
+ void setResponseFunctions(in IRadioNetworkResponse radioNetworkResponse,
+ in IRadioNetworkIndication radioNetworkIndication);
+
+ /**
+ * 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 signalThresholdInfos Collection of SignalThresholdInfo specifying the reporting
+ * criteria. See SignalThresholdInfo for details.
+ *
+ * Response function is IRadioNetworkResponse.setSignalStrengthReportingCriteriaResponse()
+ */
+ void setSignalStrengthReportingCriteria(
+ in int serial, in SignalThresholdInfo[] signalThresholdInfos);
+
+ /**
+ * Enables/disables supplementary service related notifications from the network.
+ * Notifications are reported via unsolSuppSvcNotification().
+ *
+ * @param serial Serial number of request.
+ * @param enable true = notifications enabled, false = notifications disabled.
+ *
+ * Response function is IRadioNetworkResponse.setSuppServiceNotificationsResponse()
+ */
+ void setSuppServiceNotifications(in int serial, in boolean enable);
+
+ /**
+ * Specify which bands modem's background scan must act on. If specifyChannels is true, it only
+ * scans bands specified in specifiers. If specifyChannels is false, it scans all bands. For
+ * example, CBRS is only on LTE band 48. By specifying this band, modem saves more power.
+ *
+ * @param serial Serial number of request.
+ * @param specifyChannels whether to scan bands defined in specifiers.
+ * @param specifiers which bands to scan. Only used if specifyChannels is true.
+ *
+ * Response function is IRadioNetworkResponse.setSystemSelectionChannelsResponse()
+ */
+ void setSystemSelectionChannels(
+ in int serial, in boolean specifyChannels, in RadioAccessSpecifier[] specifiers);
+
+ /**
+ * Starts a network scan.
+ *
+ * @param serial Serial number of request.
+ * @param request Defines the radio networks/bands/channels which need to be scanned.
+ *
+ * Response function is IRadioNetworkResponse.startNetworkScanResponse()
+ */
+ void startNetworkScan(in int serial, in NetworkScanRequest request);
+
+ /**
+ * Stops ongoing network scan
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioNetworkResponse.stopNetworkScanResponse()
+ */
+ void stopNetworkScan(in int serial);
+
+ /**
+ * Requests that network personalization be deactivated
+ *
+ * @param serial Serial number of request.
+ * @param netPin Network depersonlization code
+ *
+ * Response function is IRadioNetworkResponse.supplyNetworkDepersonalizationResponse()
+ */
+ void supplyNetworkDepersonalization(in int serial, in String netPin);
+}
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl
new file mode 100644
index 0000000..a2fac20
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.network.BarringInfo;
+import android.hardware.radio.network.CellIdentity;
+import android.hardware.radio.network.CellInfo;
+import android.hardware.radio.network.Domain;
+import android.hardware.radio.network.LinkCapacityEstimate;
+import android.hardware.radio.network.NetworkScanResult;
+import android.hardware.radio.network.PhoneRestrictedState;
+import android.hardware.radio.network.PhysicalChannelConfig;
+import android.hardware.radio.network.SignalStrength;
+import android.hardware.radio.network.SuppSvcNotification;
+
+/**
+ * Interface declaring unsolicited radio indications for network APIs.
+ */
+@VintfStability
+oneway interface IRadioNetworkIndication {
+ /**
+ * Indicate barring information for the user’s access category / access class and PLMN.
+ *
+ * <p>Provide information about the barring status of the cell for the user. The information
+ * provided should describe all barring configurations that are applicable to the current user,
+ * even if the user is not currently barred (due to conditional barring). This informs Android
+ * of likely future (statistical) barring for specific services.
+ *
+ * <p>This indication should be sent whenever the cell’s barring config changes for the current
+ * user, or if the user’s conditional barring status changes due to re-evaluation of the
+ * barring conditions. Barring status will likely change when the device camps for service,
+ * when PLMN selection is completed, when the device attempts to access a conditionally barred
+ * service, and when the System Information including barring info for a camped cell is updated.
+ *
+ * @param type Type of radio indication
+ * @param cellIdentity cellIdentity for the barring infos
+ * @param barringInfos a vector of BarringInfos for all barring service types
+ */
+ void barringInfoChanged(in RadioIndicationType type, in CellIdentity cellIdentity,
+ in BarringInfo[] barringInfos);
+
+ /**
+ * Indicates when PRL (preferred roaming list) changes.
+ *
+ * @param type Type of radio indication
+ * @param version PRL version after PRL changes
+ */
+ void cdmaPrlChanged(in RadioIndicationType type, in int version);
+
+ /**
+ * Report all of the current cell information known to the radio.
+ *
+ * @param type Type of radio indication
+ * @param records Current cell information
+ */
+ void cellInfoList(in RadioIndicationType type, in CellInfo[] records);
+
+ /**
+ * Indicates current link capacity estimate. This indication is sent whenever the reporting
+ * criteria, as set by IRadioNetwork.setLinkCapacityReportingCriteria(), are met and the
+ * indication is not suppressed by IRadioNetwork.setIndicationFilter().
+ *
+ * @param type Type of radio indication
+ * @param lce LinkCapacityEstimate
+ */
+ void currentLinkCapacityEstimate(in RadioIndicationType type, in LinkCapacityEstimate lce);
+
+ /**
+ * Indicates physical channel configurations. An empty configs list shall be returned when the
+ * radio is in idle mode (i.e. RRC idle).
+ *
+ * @param type Type of radio indication
+ * @param configs Vector of PhysicalChannelConfigs
+ */
+ void currentPhysicalChannelConfigs(
+ in RadioIndicationType type, in PhysicalChannelConfig[] configs);
+
+ /**
+ * Indicates current signal strength of the radio.
+ *
+ * @param type Type of radio indication
+ * @param signalStrength SignalStrength information
+ */
+ void currentSignalStrength(in RadioIndicationType type, in SignalStrength signalStrength);
+
+ /**
+ * Indicates when IMS registration state has changed. To get IMS registration state and IMS SMS
+ * format, callee needs to invoke getImsRegistrationState().
+ *
+ * @param type Type of radio indication
+ */
+ void imsNetworkStateChanged(in RadioIndicationType type);
+
+ /**
+ * Incremental network scan results.
+ *
+ * @param type Type of radio indication
+ * @param result the result of the network scan
+ */
+ void networkScanResult(in RadioIndicationType type, in NetworkScanResult result);
+
+ /**
+ * Indicates when voice or data network state changed. Callee must invoke
+ * IRadioNetwork.getVoiceRegistrationState(), IRadioNetwork.getDataRegistrationState(), and
+ * IRadioNetwork.getOperator()
+ *
+ * @param type Type of radio indication
+ */
+ void networkStateChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates when radio has received a NITZ time message.
+ *
+ * @param type Type of radio indication
+ * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt"
+ * @param receivedTime milliseconds since boot that the NITZ time was received
+ */
+ void nitzTimeReceived(in RadioIndicationType type, in String nitzTime, in long receivedTime);
+
+ /**
+ * Report that Registration or a Location/Routing/Tracking Area update has failed.
+ *
+ * <p>Indicate whenever a registration procedure, including a location, routing, or tracking
+ * area update fails. This includes procedures that do not necessarily result in a change of
+ * the modem's registration status. If the modem's registration status changes, that is
+ * reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState().
+ *
+ * @param cellIdentity the CellIdentity, which must include the globally unique identifier for
+ * the cell (for example, all components of the CGI or ECGI).
+ * @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the
+ * cell that was chosen for the failed registration attempt.
+ * @param domain Domain::CS, Domain::PS, or both in case of a combined procedure.
+ * @param causeCode the primary failure cause code of the procedure.
+ * For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95
+ * For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147
+ * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9
+ * For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2
+ * MAX_INT if this value is unused.
+ * @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate.
+ * For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be
+ * included as an additionalCauseCode.
+ * For LTE (ESM), cause codes are in TS 24.301 9.9.4.4
+ * MAX_INT if this value is unused.
+ */
+ void registrationFailed(in RadioIndicationType type, in CellIdentity cellIdentity,
+ in String chosenPlmn, in Domain domain, in int causeCode, in int additionalCauseCode);
+
+ /**
+ * Indicates a restricted state change (eg, for Domain Specific Access Control).
+ * Radio must send this msg after radio off/on cycle no matter it is changed or not.
+ *
+ * @param type Type of radio indication
+ * @param state Bitmask of restricted state as defined by PhoneRestrictedState
+ */
+ void restrictedStateChanged(in RadioIndicationType type, in PhoneRestrictedState state);
+
+ /**
+ * Reports supplementary service related notification from the network.
+ *
+ * @param type Type of radio indication
+ * @param suppSvc SuppSvcNotification
+ */
+ void suppSvcNotify(in RadioIndicationType type, in SuppSvcNotification suppSvc);
+
+ /**
+ * Indicates that voice technology has changed. Responds with new rat.
+ *
+ * @param type Type of radio indication
+ * @param rat Current new voice rat
+ */
+ void voiceRadioTechChanged(in RadioIndicationType type, in RadioTechnology rat);
+}
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
new file mode 100644
index 0000000..ae2646d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
@@ -0,0 +1,588 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.RadioAccessFamily;
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.RadioTechnologyFamily;
+import android.hardware.radio.network.BarringInfo;
+import android.hardware.radio.network.CdmaRoamingType;
+import android.hardware.radio.network.CellIdentity;
+import android.hardware.radio.network.CellInfo;
+import android.hardware.radio.network.LceDataInfo;
+import android.hardware.radio.network.NeighboringCell;
+import android.hardware.radio.network.OperatorInfo;
+import android.hardware.radio.network.RadioAccessSpecifier;
+import android.hardware.radio.network.RadioBandMode;
+import android.hardware.radio.network.RegStateResult;
+import android.hardware.radio.network.SignalStrength;
+
+/**
+ * Interface declaring response functions to solicited radio requests for network APIs.
+ */
+@VintfStability
+oneway interface IRadioNetworkResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:MODE_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ */
+ void getAllowedNetworkTypesBitmapResponse(
+ in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param bandModes List of RadioBandMode listing supported modes
+ *
+ * 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:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getAvailableBandModesResponse(in RadioResponseInfo info, in RadioBandMode[] bandModes);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param networkInfos List of network operator information as OperatorInfos
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:ABORTED
+ * RadioError:DEVICE_IN_USE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ */
+ void getAvailableNetworksResponse(in RadioResponseInfo info, in OperatorInfo[] networkInfos);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cellIdentity CellIdentity for the barring infos.
+ * @param barringInfos a vector of barring info for all barring service types
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void getBarringInfoResponse(
+ in RadioResponseInfo info, in CellIdentity cellIdentity, in BarringInfo[] barringInfos);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param type CdmaRoamingType
+ *
+ * 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:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaRoamingPreferenceResponse(in RadioResponseInfo info, in CdmaRoamingType type);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cellInfo List of current cell information known to radio
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getCellInfoListResponse(in RadioResponseInfo info, in CellInfo[] cellInfo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param dataRegResponse Current data registration response as defined by RegStateResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NOT_PROVISIONED
+ */
+ void getDataRegistrationStateResponse(
+ in RadioResponseInfo info, in RegStateResult dataRegResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param isRegistered false = not registered, true = registered
+ * @param ratFamily RadioTechnologyFamily. This value is valid only if isRegistered is true.
+ *
+ * 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:REQUEST_NOT_SUPPORTED
+ */
+ void getImsRegistrationStateResponse(
+ in RadioResponseInfo info, in boolean isRegistered, in RadioTechnologyFamily ratFamily);
+
+ /**
+ * @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:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getNetworkSelectionModeResponse(in RadioResponseInfo info, in boolean manual);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param longName is long alpha ONS or EONS or empty string if unregistered
+ * @param shortName is short alpha ONS or EONS or empty string if unregistered
+ * @param numeric is 5 or 6 digit numeric code (MCC + MNC) or empty string if unregistered
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getOperatorResponse(
+ in RadioResponseInfo info, in String longName, in String shortName, in String numeric);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param signalStrength Current signal strength
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getSignalStrengthResponse(in RadioResponseInfo info, in SignalStrength signalStrength);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param specifiers List of RadioAccessSpecifiers that are scanned.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void getSystemSelectionChannelsResponse(
+ in RadioResponseInfo info, in RadioAccessSpecifier[] specifiers);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param rat Current voice RAT
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getVoiceRadioTechnologyResponse(in RadioResponseInfo info, in RadioTechnology rat);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param voiceRegResponse Current Voice registration response as defined by RegStateResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getVoiceRegistrationStateResponse(
+ in RadioResponseInfo info, in RegStateResult voiceRegResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled
+ * else false.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void isNrDualConnectivityEnabledResponse(in RadioResponseInfo info, in boolean isEnabled);
+
+ /**
+ * @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
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:MODE_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ */
+ void setAllowedNetworkTypesBitmapResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setBandModeResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setBarringPasswordResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setCdmaRoamingPreferenceResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setCellInfoListRateResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ */
+ void setIndicationFilterResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void setLinkCapacityReportingCriteriaResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setLocationUpdatesResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:ILLEGAL_SIM_OR_ME
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ *
+ * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
+ * no retries needed, such as illegal SIM or ME.
+ */
+ void setNetworkSelectionModeAutomaticResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:ILLEGAL_SIM_OR_ME
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ *
+ * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
+ * no retries needed, such as illegal SIM or ME.
+ */
+ void setNetworkSelectionModeManualResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_STATE
+ */
+ void setNrDualConnectivityStateResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ */
+ void setSignalStrengthReportingCriteriaResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SIM_BUSY
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setSuppServiceNotificationsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void setSystemSelectionChannelsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:DEVICE_IN_USE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void startNetworkScanResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void stopNetworkScanResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:PASSWORD_INCORRECT (code is invalid)
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void supplyNetworkDepersonalizationResponse(in RadioResponseInfo info, in int remainingRetries);
+}
diff --git a/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl
new file mode 100644
index 0000000..ac48227
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+@Backing(type="int")
+enum IndicationFilter {
+ NONE = 0,
+ ALL = ~0,
+ /**
+ * When this bit is set, modem must send the signal strength update through
+ * IRadioNetworkIndication.currentSignalStrength() when all criteria specified by
+ * IRadioNetwork.setSignalStrengthReportingCriteria() are met.
+ */
+ SIGNAL_STRENGTH = 1 << 0,
+ /**
+ * When this bit is set, modem must invoke IRadioNetworkIndication.networkStateChanged() when
+ * any field in the voice or data RegStateResult changes. When this bit is not set, modem must
+ * suppress IRadioNetworkIndication.networkStateChanged() when there are only changes from
+ * insignificant fields. Modem must invoke IRadioNetworkIndication.networkStateChanged() when
+ * significant fields are updated regardless of whether this bit is set.
+ *
+ * The following fields in RegStateResult are considered significant: regState, rat.
+ */
+ FULL_NETWORK_STATE = 1 << 1,
+ /**
+ * When this bit is set, modem must send IRadioNetworkIndication.dataCallListChanged() whenever
+ * any field in SetupDataCallResult changes. When this bit is not set, modem must suppress the
+ * indication when the only changed field is 'active' (for data dormancy). For all other field
+ * changes, the modem must send IRadioNetworkIndication.dataCallListChanged() regardless of
+ * whether this bit is set.
+ */
+ DATA_CALL_DORMANCY_CHANGED = 1 << 2,
+ /**
+ * When this bit is set, modem must send the link capacity update through
+ * IRadioNetworkIndication.currentLinkCapacityEstimate() when all criteria specified by
+ * IRadioNetwork.setLinkCapacityReportingCriteria() are met.
+ */
+ LINK_CAPACITY_ESTIMATE = 1 << 3,
+ /**
+ * When this bit is set, the modem must send the physical channel configuration update through
+ * IRadioNetworkIndication.currentPhysicalChannelConfigs() when the configuration has changed.
+ * It is recommended that this be reported whenever link capacity or signal strength is
+ * reported.
+ */
+ PHYSICAL_CHANNEL_CONFIG = 1 << 4,
+ /**
+ * Control the unsolicited sending of registration failure reports via onRegistrationFailed
+ */
+ REGISTRATION_FAILURE = 1 << 5,
+ /**
+ * Control the unsolicited sending of barring info updates via onBarringInfo
+ */
+ BARRING_INFO = 1 << 6,
+}
diff --git a/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl
new file mode 100644
index 0000000..344227e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 LceDataInfo {
+ /**
+ * Last-hop cellular capacity: kilobits/second.
+ */
+ int lastHopCapacityKbps;
+ /**
+ * Capacity estimate confidence: 0-100.
+ */
+ byte confidenceLevel;
+ /**
+ * Whether the LCE report is going to be suspended (e.g., radio moves to inactive state or
+ * network type changes).
+ */
+ boolean lceSuspended;
+}
diff --git a/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl
new file mode 100644
index 0000000..8d31bbc
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable LinkCapacityEstimate {
+ /**
+ * Estimated downlink capacity in kbps. In case of a dual connected network, this includes
+ * capacity of both primary and secondary. This bandwidth estimate shall be the estimated
+ * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP).
+ * If the DL Aggregate Maximum Bit Rate is known, this value shall not exceed the DL-AMBR for
+ * the Internet PDN connection. This must be filled with 0 if network is not connected.
+ */
+ int downlinkCapacityKbps;
+ /**
+ * Estimated uplink capacity in kbps. In case of a dual connected network, this includes
+ * capacity of both primary and secondary. This bandwidth estimate shall be the estimated
+ * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP).
+ * If the UL Aggregate Maximum Bit Rate is known, this value shall not exceed the UL-AMBR for
+ * the Internet PDN connection. This must be filled with 0 if network is not connected.
+ */
+ int uplinkCapacityKbps;
+ /**
+ * Estimated downlink capacity of secondary carrier in a dual connected NR mode in kbps. This
+ * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be
+ * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to
+ * both primary and secodary in dual connected mode. This must be filled with 0 if secondary is
+ * not connected or if modem does not support this feature.
+ */
+ int secondaryDownlinkCapacityKbps;
+ /**
+ * Estimated uplink capacity secondary carrier in a dual connected NR mode in kbps. This
+ * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be
+ * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to
+ * both primary and secodary in dual connected mode.This must be filled with 0 if secondary is
+ * not connected or if modem does not support this feature.
+ */
+ int secondaryUplinkCapacityKbps;
+}
diff --git a/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl
new file mode 100644
index 0000000..a727aa5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable LteSignalStrength {
+ /**
+ * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
+ */
+ int signalStrength;
+ /**
+ * The current Reference Signal Receive Power in dBm multiplied by -1. Range: 44 to 140 dBm;
+ * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.4
+ */
+ int rsrp;
+ /**
+ * The current Reference Signal Receive Quality in dB multiplied by -1. Range: 20 to 3 dB;
+ * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.7
+ */
+ int rsrq;
+ /**
+ * The current reference signal signal-to-noise ratio in 0.1 dB units.
+ * Range: -200 to +300 (-200 = -20.0 dB, +300 = 30dB).
+ * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 8.1.1
+ */
+ int rssnr;
+ /**
+ * The current Channel Quality Indicator. Range: 0 to 15.
+ * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 9.2, 9.3, A.4
+ */
+ int cqi;
+ /**
+ * Timing advance in micro seconds for a one way trip from cell to device. Approximate distance
+ * is calculated using 300m/us * timingAdvance. Range: 0 to 1282 inclusive.
+ * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP 36.213 section 4.2.3
+ */
+ int timingAdvance;
+ /**
+ * CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
+ * The definition of CQI in each table is different.
+ * Reference: 3GPP TS 136.213 section 7.2.3.
+ * Range [1, 6], INT_MAX means invalid/unreported.
+ */
+ int cqiTableIndex;
+}
diff --git a/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl
new file mode 100644
index 0000000..1cda8db
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * Type to define the LTE specific network capabilities for voice over PS including emergency and
+ * normal voice calls.
+ */
+@VintfStability
+parcelable LteVopsInfo {
+ /**
+ * This indicates if camped network support VoLTE services. This information is received from
+ * LTE network during LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT.
+ * Refer 3GPP 24.301 EPS network feature support -> IMS VoPS
+ */
+ boolean isVopsSupported;
+ /**
+ * This indicates if camped network support VoLTE emergency bearers. This information is
+ * received from LTE network through two sources:
+ * a. During LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. Refer
+ * 3GPP 24.301 EPS network feature support -> EMC BS
+ * b. In case device is not registered on network. Refer 3GPP 25.331 LTE RRC
+ * SIB1 : ims-EmergencySupport-r9
+ * If device is registered on LTE, then this field indicates (a).
+ * In case of limited service on LTE this field indicates (b).
+ */
+ boolean isEmcBearerSupported;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl b/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl
new file mode 100644
index 0000000..270bdee
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 NeighboringCell {
+ /**
+ * Combination of LAC and cell ID in 32 bits in GSM. Upper 16 bits is LAC and lower 16 bits is
+ * CID (as described in TS 27.005).
+ */
+ String cid;
+ /**
+ * Received RSSI in GSM, level index of CPICH Received Signal Code Power in UMTS
+ */
+ int rssi;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
new file mode 100644
index 0000000..ec8aa95
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.network.RadioAccessSpecifier;
+
+@VintfStability
+parcelable NetworkScanRequest {
+ const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN = 1;
+ const int INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX = 10;
+
+ const int MAX_SEARCH_TIME_RANGE_MIN = 60;
+ const int MAX_SEARCH_TIME_RANGE_MAX = 3600;
+
+ const int SCAN_INTERVAL_RANGE_MIN = 5;
+ const int SCAN_INTERVAL_RANGE_MAX = 300;
+
+ /**
+ * Performs the scan only once
+ */
+ const int SCAN_TYPE_ONE_SHOT = 0;
+ /**
+ * Performs the scan periodically until cancelled
+ */
+ const int SCAN_TYPE_PERIODIC = 1;
+
+ /**
+ * Values are SCAN_TYPE_
+ */
+ int type;
+ /**
+ * Time interval in seconds between the completion of one scan and the start of a subsequent
+ * scan. Implementations may ignore this field unless the 'type' is 'PERIODIC'.
+ * Range: SCAN_INTERVAL_RANGE_MIN to SCAN_INTERVAL_RANGE_MAX.
+ */
+ int interval;
+ /**
+ * Networks with bands/channels to scan.
+ * Maximum length of the vector is RadioConst:RADIO_ACCESS_SPECIFIER_MAX_SIZE.
+ */
+ RadioAccessSpecifier[] specifiers;
+ /**
+ * Maximum duration of the periodic search (in seconds). If the search lasts maxSearchTime, it
+ * must be terminated. Range: MAX_SEARCH_TIME_RANGE_MIN to MAX_SEARCH_TIME_RANGE_MAX
+ */
+ int maxSearchTime;
+ /**
+ * Whether the modem must report incremental results of the network scan to the client.
+ * FALSE – Incremental results must not be reported.
+ * TRUE – Incremental must be reported.
+ */
+ boolean incrementalResults;
+ /**
+ * Indicates the periodicity with which the modem must report incremental results to the client
+ * (in seconds). Implementations may ignore this value if the incremental results are not
+ * requested. This value must be less than or equal to maxSearchTime.
+ * Range: INCREMENTAL_RESULTS_PREIODICITY_RANGE_MIN to INCREMENTAL_RESULTS_PREIODICITY_RANGE_MAX
+ */
+ int incrementalResultsPeriodicity;
+ /**
+ * Describes the List of PLMN ids (MCC-MNC). If any PLMN of this list is found, search must end
+ * at that point and results with all PLMN found until that point should be sent as response.
+ * If the list is not sent, search to be completed until end and all PLMNs found to be reported.
+ */
+ String[] mccMncs;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl
new file mode 100644
index 0000000..e08d63e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.RadioError;
+import android.hardware.radio.network.CellInfo;
+
+@VintfStability
+parcelable NetworkScanResult {
+ /**
+ * The result contains a part of the scan results.
+ */
+ const int SCAN_STATUS_PARTIAL = 1;
+ /**
+ * The result contains the last part of the scan results.
+ */
+ const int SCAN_STATUS_COMPLETE = 2;
+
+ /**
+ * The status of the scan.
+ * Values are SCAN_STATUS_
+ */
+ int status;
+ /**
+ * The error code of the incremental result.
+ */
+ RadioError error;
+ /**
+ * List of network information as CellInfo.
+ */
+ CellInfo[] networkInfos;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NgranBands.aidl b/radio/aidl/android/hardware/radio/network/NgranBands.aidl
new file mode 100644
index 0000000..a1c2957
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NgranBands.aidl
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * NGRAN bands up to V16.5.0
+ */
+@VintfStability
+@Backing(type="int")
+enum NgranBands {
+ /**
+ * 3GPP TS 38.101-1, Table 5.2-1: FR1 bands
+ */
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_5 = 5,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_12 = 12,
+ BAND_14 = 14,
+ BAND_18 = 18,
+ BAND_20 = 20,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ BAND_28 = 28,
+ BAND_29 = 29,
+ BAND_30 = 30,
+ BAND_34 = 34,
+ BAND_38 = 38,
+ BAND_39 = 39,
+ BAND_40 = 40,
+ BAND_41 = 41,
+ BAND_46 = 46,
+ BAND_48 = 48,
+ BAND_50 = 50,
+ BAND_51 = 51,
+ BAND_53 = 53,
+ BAND_65 = 65,
+ BAND_66 = 66,
+ BAND_70 = 70,
+ BAND_71 = 71,
+ BAND_74 = 74,
+ BAND_75 = 75,
+ BAND_76 = 76,
+ BAND_77 = 77,
+ BAND_78 = 78,
+ BAND_79 = 79,
+ BAND_80 = 80,
+ BAND_81 = 81,
+ BAND_82 = 82,
+ BAND_83 = 83,
+ BAND_84 = 84,
+ BAND_86 = 86,
+ BAND_89 = 89,
+ BAND_90 = 90,
+ BAND_91 = 91,
+ BAND_92 = 92,
+ BAND_93 = 93,
+ BAND_94 = 94,
+ BAND_95 = 95,
+ BAND_96 = 96,
+ /**
+ * 3GPP TS 38.101-2, Table 5.2-1: FR2 bands
+ */
+ BAND_257 = 257,
+ BAND_258 = 258,
+ BAND_260 = 260,
+ BAND_261 = 261,
+}
diff --git a/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl
new file mode 100644
index 0000000..e40d4f9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * NR Dual connectivity state
+ */
+@VintfStability
+@Backing(type="byte")
+enum NrDualConnectivityState {
+ /**
+ * Enable NR dual connectivity. Enabled state does not mean dual connectivity is active.
+ * It means device is allowed to connect to both primary and secondary.
+ */
+ ENABLE = 1,
+ /**
+ * Disable NR dual connectivity. Disabled state does not mean secondary cell is released.
+ * Modem will release it only if current bearer is released to avoid radio link failure.
+ */
+ DISABLE = 2,
+ /**
+ * Disable NR dual connectivity and force secondary cell to be released if dual connectivity
+ * was active. This may result in radio link failure.
+ */
+ DISABLE_IMMEDIATE = 3,
+}
diff --git a/radio/aidl/android/hardware/radio/network/NrIndicators.aidl b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl
new file mode 100644
index 0000000..98fac25
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * The parameters of NR 5G Non-Standalone.
+ */
+@VintfStability
+parcelable NrIndicators {
+ /**
+ * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving
+ * cell. True the primary serving cell is LTE cell and the plmn-InfoList-r15 is present in SIB2
+ * and at least one bit in this list is true, otherwise this value should be false.
+ * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks.
+ */
+ boolean isEndcAvailable;
+ /**
+ * True if use of dual connectivity with NR is restricted.
+ * Reference: 3GPP TS 24.301 v15.03 section 9.3.3.12A.
+ */
+ boolean isDcNrRestricted;
+ /**
+ * True if the bit N is in the PLMN-InfoList-r15 is true and the selected PLMN is present in
+ * plmn-IdentityList at position N.
+ * Reference: 3GPP TS 36.331 v15.2.2 section 6.3.1 PLMN-InfoList-r15.
+ * 3GPP TS 36.331 v15.2.2 section 6.2.2 SystemInformationBlockType1 message.
+ */
+ boolean isNrAvailable;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl
new file mode 100644
index 0000000..d2ac02b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable NrSignalStrength {
+ /**
+ * SS reference signal received power, multiplied by -1.
+ * Reference: 3GPP TS 38.215.
+ * Range [44, 140], INT_MAX means invalid/unreported.
+ */
+ int ssRsrp;
+ /**
+ * SS reference signal received quality, multiplied by -1.
+ * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10.
+ * Range [-20 dB, 43 dB], INT_MAX means invalid/unreported.
+ */
+ int ssRsrq;
+ /**
+ * SS signal-to-noise and interference ratio.
+ * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
+ * Range [-23, 40], INT_MAX means invalid/unreported.
+ */
+ int ssSinr;
+ /**
+ * CSI reference signal received power, multiplied by -1.
+ * Reference: 3GPP TS 38.215.
+ * Range [44, 140], INT_MAX means invalid/unreported.
+ */
+ int csiRsrp;
+ /**
+ * CSI reference signal received quality, multiplied by -1.
+ * Reference: 3GPP TS 38.215.
+ * Range [3, 20], INT_MAX means invalid/unreported.
+ */
+ int csiRsrq;
+ /**
+ * CSI signal-to-noise and interference ratio.
+ * Reference: 3GPP TS 138.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
+ * Range [-23, 40], INT_MAX means invalid/unreported.
+ */
+ int csiSinr;
+ /**
+ * CSI channel quality indicator (CQI) table index. There are multiple CQI tables.
+ * The definition of CQI in each table is different.
+ * Reference: 3GPP TS 138.214 section 5.2.2.1.
+ * Range [1, 3], INT_MAX means invalid/unreported.
+ */
+ int csiCqiTableIndex;
+ /**
+ * CSI channel quality indicator (CQI) for all subbands. If the CQI report is for the entire
+ * wideband, a single CQI index is provided. If the CQI report is for all subbands, one CQI
+ * index is provided for each subband, in ascending order of subband index. If CQI is not
+ * available, the CQI report is empty.
+ * Reference: 3GPP TS 138.214 section 5.2.2.1.
+ * Range [0, 15], 0xFF means invalid/unreported.
+ */
+ byte[] csiCqiReport;
+}
diff --git a/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl
new file mode 100644
index 0000000..bae5f40
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Type to define the NR specific network capabilities for voice over PS including emergency and
+ * normal voice calls.
+ */
+@VintfStability
+parcelable NrVopsInfo {
+ /**
+ * Emergency services not supported
+ */
+ const byte EMC_INDICATOR_NOT_SUPPORTED = 0;
+ /**
+ * Emergency services supported in NR connected to 5GCN only
+ */
+ const byte EMC_INDICATOR_NR_CONNECTED_TO_5GCN = 1;
+ /**
+ * Emergency services supported in E-UTRA connected to 5GCN only
+ */
+ const byte EMC_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2;
+ /**
+ * Emergency services supported in NR connected to 5GCN and E-UTRA connected to 5GCN
+ */
+ const byte EMC_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3;
+
+ /**
+ * Emergency services fallback not supported
+ */
+ const byte EMF_INDICATOR_NOT_SUPPORTED = 0;
+ /**
+ * Emergency services fallback supported in NR connected to 5GCN only
+ */
+ const byte EMF_INDICATOR_NR_CONNECTED_TO_5GCN = 1;
+ /**
+ * Emergency services fallback supported in E-UTRA connected to 5GCN only
+ */
+ const byte EMF_INDICATOR_EUTRA_CONNECTED_TO_5GCN = 2;
+ /**
+ * Emergency services fallback supported in NR connected to 5GCN and E-UTRA connected to 5GCN.
+ */
+ const byte EMF_INDICATOR_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3;
+
+ /**
+ * IMS voice over PS session not supported
+ */
+ const byte VOPS_INDICATOR_VOPS_NOT_SUPPORTED = 0;
+ /**
+ * IMS voice over PS session supported over 3GPP access
+ */
+ const byte VOPS_INDICATOR_VOPS_OVER_3GPP = 1;
+ /**
+ * IMS voice over PS session supported over non-3GPP access
+ */
+ const byte VOPS_INDICATOR_VOPS_OVER_NON_3GPP = 2;
+
+ /**
+ * This indicates if the camped network supports VoNR services, and what kind of services
+ * it supports. This information is received from NR network during NR NAS registration
+ * procedure through NR REGISTRATION ACCEPT.
+ * Refer 3GPP 24.501 EPS 5GS network feature support -> IMS VoPS
+ * Values are VOPS_INDICATOR_
+ */
+ byte vopsSupported;
+ /**
+ * This indicates if the camped network supports VoNR emergency service. This information
+ * is received from NR network through two sources:
+ * a. During NR NAS registration procedure through NR REGISTRATION ACCEPT.
+ * Refer 3GPP 24.501 EPS 5GS network feature support -> EMC
+ * b. In case the device is not registered on the network.
+ * Refer 3GPP 38.331 SIB1 : ims-EmergencySupport
+ * If device is registered on NR, then this field indicates whether the cell
+ * supports IMS emergency bearer services for UEs in limited service mode.
+ * Values are EMC_INDICATOR_
+ */
+ byte emcSupported;
+ /**
+ * This indicates if the camped network supports VoNR emergency service fallback. This
+ * information is received from NR network during NR NAS registration procedure through
+ * NR REGISTRATION ACCEPT.
+ * Refer 3GPP 24.501 EPS 5GS network feature support -> EMF
+ * Values are EMF_INDICATOR_ from TS 24.501 sec 9.10.3.5.
+ */
+ byte emfSupported;
+}
diff --git a/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl
new file mode 100644
index 0000000..9fa126d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable OperatorInfo {
+ const int STATUS_UNKNOWN = 0;
+ const int STATUS_AVAILABLE = 1;
+ const int STATUS_CURRENT = 2;
+ const int STATUS_FORBIDDEN = 3;
+
+ /**
+ * Long alpha ONS or EONS
+ */
+ String alphaLong;
+ /**
+ * Short alpha ONS or EONS
+ */
+ String alphaShort;
+ /**
+ * 5 or 6 digit numeric code (MCC + MNC)
+ */
+ String operatorNumeric;
+ /**
+ * Values are STATUS_
+ */
+ int status;
+}
diff --git a/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl
new file mode 100644
index 0000000..bf3f75a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+@Backing(type="int")
+enum PhoneRestrictedState {
+ /**
+ * No restriction at all including voice/SMS/USSD/SS/AV64 and packet data.
+ */
+ NONE = 0x00,
+ /**
+ * Block emergency call due to restriction. But allow all normal voice/SMS/USSD/SS/AV64.
+ */
+ CS_EMERGENCY = 0x01,
+ /**
+ * Block all normal voice/SMS/USSD/SS/AV64 due to restriction. Only Emergency call allowed.
+ */
+ CS_NORMAL = 0x02,
+ /**
+ * Block all voice/SMS/USSD/SS/AV64 including emergency call due to restriction.
+ */
+ CS_ALL = 0x04,
+ /**
+ * Block packet data access due to restriction.
+ */
+ PS_ALL = 0x10,
+}
diff --git a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl
new file mode 100644
index 0000000..b6072ba
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.network.CellConnectionStatus;
+import android.hardware.radio.network.PhysicalChannelConfigBand;
+
+@VintfStability
+parcelable PhysicalChannelConfig {
+ /**
+ * Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING
+ */
+ CellConnectionStatus status;
+ /**
+ * The radio technology for this physical channel
+ */
+ RadioTechnology rat;
+ /**
+ * Downlink Absolute Radio Frequency Channel Number
+ */
+ int downlinkChannelNumber;
+ /**
+ * Uplink Absolute Radio Frequency Channel Number
+ */
+ int uplinkChannelNumber;
+ /**
+ * Downlink cell bandwidth, in kHz
+ */
+ int cellBandwidthDownlinkKhz;
+ /**
+ * Uplink cell bandwidth, in kHz
+ */
+ int cellBandwidthUplinkKhz;
+ /**
+ * A list of data calls mapped to this physical channel. The context id must match the cid of
+ * SetupDataCallResult. An empty list means the physical channel has no data call mapped to it.
+ */
+ int[] contextIds;
+ /**
+ * The physical cell identifier for this cell.
+ * In UTRAN, this value is primary scrambling code. The range is [0, 511].
+ * Reference: 3GPP TS 25.213 section 5.2.2.
+ * In EUTRAN, this value is physical layer cell identity. The range is [0, 503].
+ * Reference: 3GPP TS 36.211 section 6.11.
+ * In NGRAN, this value is physical layer cell identity. The range is [0, 1007].
+ * Reference: 3GPP TS 38.211 section 7.4.2.1.
+ */
+ int physicalCellId;
+ /**
+ * The frequency band to scan.
+ */
+ PhysicalChannelConfigBand band;
+}
diff --git a/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
new file mode 100644
index 0000000..f5b248e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.EutranBands;
+import android.hardware.radio.network.GeranBands;
+import android.hardware.radio.network.NgranBands;
+import android.hardware.radio.network.UtranBands;
+
+@VintfStability
+union PhysicalChannelConfigBand {
+ boolean noinit;
+ /**
+ * Valid only if radioAccessNetwork = GERAN.
+ */
+ GeranBands geranBand;
+ /**
+ * Valid only if radioAccessNetwork = UTRAN.
+ */
+ UtranBands utranBand;
+ /**
+ * Valid only if radioAccessNetwork = EUTRAN.
+ */
+ EutranBands eutranBand;
+ /**
+ * Valid only if radioAccessNetwork = NGRAN.
+ */
+ NgranBands ngranBand;
+}
diff --git a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl
new file mode 100644
index 0000000..dcc9d53
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.AccessNetwork;
+import android.hardware.radio.network.RadioAccessSpecifierBands;
+
+@VintfStability
+parcelable RadioAccessSpecifier {
+ /**
+ * The type of network to scan.
+ */
+ AccessNetwork accessNetwork;
+ /**
+ * The frequency bands to scan. Maximum length of the vector is 8.
+ */
+ RadioAccessSpecifierBands bands;
+ /**
+ * The radio channels to scan as defined in 3GPP TS 25.101 and 36.101.
+ * Maximum length of the vector is 32.
+ */
+ int[] channels;
+}
diff --git a/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
new file mode 100644
index 0000000..c72d8c9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.EutranBands;
+import android.hardware.radio.network.GeranBands;
+import android.hardware.radio.network.NgranBands;
+import android.hardware.radio.network.UtranBands;
+
+@VintfStability
+union RadioAccessSpecifierBands {
+ boolean noinit;
+ /**
+ * Valid only if radioAccessNetwork = GERAN.
+ */
+ GeranBands[] geranBands;
+ /**
+ * Valid only if radioAccessNetwork = UTRAN.
+ */
+ UtranBands[] utranBands;
+ /**
+ * Valid only if radioAccessNetwork = EUTRAN.
+ */
+ EutranBands[] eutranBands;
+ /**
+ * Valid only if radioAccessNetwork = NGRAN.
+ */
+ NgranBands[] ngranBands;
+}
diff --git a/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl
new file mode 100644
index 0000000..4fdc614
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+@Backing(type="int")
+enum RadioBandMode {
+ /**
+ * "Unspecified" (selected by baseband automatically)
+ */
+ BAND_MODE_UNSPECIFIED,
+ /**
+ * "EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)
+ */
+ BAND_MODE_EURO,
+ /**
+ * "US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900)
+ */
+ BAND_MODE_USA,
+ /**
+ * "JPN band" (WCDMA-800 / WCDMA-IMT-2000)
+ */
+ BAND_MODE_JPN,
+ /**
+ * "AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000)
+ */
+ BAND_MODE_AUS,
+ /**
+ * "AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850)
+ */
+ BAND_MODE_AUS_2,
+ /**
+ * "Cellular" (800-MHz Band)
+ */
+ BAND_MODE_CELL_800,
+ /**
+ * "PCS" (1900-MHz Band)
+ */
+ BAND_MODE_PCS,
+ /**
+ * "Band Class 3" (JTACS Band)
+ */
+ BAND_MODE_JTACS,
+ /**
+ * "Band Class 4" (Korean PCS Band)
+ */
+ BAND_MODE_KOREA_PCS,
+ /**
+ * "Band Class 5" (450-MHz Band)
+ */
+ BAND_MODE_5_450M,
+ /**
+ * "Band Class 6" (2-GMHz IMT2000 Band)
+ */
+ BAND_MODE_IMT2000,
+ /**
+ * "Band Class 7" (Upper 700-MHz Band)
+ */
+ BAND_MODE_7_700M_2,
+ /**
+ * "Band Class 8" (1800-MHz Band)
+ */
+ BAND_MODE_8_1800M,
+ /**
+ * "Band Class 9" (900-MHz Band)
+ */
+ BAND_MODE_9_900M,
+ /**
+ * "Band Class 10" (Secondary 800-MHz Band)
+ */
+ BAND_MODE_10_800M_2,
+ /**
+ * "Band Class 11" (400-MHz European PAMR Band)
+ */
+ BAND_MODE_EURO_PAMR_400M,
+ /**
+ * "Band Class 15" (AWS Band)
+ */
+ BAND_MODE_AWS,
+ /**
+ * "Band Class 16" (US 2.5-GHz Band)
+ */
+ BAND_MODE_USA_2500M,
+}
diff --git a/radio/aidl/android/hardware/radio/network/RegState.aidl b/radio/aidl/android/hardware/radio/network/RegState.aidl
new file mode 100644
index 0000000..bb2c3c3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RegState.aidl
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * Please note that registration state UNKNOWN is treated as "out of service" in Android telephony.
+ * Registration state REG_DENIED must be returned if Location Update Reject (with cause 17 - Network
+ * Failure) is received repeatedly from the network, to facilitate "managed roaming".
+ */
+@VintfStability
+@Backing(type="int")
+enum RegState {
+ /**
+ * Not registered, MT is not currently searching for a new operator to register
+ */
+ NOT_REG_MT_NOT_SEARCHING_OP = 0,
+ /**
+ * Registered, home network
+ */
+ REG_HOME = 1,
+ /**
+ * Not registered, but MT is currently searching for a new operator to register
+ */
+ NOT_REG_MT_SEARCHING_OP = 2,
+ /**
+ * Registration denied
+ */
+ REG_DENIED = 3,
+ /**
+ * Unknown
+ */
+ UNKNOWN = 4,
+ /**
+ * Registered, roaming
+ */
+ REG_ROAMING = 5,
+ /**
+ * Same as NOT_REG_MT_NOT_SEARCHING_OP but indicates that emergency calls are enabled
+ */
+ NOT_REG_MT_NOT_SEARCHING_OP_EM = 10,
+ /**
+ * Same as NOT_REG_MT_SEARCHING_OP but indicatees that emergency calls are enabled
+ */
+ NOT_REG_MT_SEARCHING_OP_EM = 12,
+ /**
+ * Same as REG_DENIED but indicates that emergency calls are enabled
+ */
+ REG_DENIED_EM = 13,
+ /**
+ * Same as UNKNOWN but indicates that emergency calls are enabled
+ */
+ UNKNOWN_EM = 14,
+}
diff --git a/radio/aidl/android/hardware/radio/network/RegStateResult.aidl b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
new file mode 100644
index 0000000..bd681e7
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.network.AccessTechnologySpecificInfo;
+import android.hardware.radio.network.CellIdentity;
+import android.hardware.radio.network.RegState;
+import android.hardware.radio.network.RegistrationFailCause;
+
+@VintfStability
+parcelable RegStateResult {
+ /**
+ * Registration state. If the RAT is indicated as a GERAN, UTRAN, or CDMA2000 technology, this
+ * value reports registration in the Circuit-switched domain. If the RAT is indicated as an
+ * EUTRAN, NGRAN, or another technology that does not support circuit-switched services, this
+ * value reports registration in the Packet-switched domain.
+ */
+ 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.
+ */
+ RadioTechnology rat;
+ /**
+ * Cause code reported by the network in case registration fails. This will be a mobility
+ * management cause code defined for MM, GMM, MME or equivalent as appropriate for the RAT.
+ */
+ RegistrationFailCause reasonForDenial;
+ /**
+ * CellIdentity
+ */
+ CellIdentity cellIdentity;
+ /**
+ * The most-recent PLMN-ID upon which the UE registered (or attempted to register if a failure
+ * is reported in the reasonForDenial field). This PLMN shall be in standard format consisting
+ * of a 3 digit MCC concatenated with a 2 or 3 digit MNC.
+ */
+ String registeredPlmn;
+ /**
+ * Access-technology-specific registration information, such as for CDMA2000.
+ */
+ AccessTechnologySpecificInfo accessTechnologySpecificInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl
new file mode 100644
index 0000000..586436e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Call fail causes for Circuit-switched service enumerated in 3GPP TS 24.008, 10.5.3.6 and
+ * 10.5.147. Additional detail is available in 3GPP TS 24.008 Annex G.
+ */
+@VintfStability
+@Backing(type="int")
+enum RegistrationFailCause {
+ /**
+ * 0 - None
+ */
+ NONE = 0,
+ /**
+ * 2 - IMSI unknown in HLR
+ */
+ IMSI_UNKNOWN_IN_HLR = 2,
+ /**
+ * 3 - Illegal MS
+ */
+ ILLEGAL_MS = 3,
+ /**
+ * 4 - Illegal ME
+ */
+ IMSI_UNKNOWN_IN_VLR = 4,
+ /**
+ * 5 - PLMN not allowed
+ */
+ IMEI_NOT_ACCEPTED = 5,
+ /**
+ * 6 - Location area not allowed
+ */
+ ILLEGAL_ME = 6,
+ /**
+ * 7 - Roaming not allowed
+ */
+ GPRS_SERVICES_NOT_ALLOWED = 7,
+ /**
+ * 8 - No Suitable Cells in this Location Area
+ */
+ GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8,
+ /**
+ * 9 - Network failure
+ */
+ MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9,
+ /**
+ * 10 - Persistent location update reject
+ */
+ IMPLICITLY_DETACHED = 10,
+ /**
+ * 11 - PLMN not allowed
+ */
+ PLMN_NOT_ALLOWED = 11,
+ /**
+ * 12 - Location area not allowed
+ */
+ LOCATION_AREA_NOT_ALLOWED = 12,
+ /**
+ * 13 - Roaming not allowed in this Location Area
+ */
+ ROAMING_NOT_ALLOWED = 13,
+ /**
+ * 14 - GPRS Services not allowed in this PLMN
+ */
+ GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14,
+ /**
+ * 15 - No Suitable Cells in this Location Area
+ */
+ NO_SUITABLE_CELLS = 15,
+ /**
+ * 16 - MSC temporarily not reachable
+ */
+ MSC_TEMPORARILY_NOT_REACHABLE = 15,
+ /**
+ * 17 - Network Failure
+ */
+ NETWORK_FAILURE = 17,
+ /**
+ * 20 - MAC Failure
+ */
+ MAC_FAILURE = 20,
+ /**
+ * 21 - Sync Failure
+ */
+ SYNC_FAILURE = 21,
+ /**
+ * 22 - Congestion
+ */
+ CONGESTION = 22,
+ /**
+ * 23 - GSM Authentication unacceptable
+ */
+ GSM_AUTHENTICATION_UNACCEPTABLE = 23,
+ /**
+ * 25 - Not Authorized for this CSG
+ */
+ NOT_AUTHORIZED_FOR_THIS_CSG = 25,
+ /**
+ * 28 SMS provided via GPRS in this routing area
+ */
+ SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA,
+ /**
+ * 32 - Service option not supported
+ */
+ SERVICE_OPTION_NOT_SUPPORTED = 32,
+ /**
+ * 33 - Requested service option not subscribed
+ */
+ SERVICE_OPTION_NOT_SUBSCRIBED = 33,
+ /**
+ * 34 - Service option temporarily out of order
+ */
+ SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34,
+ /**
+ * 38 - Call cannot be identified
+ */
+ CALL_CANNOT_BE_IDENTIFIED = 38,
+ /**
+ * 40 No PDP context activated
+ */
+ NO_PDP_CONTEXT_ACTIVATED = 40,
+ /**
+ * 48-63 - Retry upon entry into a new cell
+ */
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62,
+ RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63,
+ /**
+ * 95 - Semantically incorrect message
+ */
+ SEMANTICALLY_INCORRECT_MESSAGE = 95,
+ /**
+ * 96 - Invalid mandatory information
+ */
+ INVALID_MANDATORY_INFORMATION = 96,
+ /**
+ * 97 - Message type non-existent or not implemented
+ */
+ MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97,
+ /**
+ * 98 - Message type not compatible with protocol state
+ */
+ MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
+ /**
+ * 99 - Information element non-existent or not implemented
+ */
+ INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99,
+ /**
+ * 100 - Conditional IE error
+ */
+ CONDITIONAL_IE_ERROR = 100,
+ /**
+ * 101 - Message not compatible with protocol state
+ */
+ MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
+ /**
+ * 111 - Protocol error, unspecified
+ */
+ PROTOCOL_ERROR_UNSPECIFIED = 111,
+}
diff --git a/radio/aidl/android/hardware/radio/network/SignalStrength.aidl b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl
new file mode 100644
index 0000000..5a18b18
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.network.CdmaSignalStrength;
+import android.hardware.radio.network.EvdoSignalStrength;
+import android.hardware.radio.network.GsmSignalStrength;
+import android.hardware.radio.network.LteSignalStrength;
+import android.hardware.radio.network.NrSignalStrength;
+import android.hardware.radio.network.TdscdmaSignalStrength;
+import android.hardware.radio.network.WcdmaSignalStrength;
+
+@VintfStability
+parcelable SignalStrength {
+ /**
+ * If GSM measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ GsmSignalStrength gsm;
+ /**
+ * If CDMA measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ CdmaSignalStrength cdma;
+ /**
+ * If EvDO measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ EvdoSignalStrength evdo;
+ /**
+ * If LTE measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ LteSignalStrength lte;
+ /**
+ * If TD-SCDMA measurements are provided, this structure must contain valid measurements;
+ * otherwise all fields should be set to INT_MAX to mark them as invalid.
+ */
+ TdscdmaSignalStrength tdscdma;
+ /**
+ * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ WcdmaSignalStrength wcdma;
+ /**
+ * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise
+ * all fields should be set to INT_MAX to mark them as invalid.
+ */
+ NrSignalStrength nr;
+}
diff --git a/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
new file mode 100644
index 0000000..584ea38
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+import android.hardware.radio.AccessNetwork;
+
+/**
+ * Contains the threshold values of each signal measurement type.
+ */
+@VintfStability
+parcelable SignalThresholdInfo {
+ /**
+ * Received Signal Strength Indication.
+ * Range: -113 dBm and -51 dBm
+ * Used RAN: GERAN, CDMA2000
+ * Reference: 3GPP TS 27.007 section 8.5.
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_RSSI = 1;
+ /**
+ * Received Signal Code Power.
+ * Range: -120 dBm to -25 dBm;
+ * Used RAN: UTRAN
+ * Reference: 3GPP TS 25.123, section 9.1.1.1
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_RSCP = 2;
+ /**
+ * Reference Signal Received Power.
+ * Range: -140 dBm to -44 dBm;
+ * Used RAN: EUTRAN
+ * Reference: 3GPP TS 36.133 9.1.4
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_RSRP = 3;
+ /**
+ * Reference Signal Received Quality
+ * Range: -34 dB to 3 dB;
+ * Used RAN: EUTRAN
+ * Reference: 3GPP TS 36.133 v12.6.0 section 9.1.7
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_RSRQ = 4;
+ /**
+ * Reference Signal Signal to Noise Ratio
+ * Range: -20 dB to 30 dB;
+ * Used RAN: EUTRAN
+ * Note: This field is optional; how to support it can be decided by the corresponding vendor.
+ * Though the response code is not enforced, vendor's implementation must ensure this interface
+ * does not crash.
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_RSSNR = 5;
+ /**
+ * 5G SS reference signal received power.
+ * Range: -140 dBm to -44 dBm.
+ * Used RAN: NGRAN
+ * Reference: 3GPP TS 38.215.
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_SSRSRP = 6;
+ /**
+ * 5G SS reference signal received quality.
+ * Range: -43 dB to 20 dB.
+ * Used RAN: NGRAN
+ * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_SSRSRQ = 7;
+ /**
+ * 5G SS signal-to-noise and interference ratio.
+ * Range: -23 dB to 40 dB
+ * Used RAN: NGRAN
+ * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1.
+ */
+ const int SIGNAL_MEASUREMENT_TYPE_SSSINR = 8;
+
+ /**
+ * Signal Measurement Type
+ * Values are SIGNAL_MEASUREMENT_TYPE_
+ */
+ int signalMeasurement;
+ /**
+ * 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 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 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;
+ /**
+ * Indicates whether the reporting criteria of the corresponding measurement is enabled
+ * (true) or disabled (false). If enabled, modem must trigger the report based on the criteria.
+ * 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/network/SuppSvcNotification.aidl b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl
new file mode 100644
index 0000000..dce437a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable SuppSvcNotification {
+ /**
+ * Notification type
+ * false = MO intermediate result code
+ * true = MT unsolicited result code
+ */
+ boolean isMT;
+ /**
+ * Result code. See 27.007 7.17.
+ */
+ int code;
+ /**
+ * CUG index. See 27.007 7.17.
+ */
+ int index;
+ /**
+ * "type" from 27.007 7.17 (MT only).
+ */
+ int type;
+ /**
+ * "number" from 27.007 7.17. MT only, may be empty string.
+ */
+ String number;
+}
diff --git a/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl
new file mode 100644
index 0000000..13f394a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 TdscdmaSignalStrength {
+ /**
+ * UTRA carrier RSSI as defined in TS 25.225 5.1.4. Valid values are (0-31, 99) as defined in
+ * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported.
+ */
+ int signalStrength;
+ /**
+ * Transport Channel BER as defined in TS 25.225 5.2.5. Valid values are (0-7, 99) as defined in
+ * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported.
+ */
+ int bitErrorRate;
+ /**
+ * P-CCPCH RSCP as defined in TS 25.225 5.1.1. Valid values are (0-96, 255) as defined in
+ * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
+ */
+ int rscp;
+}
diff --git a/radio/aidl/android/hardware/radio/network/UtranBands.aidl b/radio/aidl/android/hardware/radio/network/UtranBands.aidl
new file mode 100644
index 0000000..da21f9b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/UtranBands.aidl
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+/**
+ * UTRAN bands up to V15.0.0
+ */
+@VintfStability
+@Backing(type="int")
+enum UtranBands {
+ BAND_1 = 1,
+ BAND_2 = 2,
+ BAND_3 = 3,
+ BAND_4 = 4,
+ BAND_5 = 5,
+ BAND_6 = 6,
+ BAND_7 = 7,
+ BAND_8 = 8,
+ BAND_9 = 9,
+ BAND_10 = 10,
+ BAND_11 = 11,
+ BAND_12 = 12,
+ BAND_13 = 13,
+ BAND_14 = 14,
+ BAND_19 = 19,
+ BAND_20 = 20,
+ BAND_21 = 21,
+ BAND_22 = 22,
+ BAND_25 = 25,
+ BAND_26 = 26,
+ /**
+ * TD-SCDMA bands. 3GPP TS 25.102, Table 5.2: Frequency bands
+ */
+ BAND_A = 101,
+ BAND_B = 102,
+ BAND_C = 103,
+ BAND_D = 104,
+ BAND_E = 105,
+ BAND_F = 106,
+}
diff --git a/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl
new file mode 100644
index 0000000..21021e5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+@VintfStability
+parcelable WcdmaSignalStrength {
+ /**
+ * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means unreported.
+ */
+ int signalStrength;
+ /**
+ * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported.
+ */
+ int bitErrorRate;
+ /**
+ * CPICH RSCP as defined in TS 25.215 5.1.1. Valid values are (0-96, 255) as defined in
+ * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
+ */
+ int rscp;
+ /**
+ * Ec/No value as defined in TS 25.215 5.1.5. Valid values are (0-49, 255) as defined in
+ * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported.
+ */
+ int ecno;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/AppStatus.aidl b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl
new file mode 100644
index 0000000..07939bb
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PinState;
+
+@VintfStability
+parcelable AppStatus {
+ const int APP_STATE_UNKNOWN = 0;
+ const int APP_STATE_DETECTED = 1;
+ /**
+ * If PIN1 or UPin is required
+ */
+ const int APP_STATE_PIN = 2;
+ /**
+ * If PUK1 or Puk for Upin is required
+ */
+ const int APP_STATE_PUK = 3;
+ /**
+ * perso_substate must be looked at when app_state is assigned to this value
+ */
+ const int APP_STATE_SUBSCRIPTION_PERSO = 4;
+ const int APP_STATE_READY = 5;
+
+ const int APP_TYPE_UNKNOWN = 0;
+ const int APP_TYPE_SIM = 1;
+ const int APP_TYPE_USIM = 2;
+ const int APP_TYPE_RUIM = 3;
+ const int APP_TYPE_CSIM = 4;
+ const int APP_TYPE_ISIM = 5;
+
+ /**
+ * Values are APP_TYPE_
+ */
+ int appType;
+ /**
+ * Values are APP_STATE_
+ */
+ int appState;
+ /**
+ * Applicable only if appState == SUBSCRIPTION_PERSO
+ */
+ PersoSubstate persoSubstate;
+ /**
+ * e.g., from 0xA0, 0x00 -> 0x41, 0x30, 0x30, 0x30
+ */
+ String aidPtr;
+ String appLabelPtr;
+ /**
+ * Applicable to USIM, CSIM and ISIM
+ */
+ boolean pin1Replaced;
+ PinState pin1;
+ PinState pin2;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl
new file mode 100644
index 0000000..b69296d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+@VintfStability
+@Backing(type="int")
+enum CardPowerState {
+ POWER_DOWN,
+ POWER_UP,
+ POWER_UP_PASS_THROUGH,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/CardStatus.aidl b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl
new file mode 100644
index 0000000..629f403
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+import android.hardware.radio.sim.AppStatus;
+import android.hardware.radio.sim.PinState;
+
+@VintfStability
+parcelable CardStatus {
+ /*
+ * Card is physically absent from device. (Some old modems use STATE_ABSENT when the SIM
+ * is powered off. This is no longer correct, however the platform will still support this
+ * legacy behavior.)
+ */
+ const int STATE_ABSENT = 0;
+ /*
+ * Card is inserted in the device
+ */
+ const int STATE_PRESENT = 1;
+ const int STATE_ERROR = 2;
+ /*
+ * Card is present but not usable due to carrier restrictions
+ */
+ const int STATE_RESTRICTED = 3;
+
+ /**
+ * Values are STATE_
+ */
+ int cardState;
+ /**
+ * Applicable to USIM and CSIM
+ */
+ PinState universalPinState;
+ /**
+ * Value < RadioConst:CARD_MAX_APPS, -1 if none
+ */
+ int gsmUmtsSubscriptionAppIndex;
+ /**
+ * Value < RadioConst:CARD_MAX_APPS, -1 if none
+ */
+ int cdmaSubscriptionAppIndex;
+ /**
+ * Value < RadioConst:CARD_MAX_APPS, -1 if none
+ */
+ int imsSubscriptionAppIndex;
+ /**
+ * size <= RadioConst::CARD_MAX_APPS
+ */
+ AppStatus[] applications;
+ int physicalSlotId;
+ /**
+ * An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816
+ * standards, following electrical reset of the card's chip. The ATR conveys information about
+ * the communication parameters proposed by the card, and the card's nature and state.
+ *
+ * This data is applicable only when cardState is STATE_PRESENT.
+ */
+ String atr;
+ /**
+ * Integrated Circuit Card IDentifier (ICCID) is Unique Identifier of the SIM CARD. File is
+ * located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
+ * the ITU-T recommendation E.118 ISO/IEC 7816.
+ *
+ * This data is applicable only when cardState is STATE_PRESENT.
+ */
+ String iccid;
+ /**
+ * The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be
+ * retrieved by the Device at any time using the standard GlobalPlatform GET DATA command.
+ *
+ * This data is mandatory and applicable only when cardState is STATE_PRESENT and SIM card
+ * supports eUICC.
+ */
+ String eid;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/Carrier.aidl b/radio/aidl/android/hardware/radio/sim/Carrier.aidl
new file mode 100644
index 0000000..c870c00
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/Carrier.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable Carrier {
+ /**
+ * Apply to all carrier with the same mcc/mnc
+ */
+ const int MATCH_TYPE_ALL = 0;
+ /**
+ * Use SPN and mcc/mnc to identify the carrier
+ */
+ const int MATCH_TYPE_SPN = 1;
+ /**
+ * Use IMSI prefix and mcc/mnc to identify the carrier
+ */
+ const int MATCH_TYPE_IMSI_PREFIX = 2;
+ /**
+ * Use GID1 and mcc/mnc to identify the carrier
+ */
+ const int MATCH_TYPE_GID1 = 3;
+ /**
+ * Use GID2 and mcc/mnc to identify the carrier
+ */
+ const int MATCH_TYPE_GID2 = 4;
+
+ String mcc;
+ String mnc;
+ /**
+ * Specify match type for the carrier. If it’s MATCH_TYPE_ALL, matchData is empty string;
+ * otherwise, matchData is the value for the match type.
+ * Values are MATCH_TYPE_
+ */
+ int matchType;
+ String matchData;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl
new file mode 100644
index 0000000..12df138
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+import android.hardware.radio.sim.Carrier;
+
+@VintfStability
+parcelable CarrierRestrictions {
+ /**
+ * Allowed carriers
+ */
+ Carrier[] allowedCarriers;
+ /**
+ * Explicitly excluded carriers which match allowed_carriers. Eg. allowedCarriers match mcc/mnc,
+ * excludedCarriers has same mcc/mnc and gid1 is ABCD. It means except the carrier whose gid1
+ * is ABCD, all carriers with the same mcc/mnc are allowed.
+ */
+ Carrier[] excludedCarriers;
+ /**
+ * Whether this is a carrier restriction with priority or not.
+ * If this is false, allowedCarriersPrioritized is not applicable.
+ */
+ boolean priority;
+ /**
+ * True means that only carriers included in the allowed list and not in the excluded list
+ * are permitted. Eg. allowedCarriers match mcc/mnc, excludedCarriers has same mcc/mnc and
+ * gid1 is ABCD. It means except the carrier whose gid1 is ABCD, all carriers with the
+ * same mcc/mnc are allowed.
+ * False means that all carriers are allowed except those included in the excluded list
+ * and not in the allowed list.
+ */
+ boolean allowedCarriersPrioritized;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
new file mode 100644
index 0000000..bdd7e07
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+@VintfStability
+@Backing(type="int")
+enum CdmaSubscriptionSource {
+ RUIM_SIM,
+ NV,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
new file mode 100644
index 0000000..902c90c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
@@ -0,0 +1,502 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+import android.hardware.radio.sim.CardPowerState;
+import android.hardware.radio.sim.CarrierRestrictions;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.IRadioSimIndication;
+import android.hardware.radio.sim.IRadioSimResponse;
+import android.hardware.radio.sim.IccIo;
+import android.hardware.radio.sim.ImsiEncryptionInfo;
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PhonebookRecordInfo;
+import android.hardware.radio.sim.SelectUiccSub;
+import android.hardware.radio.sim.SimApdu;
+import android.hardware.radio.sim.SimLockMultiSimPolicy;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for SIM APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioSimResponse and IRadioSimIndication.
+ */
+@VintfStability
+oneway interface IRadioSim {
+ /**
+ * Whether uiccApplications are enabled or disabled.
+ * By default uiccApplications must be enabled, unless enableUiccApplications() with enable
+ * being false is called.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.areUiccApplicationsEnabledResponse()
+ */
+ void areUiccApplicationsEnabled(in int serial);
+
+ /**
+ * Supplies old ICC PIN2 and new PIN2.
+ *
+ * @param serial Serial number of request.
+ * @param oldPin2 Old pin2 value
+ * @param newPin2 New pin2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.changeIccPin2ForAppResponse()
+ */
+ void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid);
+
+ /**
+ * Supplies old ICC PIN and new PIN.
+ *
+ * @param serial Serial number of request.
+ * @param oldPin Old pin value
+ * @param newPin New pin value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.changeIccPinForAppResponse()
+ */
+ void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid);
+
+ /**
+ * Enable or disable UiccApplications on the SIM. If disabled:
+ * - Modem will not register on any network.
+ * - SIM must be PRESENT, and the IccId of the SIM must still be accessible.
+ * - The corresponding modem stack is still functional, e.g. able to make emergency calls or
+ * do network scan.
+ * By default if this API is not called, the uiccApplications must be enabled automatically.
+ * It must work for both single SIM and DSDS cases for UX consistency.
+ * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM
+ * insertion / unplug.
+ *
+ * @param serial Serial number of request.
+ * @param enable true if to enable uiccApplications, false to disable.
+ *
+ * Response function is IRadioSimResponse.enableUiccApplicationsResponse()
+ */
+ void enableUiccApplications(in int serial, in boolean enable);
+
+ /**
+ * Get carrier restrictions.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getAllowedCarriersResponse()
+ */
+ void getAllowedCarriers(in int serial);
+
+ /**
+ * Request the device MDN / H_SID / H_NID. The request is only allowed when CDMA subscription
+ * is available. When CDMA subscription is changed, application layer must re-issue the request
+ * to update the subscription information.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getCdmaSubscriptionResponse()
+ */
+ void getCdmaSubscription(in int serial);
+
+ /**
+ * Request to query the location where the CDMA subscription shall be retrieved.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getCdmaSubscriptionSourceResponse()
+ */
+ void getCdmaSubscriptionSource(in int serial);
+
+ /**
+ * Query the status of a facility lock state
+ *
+ * @param serial Serial number of request.
+ * @param facility is the facility string code from TS 27.007 7.4
+ * (eg "AO" for BAOC, "SC" for SIM lock)
+ * @param password is the password, or "" if not required
+ * @param serviceClass is the TS 27.007 service class bit vector of services to query
+ * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
+ *
+ * Response function is IRadioSimResponse.getFacilityLockForAppResponse()
+ */
+ void getFacilityLockForApp(in int serial, in String facility, in String password,
+ in int serviceClass, in String appId);
+
+ /**
+ * Requests status of the ICC card
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getIccCardStatusResponse()
+ */
+ void getIccCardStatus(in int serial);
+
+ /**
+ * Get the SIM IMSI. Only valid when radio state is "RADIO_STATE_ON"
+ *
+ * @param serial Serial number of request.
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.getImsiForAppResponse()
+ */
+ void getImsiForApp(in int serial, in String aid);
+
+ /**
+ * Get the phonebook capacity.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getSimPhonebookCapacityResponse()
+ */
+ void getSimPhonebookCapacity(in int serial);
+
+ /**
+ * Get the local and global phonebook records from the SIM card.
+ * This should be called again after a simPhonebookChanged notification is received.
+ * The phonebook records are received via IRadioSimIndication.simPhonebookRecordsReceived()
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getSimPhonebookRecordsResponse()
+ */
+ void getSimPhonebookRecords(in int serial);
+
+ /**
+ * Close a previously opened logical channel. This command reflects TS 27.007
+ * "close logical channel" operation (+CCHC).
+ *
+ * @param serial Serial number of request.
+ * @param channelId session id of the logical channel (+CCHC).
+ *
+ * Response function is IRadioSimResponse.iccCloseLogicalChannelResponse()
+ */
+ void iccCloseLogicalChannel(in int serial, in int channelId);
+
+ /**
+ * Request ICC I/O operation. This is similar to the TS 27.007 "restricted SIM" operation where
+ * it assumes all of the EF selection must be done by the callee. Arguments and responses that
+ * are unused for certain values of "command" must be ignored or set to empty string.
+ * Note that IccIo has a "PIN2" field which may be empty string, or may specify a PIN2 for
+ * operations that require a PIN2 (eg updating FDN records).
+ *
+ * @param serial Serial number of request.
+ * @param iccIo IccIo
+ *
+ * Response function is IRadioSimResponse.iccIoForAppResponse()
+ */
+ void iccIoForApp(in int serial, in IccIo iccIo);
+
+ /**
+ * Open a new logical channel and select the given application. This command
+ * reflects TS 27.007 "open logical channel" operation (+CCHO).
+ *
+ * @param serial Serial number of request.
+ * @param aid AID value, See ETSI 102.221 and 101.220.
+ * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to RadioConst:P2_CONSTANT_NO_P2
+ *
+ * Response function is IRadioSimResponse.iccOpenLogicalChannelResponse()
+ */
+ void iccOpenLogicalChannel(in int serial, in String aid, in int p2);
+
+ /**
+ * Request APDU exchange on the basic channel. This command reflects TS 27.007
+ * "generic SIM access" operation (+CSIM). The modem must ensure proper function of GSM/CDMA,
+ * and filter commands appropriately. It must filter channel management and SELECT by DF
+ * name commands. "sessionid" field must be ignored.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu to be sent
+ *
+ * Response function is IRadioSimResponse.iccTransmitApduBasicChannelResponse()
+ */
+ void iccTransmitApduBasicChannel(in int serial, in SimApdu message);
+
+ /**
+ * Exchange APDUs with a UICC over a previously opened logical channel. This command reflects
+ * TS 27.007 "generic logical channel access" operation (+CGLA). The modem must filter channel
+ * management and SELECT by DF name commands.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu to be sent
+ *
+ * Response function is IRadioSimResponse.iccTransmitApduLogicalChannelResponse()
+ */
+ void iccTransmitApduLogicalChannel(in int serial, in SimApdu message);
+
+ /**
+ * Indicates that the StkService is running and is ready to receive unsolicited stk commands.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.reportStkServiceIsRunningResponse()
+ */
+ void reportStkServiceIsRunning(in int serial);
+
+ /**
+ * Returns the response of SIM Authentication through Radio challenge request.
+ *
+ * @param serial Serial number of request.
+ * @param authContext P2 value of authentication command, see P2 parameter in
+ * 3GPP TS 31.102 7.1.2
+ * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
+ *
+ * Response function is IRadioSimResponse.requestIccSimAuthenticationResponse()
+ */
+ void requestIccSimAuthentication(
+ 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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Requests to send a SAT/USAT envelope command to SIM.
+ * 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
+ *
+ * Response function is IRadioSimResponse.sendEnvelopeResponse()
+ */
+ void sendEnvelope(in int serial, in String command);
+
+ /**
+ * Requests to send a SAT/USAT envelope command to SIM. The SAT/USAT envelope command refers to
+ * 3GPP TS 11.14 and 3GPP TS 31.111. This request has one difference from sendEnvelope():
+ * The SW1 and SW2 status bytes from the UICC response are returned along with the response
+ * data, using the same structure as iccIOForApp(). The implementation must perform normal
+ * processing of a '91XX' response in SW1/SW2 to retrieve the pending proactive command and
+ * send it as an unsolicited response, as sendEnvelope() does.
+ *
+ * @param serial Serial number of request.
+ * @param contents SAT/USAT command in hexadecimal format starting with command tag
+ *
+ * Response function is IRadioSimResponse.sendEnvelopeWithStatusResponse()
+ */
+ void sendEnvelopeWithStatus(in int serial, in String contents);
+
+ /**
+ * 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
+ * first byte of response data
+ *
+ * Response function is IRadioSimResponse.sendTerminalResponseResponseToSim()
+ */
+ void sendTerminalResponseToSim(in int serial, in String commandResponse);
+
+ /**
+ * Set carrier restrictions. Expected modem behavior:
+ * If never receives this command:
+ * - Must allow all carriers
+ * Receives this command:
+ * - Only allow carriers specified in carriers. The restriction persists across power cycles
+ * and FDR. If a present SIM is allowed, modem must not reload the SIM. If a present SIM is
+ * *not* allowed, modem must detach from the registered network and only keep emergency
+ * service, and notify Android SIM refresh reset with new SIM state being
+ * CardState:RESTRICTED. Emergency service must be enabled.
+ *
+ * @param serial Serial number of request.
+ * @param carriers CarrierRestrictions consisting allowed and excluded carriers
+ * @param multiSimPolicy Policy to be used for devices with multiple SIMs.
+ *
+ * Response function is IRadioSimResponse.setAllowedCarriersResponse()
+ */
+ void setAllowedCarriers(in int serial, in CarrierRestrictions carriers,
+ in SimLockMultiSimPolicy multiSimPolicy);
+
+ /**
+ * Provide Carrier specific information to the modem that must be used to encrypt the IMSI and
+ * IMPI. Sent by the framework during boot, carrier switch and everytime the framework receives
+ * a new certificate.
+ *
+ * @param serial Serial number of request.
+ * @param imsiEncryptionInfo ImsiEncryptionInfo
+ *
+ * Response function is IRadioSimResponse.setCarrierInfoForImsiEncryptionResponse()
+ */
+ void setCarrierInfoForImsiEncryption(in int serial, in ImsiEncryptionInfo imsiEncryptionInfo);
+
+ /**
+ * Request to set the location where the CDMA subscription shall be retrieved
+ *
+ * @param serial Serial number of request.
+ * @param cdmaSub CdmaSubscriptionSource
+ *
+ * Response function is IRadioSimResponse.setCdmaSubscriptionSourceResponse()
+ */
+ void setCdmaSubscriptionSource(in int serial, in CdmaSubscriptionSource cdmaSub);
+
+ /**
+ * Enable/disable one facility lock
+ *
+ * @param serial Serial number of request.
+ * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
+ * @param lockState false for "unlock" and true for "lock"
+ * @param password is the password
+ * @param serviceClass is string representation of decimal TS 27.007 service class bit vector.
+ * Eg, the string "1" means "set this facility for voice services"
+ * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
+ *
+ * Response function is IRadioSimResponse.setFacilityLockForAppResponse()
+ */
+ void setFacilityLockForApp(in int serial, in String facility, in boolean lockState,
+ in String password, in int serviceClass, in String appId);
+
+ /**
+ * Set response functions for SIM radio requests and indications.
+ *
+ * @param radioSimResponse Object containing response functions
+ * @param radioSimIndication Object containing radio indications
+ */
+ void setResponseFunctions(
+ in IRadioSimResponse radioSimResponse, in IRadioSimIndication radioSimIndication);
+
+ /**
+ * Set SIM card power state. Request is used to power off or power on the card. It should not
+ * generate a CardState.CARDSTATE_ABSENT indication, since the SIM is still physically inserted.
+ * When SIM card is in POWER_UP_PASS_THROUGH, the modem does not send any command to it (for
+ * example SELECT of MF, or TERMINAL CAPABILITY), and the SIM card is controlled completely by
+ * Telephony sending APDUs directly. The SIM card state must be RIL_CARDSTATE_PRESENT and the
+ * number of card apps will be 0. No new error code is generated. Emergency calls are supported
+ * in the same way as if the SIM card is absent. Pass-through mode is valid only for the
+ * specific card session where it is activated, and normal behavior occurs at the next SIM
+ * initialization, unless POWER_UP_PASS_THROUGH is requested again.
+ * The device is required to power down the SIM card before it can switch the mode between
+ * POWER_UP and POWER_UP_PASS_THROUGH. At device power up, the SIM interface is powered up
+ * automatically. Each subsequent request to this method is processed only after the completion
+ * of the previous one.
+ * When the SIM is in POWER_DOWN, the modem should send an empty vector of AppStatus in
+ * CardStatus.applications. If a SIM in the POWER_DOWN state is removed and a new SIM is
+ * inserted, the new SIM should be in POWER_UP mode by default. If the device is turned off or
+ * restarted while the SIM is in POWER_DOWN, then the SIM should turn on normally in POWER_UP
+ * mode when the device turns back on.
+ *
+ * @param serial Serial number of request
+ * @param powerUp POWER_DOWN if powering down the SIM card
+ * POWER_UP if powering up the SIM card
+ * POWER_UP_PASS_THROUGH if powering up the SIM card in pass through mode
+ *
+ * Response function is IRadioSimResponse.setSimCardPowerResponse()
+ */
+ void setSimCardPower(in int serial, in CardPowerState powerUp);
+
+ /**
+ * Selection/de-selection of a subscription from a SIM card
+ *
+ * @param serial Serial number of request.
+ * @param uiccSub SelectUiccSub
+ *
+ * Response function is IRadioSimResponse.setUiccSubscriptionResponse()
+ */
+ void setUiccSubscription(in int serial, in SelectUiccSub uiccSub);
+
+ /**
+ * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was returned as a failure
+ * from a previous operation.
+ *
+ * @param serial Serial number of request.
+ * @param pin2 PIN2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPin2ForAppResponse()
+ */
+ void supplyIccPin2ForApp(in int serial, in String pin2, in String aid);
+
+ /**
+ * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state
+ *
+ * @param serial Serial number of request.
+ * @param pin PIN value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPinForAppResponse()
+ */
+ void supplyIccPinForApp(in int serial, in String pin, in String aid);
+
+ /**
+ * Supplies ICC PUK2 and new PIN2.
+ *
+ * @param serial Serial number of request.
+ * @param puk2 PUK2 value
+ * @param pin2 New PIN2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPuk2ForAppResponse()
+ */
+ void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid);
+
+ /**
+ * Supplies ICC PUK and new PIN.
+ *
+ * @param serial Serial number of request.
+ * @param puk PUK value
+ * @param pin New PIN value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPukForAppResponse()
+ */
+ void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid);
+
+ /**
+ * Request that deactivates one category of device personalization. Device personalization
+ * generally binds the device so it can only be used on one carrier or even one carrier subnet
+ * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a
+ * contract period or other event), the controlKey will be delivered to either the user for
+ * manual entry or to a carrier app on the device for automatic entry.
+ *
+ * @param serial Serial number of request.
+ * @param persoType SIM personalization type.
+ * @param controlKey the unlock code for removing persoType personalization from this device
+ *
+ * Response function is IRadioSimResponse.supplySimDepersonalizationResponse()
+ */
+ void supplySimDepersonalization(
+ in int serial, in PersoSubstate persoType, in String controlKey);
+
+ /**
+ * Insert, delete or update a phonebook record on the SIM card. If the index of recordInfo is 0,
+ * the phonebook record will be added to global or local phonebook, and global phonebook has
+ * higher priority than local phonebook. If the fields in the recordInfo are all empty except
+ * for the index, the phonebook record specified by the index will be deleted. The indication
+ * simPhonebookChanged will be called after every successful call of updateSimPhonebookRecords.
+ *
+ * @param serial Serial number of request.
+ * @param recordInfo Details of the record to insert, delete or update.
+ *
+ * Response function is IRadioSimResponse.updateSimPhonebookRecordsResponse()
+ */
+ void updateSimPhonebookRecords(in int serial, in PhonebookRecordInfo recordInfo);
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl
new file mode 100644
index 0000000..a139040
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.PbReceivedStatus;
+import android.hardware.radio.sim.PhonebookRecordInfo;
+import android.hardware.radio.sim.SimRefreshResult;
+
+/**
+ * Interface declaring unsolicited radio indications for SIM APIs.
+ */
+@VintfStability
+oneway interface IRadioSimIndication {
+ /**
+ * Indicates that the modem requires the Carrier info for IMSI/IMPI encryption. This might
+ * happen when the modem restarts or for some reason it's cache has been invalidated.
+ *
+ * @param type Type of radio indication
+ */
+ void carrierInfoForImsiEncryption(in RadioIndicationType info);
+
+ /**
+ * Indicates when CDMA subscription source changed.
+ *
+ * @param type Type of radio indication
+ * @param cdmaSource New CdmaSubscriptionSource
+ */
+ void cdmaSubscriptionSourceChanged(
+ in RadioIndicationType type, in CdmaSubscriptionSource cdmaSource);
+
+ /**
+ * Indicates whether SIM phonebook is changed. This indication is sent whenever the SIM
+ * phonebook is changed, including SIM is inserted or removed and updated by
+ * IRadioSim.updateSimPhonebookRecords.
+ *
+ * @param type Type of radio indication
+ */
+ void simPhonebookChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates the content of all the used records in the SIM phonebook. This indication is
+ * associated with the API getSimPhonebookRecords and might be received more than once that is
+ * replying on the record count.
+ *
+ * @param type Type of radio indication
+ * @param status Status of PbReceivedStatus
+ * @param records Vector of PhonebookRecordInfo
+ */
+ void simPhonebookRecordsReceived(in RadioIndicationType type, in PbReceivedStatus status,
+ in PhonebookRecordInfo[] records);
+
+ /**
+ * Indicates that file(s) on the SIM have been updated, or the SIM has been reinitialized.
+ * If the SIM state changes as a result of the SIM refresh (eg, SIM_READY ->
+ * SIM_LOCKED_OR_ABSENT), simStatusChanged() must be sent.
+ *
+ * @param type Type of radio indication
+ * @param refreshResult Result of sim refresh
+ */
+ void simRefresh(in RadioIndicationType type, in SimRefreshResult refreshResult);
+
+ /**
+ * Indicates that SIM state changes. Callee must invoke getIccCardStatus().
+ *
+ * @param type Type of radio indication
+ */
+ void simStatusChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates when SIM notifies applcations some event happens.
+ *
+ * @param type Type of radio indication
+ * @param cmd SAT/USAT commands or responses sent by ME to SIM or commands handled by ME,
+ * represented as byte array starting with first byte of response data for command tag.
+ * Refer to TS 102.223 section 9.4 for command types
+ */
+ void stkEventNotify(in RadioIndicationType type, in String cmd);
+
+ /**
+ * Indicates when SIM issue a STK proactive command to applications.
+ *
+ * @param type Type of radio indication
+ * @param cmd SAT/USAT proactive represented as byte array starting with command tag.
+ * Refer to TS 102.223 section 9.4 for command types
+ */
+ void stkProactiveCommand(in RadioIndicationType type, in String cmd);
+
+ /**
+ * Indicates when STK session is terminated by SIM.
+ *
+ * @param type Type of radio indication
+ */
+ void stkSessionEnd(in RadioIndicationType type);
+
+ /**
+ * Indicated when there is a change in subscription status.
+ * This event must be sent in the following scenarios
+ * - subscription readiness at modem, which was selected by telephony layer
+ * - when subscription is deactivated by modem due to UICC card removal
+ * - when network invalidates the subscription i.e. attach reject due to authentication reject
+ *
+ * @param type Type of radio indication
+ * @param activate false for subscription deactivated, true for subscription activated
+ */
+ void subscriptionStatusChanged(in RadioIndicationType type, in boolean activate);
+
+ /**
+ * Report change of whether uiccApplications are enabled, or disabled.
+ *
+ * @param type Type of radio indication
+ * @param enabled whether uiccApplications are enabled or disabled
+ */
+ void uiccApplicationsEnablementChanged(in RadioIndicationType type, in boolean enabled);
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
new file mode 100644
index 0000000..dcc7029
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
@@ -0,0 +1,649 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.sim.CardStatus;
+import android.hardware.radio.sim.CarrierRestrictions;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.IccIoResult;
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PhonebookCapacity;
+import android.hardware.radio.sim.SimLockMultiSimPolicy;
+
+/**
+ * Interface declaring response functions to solicited radio requests for SIM APIs.
+ */
+@VintfStability
+oneway interface IRadioSimResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param enabled whether Uicc applications are enabled.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:SIM_ABSENT
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void areUiccApplicationsEnabledResponse(in RadioResponseInfo info, in boolean enabled);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (old PIN2 is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_PUK2
+ */
+ void changeIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void changeIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:SIM_ABSENT
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:BUSY
+ */
+ void enableUiccApplicationsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param carriers Carrier restriction information.
+ * @param multiSimPolicy Policy used for devices with multiple SIM cards.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getAllowedCarriersResponse(in RadioResponseInfo info, in CarrierRestrictions carriers,
+ in SimLockMultiSimPolicy multiSimPolicy);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param mdn MDN if CDMA subscription is available
+ * @param hSid is a comma separated list of H_SID (Home SID) if CDMA subscription is available,
+ * in decimal format
+ * @param hNid is a comma separated list of H_NID (Home NID) if CDMA subscription is available,
+ * in decimal format
+ * @param min MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
+ * @param prl PRL version if CDMA subscription is available
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:NOT_PROVISIONED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaSubscriptionResponse(in RadioResponseInfo info, in String mdn, in String hSid,
+ in String hNid, in String min, in String prl);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param source CDMA subscription source
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaSubscriptionSourceResponse(
+ in RadioResponseInfo info, in CdmaSubscriptionSource source);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param response 0 is the TS 27.007 service class bit vector of services for which the
+ * specified barring facility is active. "0" means "disabled for all"
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getFacilityLockForAppResponse(in RadioResponseInfo info, in int response);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cardStatus ICC card status as defined by CardStatus
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getIccCardStatusResponse(in RadioResponseInfo info, in CardStatus cardStatus);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param imsi String containing the IMSI
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:SIM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getImsiForAppResponse(in RadioResponseInfo info, in String imsi);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param capacity Response capacity enum indicating response processing status
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void getSimPhonebookCapacityResponse(in RadioResponseInfo info, in PhonebookCapacity capacity);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void getSimPhonebookRecordsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccCloseLogicalChannelResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param iccIo ICC IO operation response
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_PIN2
+ * RadioError:SIM_PUK2
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:SIM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccIoForAppResponse(in RadioResponseInfo info, in IccIoResult iccIo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param channelId session id of the logical channel.
+ * @param selectResponse Contains the select response for the open channel command with one
+ * byte per integer
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:MISSING_RESOURCE
+ * RadioError:NO_SUCH_ELEMENT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ERR
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MISSING_RESOURCE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccOpenLogicalChannelResponse(
+ in RadioResponseInfo info, in int channelId, in byte[] selectResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccTransmitApduBasicChannelResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccTransmitApduLogicalChannelResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void reportStkServiceIsRunningResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * 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:SIM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void requestIccSimAuthenticationResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @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
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendEnvelopeResponse(in RadioResponseInfo info, in String commandResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param iccIo IccIoResult corresponding to ICC IO response
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendEnvelopeWithStatusResponse(in RadioResponseInfo info, in IccIoResult iccIo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendTerminalResponseToSimResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setAllowedCarriersResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:RIL_E_SUCCESS
+ * RadioError:RIL_E_RADIO_NOT_AVAILABLE
+ * RadioError:SIM_ABSENT
+ * RadioError:RIL_E_REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_INTERNAL_FAILURE
+ */
+ void setCarrierInfoForImsiEncryptionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_ABSENT
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setCdmaSubscriptionSourceResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param retry 0 is the number of retries remaining, or -1 if unknown
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setFacilityLockForAppResponse(in RadioResponseInfo info, in int retry);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SIM_ERR (indicates a timeout or other issue making the SIM unresponsive)
+ */
+ void setSimCardPowerResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_SUPPORTED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setUiccSubscriptionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_PUK2
+ */
+ void supplyIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (PUK is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPuk2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (PUK is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPukForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param persoType SIM Personalization type
+ * @param remainingRetries postiive values indicates number of retries remaining, must be equal
+ * to -1 if number of retries is infinite.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:PASSWORD_INCORRECT (code is invalid)
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplySimDepersonalizationResponse(
+ in RadioResponseInfo info, in PersoSubstate persoType, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param updatedRecordIndex The index of the updated or inserted record in the phonebook and
+ * the minimum value is 1
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SIM_ERR
+ * RadioError:NO_SUCH_ENTRY
+ * RadioError:NO_RESOURCES
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void updateSimPhonebookRecordsResponse(in RadioResponseInfo info, in int updatedRecordIndex);
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IccIo.aidl b/radio/aidl/android/hardware/radio/sim/IccIo.aidl
new file mode 100644
index 0000000..be5e832
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IccIo.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable IccIo {
+ /**
+ * One of the commands listed for TS 27.007 +CRSM
+ */
+ int command;
+ /**
+ * EF ID
+ */
+ int fileId;
+ /**
+ * "pathid" from TS 27.007 +CRSM command. Path is in hex ASCII format eg "7f205f70"
+ * Path must always be provided.
+ */
+ String path;
+ /**
+ * Value of p1 defined as per 3GPP TS 51.011
+ */
+ int p1;
+ /**
+ * Value of p2 defined as per 3GPP TS 51.011
+ */
+ int p2;
+ /**
+ * Value of p3 defined as per 3GPP TS 51.011
+ */
+ int p3;
+ /**
+ * Information to be written to the SIM
+ */
+ String data;
+ String pin2;
+ /**
+ * AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ */
+ String aid;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl
new file mode 100644
index 0000000..8aa9e8f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+@VintfStability
+parcelable IccIoResult {
+ int sw1;
+ int sw2;
+ /**
+ * In hex string format ([a-fA-F0-9]*), except for SIM_AUTHENTICATION response for which it is
+ * in Base64 format, see 3GPP TS 31.102 7.1.2
+ */
+ String simResponse;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
new file mode 100644
index 0000000..e8b3807
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+/**
+ * Carrier specific Information sent by the carrier, which will be used to encrypt IMSI and IMPI.
+ */
+@VintfStability
+parcelable ImsiEncryptionInfo {
+ /**
+ * Key type to be used for ePDG
+ */
+ const byte PUBLIC_KEY_TYPE_EPDG = 1;
+ /**
+ * Key type to be used for WLAN
+ */
+ const byte PUBLIC_KEY_TYPE_WLAN = 2;
+
+ /**
+ * MCC of the Carrier.
+ */
+ String mcc;
+ /**
+ * MNC of the Carrier.
+ */
+ String mnc;
+ /**
+ * Carrier specific key to be used for encryption. It must be opaque to the framework.
+ * This is the byte-stream representation of the key. This is an external encoded form for the
+ * key used when a standard representation of the key is needed outside the Java Virtual
+ * Machine, as when transmitting the key to some other party. The key is encoded according to a
+ * standard format (such as X.509 SubjectPublicKeyInfo or PKCS#8), and is returned using the
+ * getEncoded method as defined on the java.security.Key interface.
+ */
+ byte[] carrierKey;
+ /**
+ * This is an opaque value we're given by the carrier and is returned to the carrier.
+ * This is used by the server to help it locate the private key to decrypt the
+ * permanent identity.
+ */
+ String keyIdentifier;
+ /**
+ * Date-time in UTC when the key will expire.
+ */
+ long expirationTime;
+ /**
+ * Public key type from carrier certificate.
+ * Values are PUBLIC_KEY_TYPE_
+ */
+ byte keyType;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl
new file mode 100644
index 0000000..953335b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+/**
+ * Enum representing the status of the received PB indication.
+ */
+@VintfStability
+@Backing(type="byte")
+enum PbReceivedStatus {
+ /**
+ * Indicates that retrieval is fine.
+ */
+ PB_RECEIVED_OK = 1,
+ /**
+ * Indicates that an error happened. In general, the process can't be restored soon.
+ */
+ PB_RECEIVED_ERROR = 2,
+ /**
+ * Indicates that the process is interrupted. In this case, the modem might need resources and
+ * interrupt the current process, or it is timed out to receive all indications, and client can
+ * retry soon.
+ */
+ PB_RECEIVED_ABORT = 3,
+ /**
+ * Indicates that the whole process is finished with a full chunk of phonebook data, meaning
+ * this is the last indication with the remaining data.
+ */
+ PB_RECEIVED_FINAL = 4,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl
new file mode 100644
index 0000000..f01ff61
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+/**
+ * Additional personalization categories in addition to those specified in 3GPP TS 22.022 and
+ * 3GPP2 C.S0068-0.
+ */
+@VintfStability
+@Backing(type="int")
+enum PersoSubstate {
+ /**
+ * Initial state
+ */
+ UNKNOWN,
+ /**
+ * In between each lock transition
+ */
+ IN_PROGRESS,
+ /**
+ * When either SIM or RUIM Perso is finished since each app must only have 1 active perso
+ * involved.
+ */
+ READY,
+ SIM_NETWORK,
+ SIM_NETWORK_SUBSET,
+ SIM_CORPORATE,
+ SIM_SERVICE_PROVIDER,
+ SIM_SIM,
+ /**
+ * The corresponding perso lock is blocked
+ */
+ SIM_NETWORK_PUK,
+ SIM_NETWORK_SUBSET_PUK,
+ SIM_CORPORATE_PUK,
+ SIM_SERVICE_PROVIDER_PUK,
+ SIM_SIM_PUK,
+ RUIM_NETWORK1,
+ RUIM_NETWORK2,
+ RUIM_HRPD,
+ RUIM_CORPORATE,
+ RUIM_SERVICE_PROVIDER,
+ RUIM_RUIM,
+ /**
+ * The corresponding perso lock is blocked
+ */
+ RUIM_NETWORK1_PUK,
+ RUIM_NETWORK2_PUK,
+ RUIM_HRPD_PUK,
+ RUIM_CORPORATE_PUK,
+ RUIM_SERVICE_PROVIDER_PUK,
+ RUIM_RUIM_PUK,
+ /**
+ * The device is personalized using the content of the Service Provider Name (SPN) in the SIM
+ * card.
+ */
+ SIM_SPN,
+ SIM_SPN_PUK,
+ /**
+ * Service Provider and Equivalent Home PLMN. The device is personalized using both the content
+ * of the GID1 (equivalent to service provider personalization) and the content of the
+ * Equivalent Home PLMN (EHPLMN) in the SIM card. If the GID1 in the SIM is absent, then just
+ * the content of the Equivalent Home PLMN is matched.
+ */
+ SIM_SP_EHPLMN,
+ SIM_SP_EHPLMN_PUK,
+ /**
+ * Device is personalized using the first digits of the ICCID of the SIM card.
+ */
+ SIM_ICCID,
+ SIM_ICCID_PUK,
+ /**
+ * Device is personalized using the content of the IMPI in the ISIM.
+ */
+ SIM_IMPI,
+ SIM_IMPI_PUK,
+ /**
+ * Network Subset and Service Provider. Device is personalized using both the content of GID1
+ * (equivalent to service provider personalization) and the first digits of the IMSI (equivalent
+ * to network subset personalization).
+ */
+ SIM_NS_SP,
+ SIM_NS_SP_PUK,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl
new file mode 100644
index 0000000..23a0208
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable PhonebookCapacity {
+ /**
+ * Maximum number of ADN records possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxAdnRecords;
+ /**
+ * Used ADN records in the SIM phonebook. Needs to be non-negative.
+ */
+ int usedAdnRecords;
+ /**
+ * Maximum email records possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxEmailRecords;
+ /**
+ * Used email records in the SIM phonebook. Needs to be non-negative.
+ */
+ int usedEmailRecords;
+ /**
+ * Maximum additional number records possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxAdditionalNumberRecords;
+ /**
+ * Used additional number records in the SIM phonebook. Needs to be non-negative.
+ */
+ int usedAdditionalNumberRecords;
+ /**
+ * Maximum name length possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxNameLen;
+ /**
+ * Maximum number length possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxNumberLen;
+ /**
+ * Maximum email length possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxEmailLen;
+ /**
+ * Maximum additional number length possible in the SIM phonebook. Needs to be non-negative.
+ */
+ int maxAdditionalNumberLen;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl
new file mode 100644
index 0000000..03326b8
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+/**
+ * Phonebook-record-information specified by EF_ADN (Abbreviated dialing numbers) record of SIM
+ * as per 3GPP spec 31.102 v15 Section-4.4.2.3.
+ */
+@VintfStability
+parcelable PhonebookRecordInfo {
+ /**
+ * Record index. 0 is used to insert a record
+ */
+ int recordId;
+ /**
+ * Alpha identifier, empty string if no value
+ */
+ String name;
+ /**
+ * Dialling number, empty string if no value
+ */
+ String number;
+ /**
+ * Email addresses
+ */
+ String[] emails;
+ /**
+ * Additional numbers
+ */
+ String[] additionalNumbers;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/PinState.aidl b/radio/aidl/android/hardware/radio/sim/PinState.aidl
new file mode 100644
index 0000000..03b8e4e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/PinState.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+@VintfStability
+@Backing(type="int")
+enum PinState {
+ UNKNOWN,
+ ENABLED_NOT_VERIFIED,
+ ENABLED_VERIFIED,
+ DISABLED,
+ ENABLED_BLOCKED,
+ ENABLED_PERM_BLOCKED,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl
new file mode 100644
index 0000000..3c152d6
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable SelectUiccSub {
+ const int SUBSCRIPTION_TYPE_1 = 0;
+ const int SUBSCRIPTION_TYPE_2 = 1;
+ const int SUBSCRIPTION_TYPE_3 = 2;
+
+ const int ACT_STATUS_DEACTIVATE = 0;
+ const int ACT_STATUS_ACTIVATE = 1;
+
+ int slot;
+ /**
+ * Array subscriptor from applications[RadioConst:CARD_MAX_APPS] in getIccCardStatus()
+ */
+ int appIndex;
+ /**
+ * Values are SUBSCRIPTION_TYPE_
+ */
+ int subType;
+ /**
+ * Values are ACT_STATUS_
+ */
+ int actStatus;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/SimApdu.aidl b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl
new file mode 100644
index 0000000..1dc707e
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable SimApdu {
+ /**
+ * "sessionid" from TS 27.007 +CGLA command. Must be ignored for +CSIM command.
+ */
+ int sessionId;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ */
+ int cla;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ */
+ int instruction;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ */
+ int p1;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ */
+ int p2;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ * A negative P3 implies a 4 byte APDU.
+ */
+ int p3;
+ /**
+ * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands)
+ * In hex string format ([a-fA-F0-9]*)
+ */
+ String data;
+}
diff --git a/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
new file mode 100644
index 0000000..6c03122
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.sim;
+
+@VintfStability
+@Backing(type="int")
+enum SimLockMultiSimPolicy {
+ /**
+ * Indicates that configuration applies to each slot independently.
+ */
+ NO_MULTISIM_POLICY,
+ /**
+ * Indicates that any SIM card can be used as far as one valid card is present in the device.
+ * For the modem, a SIM card is valid when its content (i.e. MCC, MNC, GID, SPN) matches the
+ * carrier restriction configuration.
+ */
+ ONE_VALID_SIM_MUST_BE_PRESENT,
+}
diff --git a/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl
new file mode 100644
index 0000000..483a54c
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+@VintfStability
+parcelable SimRefreshResult {
+ /**
+ * A file on SIM has been updated.
+ */
+ const int TYPE_SIM_FILE_UPDATE = 0;
+ /**
+ * SIM initialized. All files should be re-read.
+ */
+ const int TYPE_SIM_INIT = 1;
+ /**
+ * SIM reset. SIM power required, SIM may be locked and all files must be re-read.
+ */
+ const int TYPE_SIM_RESET = 2;
+
+ /**
+ * Values are TYPE_SIM_
+ */
+ int type;
+ /**
+ * EFID of the updated file if the result is SIM_FILE_UPDATE or 0 for any other result.
+ */
+ int efId;
+ /**
+ * AID (application ID) of the card application. See ETSI 102.221 8.1 and 101.220 4.
+ * For TYPE_SIM_FILE_UPDATE result, it must be set to AID of application in which updated EF
+ * resides or it must be empty string if EF is outside of an application. For TYPE_SIM_INIT
+ * result, this field is set to AID of application that caused REFRESH. For TYPE_SIM_RESET
+ * result, it is empty string.
+ */
+ String aid;
+}
diff --git a/radio/aidl/android/hardware/radio/translate-ndk.cpp b/radio/aidl/android/hardware/radio/translate-ndk.cpp
deleted file mode 100644
index 0492ade..0000000
--- a/radio/aidl/android/hardware/radio/translate-ndk.cpp
+++ /dev/null
@@ -1,7404 +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.
- */
-
-#include "android/hardware/radio/translate-ndk.h"
-
-namespace android::h2a {
-
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::ADDRESS_MAX ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::ADDRESS_MAX));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::SUBADDRESS_MAX ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::SUBADDRESS_MAX));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::BEARER_DATA_MAX ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::BEARER_DATA_MAX));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_MAX_SND_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_MAX_SND_SIZE));
-static_assert(
- aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_EO_DATA_SEGMENT_MAX ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_EO_DATA_SEGMENT_MAX));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::MAX_UD_HEADERS ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::MAX_UD_HEADERS));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::USER_DATA_MAX ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::USER_DATA_MAX));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_LARGE_PIC_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_LARGE_PIC_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_SMALL_PIC_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_SMALL_PIC_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_VAR_PIC_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_VAR_PIC_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_ANIM_NUM_BITMAPS ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_ANIM_NUM_BITMAPS));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_LARGE_BITMAP_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_LARGE_BITMAP_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_SMALL_BITMAP_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_SMALL_BITMAP_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_OTHER_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_OTHER_SIZE));
-static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::IP_ADDRESS_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioCdmaSmsConst>(
- ::android::hardware::radio::V1_0::RadioCdmaSmsConst::IP_ADDRESS_SIZE));
-
-static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED ==
- static_cast<aidl::android::hardware::radio::RadioResponseType>(
- ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED));
-static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED_ACK ==
- static_cast<aidl::android::hardware::radio::RadioResponseType>(
- ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED_ACK));
-static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED_ACK_EXP ==
- static_cast<aidl::android::hardware::radio::RadioResponseType>(
- ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED_ACK_EXP));
-
-static_assert(aidl::android::hardware::radio::RadioIndicationType::UNSOLICITED ==
- static_cast<aidl::android::hardware::radio::RadioIndicationType>(
- ::android::hardware::radio::V1_0::RadioIndicationType::UNSOLICITED));
-static_assert(aidl::android::hardware::radio::RadioIndicationType::UNSOLICITED_ACK_EXP ==
- static_cast<aidl::android::hardware::radio::RadioIndicationType>(
- ::android::hardware::radio::V1_0::RadioIndicationType::UNSOLICITED_ACK_EXP));
-
-static_assert(aidl::android::hardware::radio::RestrictedState::NONE ==
- static_cast<aidl::android::hardware::radio::RestrictedState>(
- ::android::hardware::radio::V1_0::RestrictedState::NONE));
-static_assert(aidl::android::hardware::radio::RestrictedState::CS_EMERGENCY ==
- static_cast<aidl::android::hardware::radio::RestrictedState>(
- ::android::hardware::radio::V1_0::RestrictedState::CS_EMERGENCY));
-static_assert(aidl::android::hardware::radio::RestrictedState::CS_NORMAL ==
- static_cast<aidl::android::hardware::radio::RestrictedState>(
- ::android::hardware::radio::V1_0::RestrictedState::CS_NORMAL));
-static_assert(aidl::android::hardware::radio::RestrictedState::CS_ALL ==
- static_cast<aidl::android::hardware::radio::RestrictedState>(
- ::android::hardware::radio::V1_0::RestrictedState::CS_ALL));
-static_assert(aidl::android::hardware::radio::RestrictedState::PS_ALL ==
- static_cast<aidl::android::hardware::radio::RestrictedState>(
- ::android::hardware::radio::V1_0::RestrictedState::PS_ALL));
-
-static_assert(aidl::android::hardware::radio::CardState::ABSENT ==
- static_cast<aidl::android::hardware::radio::CardState>(
- ::android::hardware::radio::V1_0::CardState::ABSENT));
-static_assert(aidl::android::hardware::radio::CardState::PRESENT ==
- static_cast<aidl::android::hardware::radio::CardState>(
- ::android::hardware::radio::V1_0::CardState::PRESENT));
-static_assert(aidl::android::hardware::radio::CardState::ERROR ==
- static_cast<aidl::android::hardware::radio::CardState>(
- ::android::hardware::radio::V1_0::CardState::ERROR));
-static_assert(aidl::android::hardware::radio::CardState::RESTRICTED ==
- static_cast<aidl::android::hardware::radio::CardState>(
- ::android::hardware::radio::V1_0::CardState::RESTRICTED));
-
-static_assert(aidl::android::hardware::radio::PinState::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::UNKNOWN));
-static_assert(aidl::android::hardware::radio::PinState::ENABLED_NOT_VERIFIED ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::ENABLED_NOT_VERIFIED));
-static_assert(aidl::android::hardware::radio::PinState::ENABLED_VERIFIED ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::ENABLED_VERIFIED));
-static_assert(aidl::android::hardware::radio::PinState::DISABLED ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::DISABLED));
-static_assert(aidl::android::hardware::radio::PinState::ENABLED_BLOCKED ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::ENABLED_BLOCKED));
-static_assert(aidl::android::hardware::radio::PinState::ENABLED_PERM_BLOCKED ==
- static_cast<aidl::android::hardware::radio::PinState>(
- ::android::hardware::radio::V1_0::PinState::ENABLED_PERM_BLOCKED));
-
-static_assert(aidl::android::hardware::radio::AppType::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::UNKNOWN));
-static_assert(aidl::android::hardware::radio::AppType::SIM ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::SIM));
-static_assert(aidl::android::hardware::radio::AppType::USIM ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::USIM));
-static_assert(aidl::android::hardware::radio::AppType::RUIM ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::RUIM));
-static_assert(aidl::android::hardware::radio::AppType::CSIM ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::CSIM));
-static_assert(aidl::android::hardware::radio::AppType::ISIM ==
- static_cast<aidl::android::hardware::radio::AppType>(
- ::android::hardware::radio::V1_0::AppType::ISIM));
-
-static_assert(aidl::android::hardware::radio::AppState::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::UNKNOWN));
-static_assert(aidl::android::hardware::radio::AppState::DETECTED ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::DETECTED));
-static_assert(aidl::android::hardware::radio::AppState::PIN ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::PIN));
-static_assert(aidl::android::hardware::radio::AppState::PUK ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::PUK));
-static_assert(aidl::android::hardware::radio::AppState::SUBSCRIPTION_PERSO ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::SUBSCRIPTION_PERSO));
-static_assert(aidl::android::hardware::radio::AppState::READY ==
- static_cast<aidl::android::hardware::radio::AppState>(
- ::android::hardware::radio::V1_0::AppState::READY));
-
-static_assert(aidl::android::hardware::radio::RadioState::OFF ==
- static_cast<aidl::android::hardware::radio::RadioState>(
- ::android::hardware::radio::V1_0::RadioState::OFF));
-static_assert(aidl::android::hardware::radio::RadioState::UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::RadioState>(
- ::android::hardware::radio::V1_0::RadioState::UNAVAILABLE));
-static_assert(aidl::android::hardware::radio::RadioState::ON ==
- static_cast<aidl::android::hardware::radio::RadioState>(
- ::android::hardware::radio::V1_0::RadioState::ON));
-
-static_assert(aidl::android::hardware::radio::SapConnectRsp::SUCCESS ==
- static_cast<aidl::android::hardware::radio::SapConnectRsp>(
- ::android::hardware::radio::V1_0::SapConnectRsp::SUCCESS));
-static_assert(aidl::android::hardware::radio::SapConnectRsp::CONNECT_FAILURE ==
- static_cast<aidl::android::hardware::radio::SapConnectRsp>(
- ::android::hardware::radio::V1_0::SapConnectRsp::CONNECT_FAILURE));
-static_assert(aidl::android::hardware::radio::SapConnectRsp::MSG_SIZE_TOO_LARGE ==
- static_cast<aidl::android::hardware::radio::SapConnectRsp>(
- ::android::hardware::radio::V1_0::SapConnectRsp::MSG_SIZE_TOO_LARGE));
-static_assert(aidl::android::hardware::radio::SapConnectRsp::MSG_SIZE_TOO_SMALL ==
- static_cast<aidl::android::hardware::radio::SapConnectRsp>(
- ::android::hardware::radio::V1_0::SapConnectRsp::MSG_SIZE_TOO_SMALL));
-static_assert(aidl::android::hardware::radio::SapConnectRsp::CONNECT_OK_CALL_ONGOING ==
- static_cast<aidl::android::hardware::radio::SapConnectRsp>(
- ::android::hardware::radio::V1_0::SapConnectRsp::CONNECT_OK_CALL_ONGOING));
-
-static_assert(aidl::android::hardware::radio::SapDisconnectType::GRACEFUL ==
- static_cast<aidl::android::hardware::radio::SapDisconnectType>(
- ::android::hardware::radio::V1_0::SapDisconnectType::GRACEFUL));
-static_assert(aidl::android::hardware::radio::SapDisconnectType::IMMEDIATE ==
- static_cast<aidl::android::hardware::radio::SapDisconnectType>(
- ::android::hardware::radio::V1_0::SapDisconnectType::IMMEDIATE));
-
-static_assert(aidl::android::hardware::radio::SapApduType::APDU ==
- static_cast<aidl::android::hardware::radio::SapApduType>(
- ::android::hardware::radio::V1_0::SapApduType::APDU));
-static_assert(aidl::android::hardware::radio::SapApduType::APDU7816 ==
- static_cast<aidl::android::hardware::radio::SapApduType>(
- ::android::hardware::radio::V1_0::SapApduType::APDU7816));
-
-static_assert(aidl::android::hardware::radio::SapResultCode::SUCCESS ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::SUCCESS));
-static_assert(aidl::android::hardware::radio::SapResultCode::GENERIC_FAILURE ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::GENERIC_FAILURE));
-static_assert(aidl::android::hardware::radio::SapResultCode::CARD_NOT_ACCESSSIBLE ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::CARD_NOT_ACCESSSIBLE));
-static_assert(aidl::android::hardware::radio::SapResultCode::CARD_ALREADY_POWERED_OFF ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::CARD_ALREADY_POWERED_OFF));
-static_assert(aidl::android::hardware::radio::SapResultCode::CARD_REMOVED ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::CARD_REMOVED));
-static_assert(aidl::android::hardware::radio::SapResultCode::CARD_ALREADY_POWERED_ON ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::CARD_ALREADY_POWERED_ON));
-static_assert(aidl::android::hardware::radio::SapResultCode::DATA_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::DATA_NOT_AVAILABLE));
-static_assert(aidl::android::hardware::radio::SapResultCode::NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::SapResultCode>(
- ::android::hardware::radio::V1_0::SapResultCode::NOT_SUPPORTED));
-
-static_assert(aidl::android::hardware::radio::SapStatus::UNKNOWN_ERROR ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::UNKNOWN_ERROR));
-static_assert(aidl::android::hardware::radio::SapStatus::CARD_RESET ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::CARD_RESET));
-static_assert(aidl::android::hardware::radio::SapStatus::CARD_NOT_ACCESSIBLE ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::CARD_NOT_ACCESSIBLE));
-static_assert(aidl::android::hardware::radio::SapStatus::CARD_REMOVED ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::CARD_REMOVED));
-static_assert(aidl::android::hardware::radio::SapStatus::CARD_INSERTED ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::CARD_INSERTED));
-static_assert(aidl::android::hardware::radio::SapStatus::RECOVERED ==
- static_cast<aidl::android::hardware::radio::SapStatus>(
- ::android::hardware::radio::V1_0::SapStatus::RECOVERED));
-
-static_assert(aidl::android::hardware::radio::SapTransferProtocol::T0 ==
- static_cast<aidl::android::hardware::radio::SapTransferProtocol>(
- ::android::hardware::radio::V1_0::SapTransferProtocol::T0));
-static_assert(aidl::android::hardware::radio::SapTransferProtocol::T1 ==
- static_cast<aidl::android::hardware::radio::SapTransferProtocol>(
- ::android::hardware::radio::V1_0::SapTransferProtocol::T1));
-
-static_assert(aidl::android::hardware::radio::CallState::ACTIVE ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::ACTIVE));
-static_assert(aidl::android::hardware::radio::CallState::HOLDING ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::HOLDING));
-static_assert(aidl::android::hardware::radio::CallState::DIALING ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::DIALING));
-static_assert(aidl::android::hardware::radio::CallState::ALERTING ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::ALERTING));
-static_assert(aidl::android::hardware::radio::CallState::INCOMING ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::INCOMING));
-static_assert(aidl::android::hardware::radio::CallState::WAITING ==
- static_cast<aidl::android::hardware::radio::CallState>(
- ::android::hardware::radio::V1_0::CallState::WAITING));
-
-static_assert(aidl::android::hardware::radio::UusType::TYPE1_IMPLICIT ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE1_IMPLICIT));
-static_assert(aidl::android::hardware::radio::UusType::TYPE1_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE1_REQUIRED));
-static_assert(aidl::android::hardware::radio::UusType::TYPE1_NOT_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE1_NOT_REQUIRED));
-static_assert(aidl::android::hardware::radio::UusType::TYPE2_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE2_REQUIRED));
-static_assert(aidl::android::hardware::radio::UusType::TYPE2_NOT_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE2_NOT_REQUIRED));
-static_assert(aidl::android::hardware::radio::UusType::TYPE3_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE3_REQUIRED));
-static_assert(aidl::android::hardware::radio::UusType::TYPE3_NOT_REQUIRED ==
- static_cast<aidl::android::hardware::radio::UusType>(
- ::android::hardware::radio::V1_0::UusType::TYPE3_NOT_REQUIRED));
-
-static_assert(aidl::android::hardware::radio::UusDcs::USP ==
- static_cast<aidl::android::hardware::radio::UusDcs>(
- ::android::hardware::radio::V1_0::UusDcs::USP));
-static_assert(aidl::android::hardware::radio::UusDcs::OSIHLP ==
- static_cast<aidl::android::hardware::radio::UusDcs>(
- ::android::hardware::radio::V1_0::UusDcs::OSIHLP));
-static_assert(aidl::android::hardware::radio::UusDcs::X244 ==
- static_cast<aidl::android::hardware::radio::UusDcs>(
- ::android::hardware::radio::V1_0::UusDcs::X244));
-static_assert(aidl::android::hardware::radio::UusDcs::RMCF ==
- static_cast<aidl::android::hardware::radio::UusDcs>(
- ::android::hardware::radio::V1_0::UusDcs::RMCF));
-static_assert(aidl::android::hardware::radio::UusDcs::IA5C ==
- static_cast<aidl::android::hardware::radio::UusDcs>(
- ::android::hardware::radio::V1_0::UusDcs::IA5C));
-
-static_assert(aidl::android::hardware::radio::CallPresentation::ALLOWED ==
- static_cast<aidl::android::hardware::radio::CallPresentation>(
- ::android::hardware::radio::V1_0::CallPresentation::ALLOWED));
-static_assert(aidl::android::hardware::radio::CallPresentation::RESTRICTED ==
- static_cast<aidl::android::hardware::radio::CallPresentation>(
- ::android::hardware::radio::V1_0::CallPresentation::RESTRICTED));
-static_assert(aidl::android::hardware::radio::CallPresentation::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CallPresentation>(
- ::android::hardware::radio::V1_0::CallPresentation::UNKNOWN));
-static_assert(aidl::android::hardware::radio::CallPresentation::PAYPHONE ==
- static_cast<aidl::android::hardware::radio::CallPresentation>(
- ::android::hardware::radio::V1_0::CallPresentation::PAYPHONE));
-
-static_assert(aidl::android::hardware::radio::Clir::DEFAULT ==
- static_cast<aidl::android::hardware::radio::Clir>(
- ::android::hardware::radio::V1_0::Clir::DEFAULT));
-static_assert(aidl::android::hardware::radio::Clir::INVOCATION ==
- static_cast<aidl::android::hardware::radio::Clir>(
- ::android::hardware::radio::V1_0::Clir::INVOCATION));
-static_assert(aidl::android::hardware::radio::Clir::SUPPRESSION ==
- static_cast<aidl::android::hardware::radio::Clir>(
- ::android::hardware::radio::V1_0::Clir::SUPPRESSION));
-
-static_assert(aidl::android::hardware::radio::LastCallFailCause::UNOBTAINABLE_NUMBER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::UNOBTAINABLE_NUMBER));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::NO_ROUTE_TO_DESTINATION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NO_ROUTE_TO_DESTINATION));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CHANNEL_UNACCEPTABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CHANNEL_UNACCEPTABLE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::OPERATOR_DETERMINED_BARRING ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OPERATOR_DETERMINED_BARRING));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NORMAL ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NORMAL));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::BUSY ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::BUSY));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_USER_RESPONDING ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NO_USER_RESPONDING));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_ANSWER_FROM_USER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NO_ANSWER_FROM_USER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CALL_REJECTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CALL_REJECTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NUMBER_CHANGED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NUMBER_CHANGED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::PREEMPTION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::PREEMPTION));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::DESTINATION_OUT_OF_ORDER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::DESTINATION_OUT_OF_ORDER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_NUMBER_FORMAT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::INVALID_NUMBER_FORMAT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::FACILITY_REJECTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::FACILITY_REJECTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RESP_TO_STATUS_ENQUIRY ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RESP_TO_STATUS_ENQUIRY));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NORMAL_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NORMAL_UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CONGESTION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CONGESTION));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_OUT_OF_ORDER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_OUT_OF_ORDER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::TEMPORARY_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::TEMPORARY_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::SWITCHING_EQUIPMENT_CONGESTION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- SWITCHING_EQUIPMENT_CONGESTION));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::ACCESS_INFORMATION_DISCARDED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::ACCESS_INFORMATION_DISCARDED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::
- REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::RESOURCES_UNAVAILABLE_OR_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- RESOURCES_UNAVAILABLE_OR_UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::QOS_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::QOS_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::REQUESTED_FACILITY_NOT_SUBSCRIBED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- REQUESTED_FACILITY_NOT_SUBSCRIBED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::INCOMING_CALLS_BARRED_WITHIN_CUG ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- INCOMING_CALLS_BARRED_WITHIN_CUG));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_CAPABILITY_NOT_AUTHORIZED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- BEARER_CAPABILITY_NOT_AUTHORIZED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_CAPABILITY_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- BEARER_CAPABILITY_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::SERVICE_OPTION_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::SERVICE_OPTION_NOT_AVAILABLE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_SERVICE_NOT_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- BEARER_SERVICE_NOT_IMPLEMENTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::ACM_LIMIT_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::ACM_LIMIT_EXCEEDED));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::REQUESTED_FACILITY_NOT_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- REQUESTED_FACILITY_NOT_IMPLEMENTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::
- ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::SERVICE_OR_OPTION_NOT_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- SERVICE_OR_OPTION_NOT_IMPLEMENTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_TRANSACTION_IDENTIFIER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- INVALID_TRANSACTION_IDENTIFIER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::USER_NOT_MEMBER_OF_CUG ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::USER_NOT_MEMBER_OF_CUG));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::INCOMPATIBLE_DESTINATION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::INCOMPATIBLE_DESTINATION));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::INVALID_TRANSIT_NW_SELECTION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::INVALID_TRANSIT_NW_SELECTION));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::SEMANTICALLY_INCORRECT_MESSAGE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- SEMANTICALLY_INCORRECT_MESSAGE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_MANDATORY_INFORMATION ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- INVALID_MANDATORY_INFORMATION));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::MESSAGE_TYPE_NON_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::MESSAGE_TYPE_NON_IMPLEMENTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::INFORMATION_ELEMENT_NON_EXISTENT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- INFORMATION_ELEMENT_NON_EXISTENT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CONDITIONAL_IE_ERROR ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CONDITIONAL_IE_ERROR));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::RECOVERY_ON_TIMER_EXPIRED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RECOVERY_ON_TIMER_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::PROTOCOL_ERROR_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::PROTOCOL_ERROR_UNSPECIFIED));
-static_assert(
- aidl::android::hardware::radio::LastCallFailCause::INTERWORKING_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::INTERWORKING_UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CALL_BARRED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CALL_BARRED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::FDN_BLOCKED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::FDN_BLOCKED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::IMSI_UNKNOWN_IN_VLR ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::IMSI_UNKNOWN_IN_VLR));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::IMEI_NOT_ACCEPTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::IMEI_NOT_ACCEPTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_USSD ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_USSD));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_SS ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_SS));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_DIAL ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_DIAL));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_OFF ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_OFF));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OUT_OF_SERVICE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OUT_OF_SERVICE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_VALID_SIM ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NO_VALID_SIM));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_INTERNAL_ERROR ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_INTERNAL_ERROR));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_RESP_TIMEOUT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_RESP_TIMEOUT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_REJECT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_REJECT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_ACCESS_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_ACCESS_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_LINK_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_LINK_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_LINK_LOST ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_LINK_LOST));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_UPLINK_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_UPLINK_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_SETUP_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_SETUP_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_RELEASE_NORMAL ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_RELEASE_NORMAL));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_RELEASE_ABNORMAL ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_RELEASE_ABNORMAL));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::ACCESS_CLASS_BLOCKED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::ACCESS_CLASS_BLOCKED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_DETACH ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_DETACH));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_LOCKED_UNTIL_POWER_CYCLE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::
- CDMA_LOCKED_UNTIL_POWER_CYCLE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_DROP ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_DROP));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_INTERCEPT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_INTERCEPT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_REORDER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_REORDER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_SO_REJECT ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_SO_REJECT));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_RETRY_ORDER ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_RETRY_ORDER));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_ACCESS_FAILURE ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_ACCESS_FAILURE));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_PREEMPTED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_PREEMPTED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_NOT_EMERGENCY ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_NOT_EMERGENCY));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_ACCESS_BLOCKED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_ACCESS_BLOCKED));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_1 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_1));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_2 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_2));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_3 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_3));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_4 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_4));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_5 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_5));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_6 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_6));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_7 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_7));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_8 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_8));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_9 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_9));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_10 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_10));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_11 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_11));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_12 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_12));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_13 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_13));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_14 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_14));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_15 ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_15));
-static_assert(aidl::android::hardware::radio::LastCallFailCause::ERROR_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::LastCallFailCause>(
- ::android::hardware::radio::V1_0::LastCallFailCause::ERROR_UNSPECIFIED));
-
-static_assert(aidl::android::hardware::radio::HardwareConfigType::MODEM ==
- static_cast<aidl::android::hardware::radio::HardwareConfigType>(
- ::android::hardware::radio::V1_0::HardwareConfigType::MODEM));
-static_assert(aidl::android::hardware::radio::HardwareConfigType::SIM ==
- static_cast<aidl::android::hardware::radio::HardwareConfigType>(
- ::android::hardware::radio::V1_0::HardwareConfigType::SIM));
-
-static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_NOT_SEARCHING_OP ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_NOT_SEARCHING_OP));
-static_assert(aidl::android::hardware::radio::RegState::REG_HOME ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::REG_HOME));
-static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_SEARCHING_OP ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_SEARCHING_OP));
-static_assert(aidl::android::hardware::radio::RegState::REG_DENIED ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::REG_DENIED));
-static_assert(aidl::android::hardware::radio::RegState::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::UNKNOWN));
-static_assert(aidl::android::hardware::radio::RegState::REG_ROAMING ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::REG_ROAMING));
-static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_NOT_SEARCHING_OP_EM ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_NOT_SEARCHING_OP_EM));
-static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_SEARCHING_OP_EM ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_SEARCHING_OP_EM));
-static_assert(aidl::android::hardware::radio::RegState::REG_DENIED_EM ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::REG_DENIED_EM));
-static_assert(aidl::android::hardware::radio::RegState::UNKNOWN_EM ==
- static_cast<aidl::android::hardware::radio::RegState>(
- ::android::hardware::radio::V1_0::RegState::UNKNOWN_EM));
-
-static_assert(aidl::android::hardware::radio::DataProfileId::DEFAULT ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::DEFAULT));
-static_assert(aidl::android::hardware::radio::DataProfileId::TETHERED ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::TETHERED));
-static_assert(aidl::android::hardware::radio::DataProfileId::IMS ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::IMS));
-static_assert(aidl::android::hardware::radio::DataProfileId::FOTA ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::FOTA));
-static_assert(aidl::android::hardware::radio::DataProfileId::CBS ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::CBS));
-static_assert(aidl::android::hardware::radio::DataProfileId::OEM_BASE ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::OEM_BASE));
-static_assert(aidl::android::hardware::radio::DataProfileId::INVALID ==
- static_cast<aidl::android::hardware::radio::DataProfileId>(
- ::android::hardware::radio::V1_0::DataProfileId::INVALID));
-
-static_assert(aidl::android::hardware::radio::SmsAcknowledgeFailCause::MEMORY_CAPACITY_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::SmsAcknowledgeFailCause>(
- ::android::hardware::radio::V1_0::SmsAcknowledgeFailCause::
- MEMORY_CAPACITY_EXCEEDED));
-static_assert(
- aidl::android::hardware::radio::SmsAcknowledgeFailCause::UNSPECIFIED_ERROR ==
- static_cast<aidl::android::hardware::radio::SmsAcknowledgeFailCause>(
- ::android::hardware::radio::V1_0::SmsAcknowledgeFailCause::UNSPECIFIED_ERROR));
-
-static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::DISABLE ==
- static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(
- ::android::hardware::radio::V1_0::CallForwardInfoStatus::DISABLE));
-static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::ENABLE ==
- static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(
- ::android::hardware::radio::V1_0::CallForwardInfoStatus::ENABLE));
-static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::INTERROGATE ==
- static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(
- ::android::hardware::radio::V1_0::CallForwardInfoStatus::INTERROGATE));
-static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::REGISTRATION ==
- static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(
- ::android::hardware::radio::V1_0::CallForwardInfoStatus::REGISTRATION));
-static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::ERASURE ==
- static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(
- ::android::hardware::radio::V1_0::CallForwardInfoStatus::ERASURE));
-
-static_assert(aidl::android::hardware::radio::ClipStatus::CLIP_PROVISIONED ==
- static_cast<aidl::android::hardware::radio::ClipStatus>(
- ::android::hardware::radio::V1_0::ClipStatus::CLIP_PROVISIONED));
-static_assert(aidl::android::hardware::radio::ClipStatus::CLIP_UNPROVISIONED ==
- static_cast<aidl::android::hardware::radio::ClipStatus>(
- ::android::hardware::radio::V1_0::ClipStatus::CLIP_UNPROVISIONED));
-static_assert(aidl::android::hardware::radio::ClipStatus::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::ClipStatus>(
- ::android::hardware::radio::V1_0::ClipStatus::UNKNOWN));
-
-static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::REC_UNREAD ==
- static_cast<aidl::android::hardware::radio::SmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::SmsWriteArgsStatus::REC_UNREAD));
-static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::REC_READ ==
- static_cast<aidl::android::hardware::radio::SmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::SmsWriteArgsStatus::REC_READ));
-static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::STO_UNSENT ==
- static_cast<aidl::android::hardware::radio::SmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::SmsWriteArgsStatus::STO_UNSENT));
-static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::STO_SENT ==
- static_cast<aidl::android::hardware::radio::SmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::SmsWriteArgsStatus::STO_SENT));
-
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_EURO ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_EURO));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_USA ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_USA));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_JPN ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_JPN));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AUS ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AUS));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AUS_2 ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AUS_2));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_CELL_800 ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_CELL_800));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_PCS ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_PCS));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_JTACS ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_JTACS));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_KOREA_PCS ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_KOREA_PCS));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_5_450M ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_5_450M));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_IMT2000 ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_IMT2000));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_7_700M_2 ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_7_700M_2));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_8_1800M ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_8_1800M));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_9_900M ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_9_900M));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_10_800M_2 ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_10_800M_2));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_EURO_PAMR_400M ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_EURO_PAMR_400M));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AWS ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AWS));
-static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_USA_2500M ==
- static_cast<aidl::android::hardware::radio::RadioBandMode>(
- ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_USA_2500M));
-
-static_assert(aidl::android::hardware::radio::OperatorStatus::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::OperatorStatus>(
- ::android::hardware::radio::V1_0::OperatorStatus::UNKNOWN));
-static_assert(aidl::android::hardware::radio::OperatorStatus::AVAILABLE ==
- static_cast<aidl::android::hardware::radio::OperatorStatus>(
- ::android::hardware::radio::V1_0::OperatorStatus::AVAILABLE));
-static_assert(aidl::android::hardware::radio::OperatorStatus::CURRENT ==
- static_cast<aidl::android::hardware::radio::OperatorStatus>(
- ::android::hardware::radio::V1_0::OperatorStatus::CURRENT));
-static_assert(aidl::android::hardware::radio::OperatorStatus::FORBIDDEN ==
- static_cast<aidl::android::hardware::radio::OperatorStatus>(
- ::android::hardware::radio::V1_0::OperatorStatus::FORBIDDEN));
-
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_ONLY ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_ONLY));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA_AUTO ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA_AUTO));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::CDMA_EVDO_AUTO ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::CDMA_EVDO_AUTO));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::CDMA_ONLY ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::CDMA_ONLY));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::EVDO_ONLY ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::EVDO_ONLY));
-static_assert(
- aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA_CDMA_EVDO_AUTO ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA_CDMA_EVDO_AUTO));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_CDMA_EVDO ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_CDMA_EVDO));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_GSM_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_GSM_WCDMA));
-static_assert(
- aidl::android::hardware::radio::PreferredNetworkType::LTE_CMDA_EVDO_GSM_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_CMDA_EVDO_GSM_WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_ONLY ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_ONLY));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_ONLY ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_ONLY));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_LTE ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_LTE));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_LTE ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_LTE));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_WCDMA));
-static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_WCDMA_LTE ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_WCDMA_LTE));
-static_assert(
- aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_LTE ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_LTE));
-static_assert(
- aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::
- TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO));
-static_assert(
- aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA ==
- static_cast<aidl::android::hardware::radio::PreferredNetworkType>(
- ::android::hardware::radio::V1_0::PreferredNetworkType::
- TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA));
-
-static_assert(aidl::android::hardware::radio::CdmaSubscriptionSource::RUIM_SIM ==
- static_cast<aidl::android::hardware::radio::CdmaSubscriptionSource>(
- ::android::hardware::radio::V1_0::CdmaSubscriptionSource::RUIM_SIM));
-static_assert(aidl::android::hardware::radio::CdmaSubscriptionSource::NV ==
- static_cast<aidl::android::hardware::radio::CdmaSubscriptionSource>(
- ::android::hardware::radio::V1_0::CdmaSubscriptionSource::NV));
-
-static_assert(aidl::android::hardware::radio::CdmaRoamingType::HOME_NETWORK ==
- static_cast<aidl::android::hardware::radio::CdmaRoamingType>(
- ::android::hardware::radio::V1_0::CdmaRoamingType::HOME_NETWORK));
-static_assert(aidl::android::hardware::radio::CdmaRoamingType::AFFILIATED_ROAM ==
- static_cast<aidl::android::hardware::radio::CdmaRoamingType>(
- ::android::hardware::radio::V1_0::CdmaRoamingType::AFFILIATED_ROAM));
-static_assert(aidl::android::hardware::radio::CdmaRoamingType::ANY_ROAM ==
- static_cast<aidl::android::hardware::radio::CdmaRoamingType>(
- ::android::hardware::radio::V1_0::CdmaRoamingType::ANY_ROAM));
-
-static_assert(aidl::android::hardware::radio::TtyMode::OFF ==
- static_cast<aidl::android::hardware::radio::TtyMode>(
- ::android::hardware::radio::V1_0::TtyMode::OFF));
-static_assert(aidl::android::hardware::radio::TtyMode::FULL ==
- static_cast<aidl::android::hardware::radio::TtyMode>(
- ::android::hardware::radio::V1_0::TtyMode::FULL));
-static_assert(aidl::android::hardware::radio::TtyMode::HCO ==
- static_cast<aidl::android::hardware::radio::TtyMode>(
- ::android::hardware::radio::V1_0::TtyMode::HCO));
-static_assert(aidl::android::hardware::radio::TtyMode::VCO ==
- static_cast<aidl::android::hardware::radio::TtyMode>(
- ::android::hardware::radio::V1_0::TtyMode::VCO));
-
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_MEID ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_MEID));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_MIN ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_MIN));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_MDN ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_MDN));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_ACCOLC ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_ACCOLC));
-static_assert(aidl::android::hardware::radio::NvItem::DEVICE_MSL ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::DEVICE_MSL));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_RECONDITIONED_STATUS ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_RECONDITIONED_STATUS));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_ACTIVATION_DATE ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_ACTIVATION_DATE));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_TIMER ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_TIMER));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_CALLS ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_CALLS));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_DATA_TX ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_DATA_TX));
-static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_DATA_RX ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_DATA_RX));
-static_assert(aidl::android::hardware::radio::NvItem::OMADM_HFA_LEVEL ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::OMADM_HFA_LEVEL));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_NAI ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_NAI));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HOME_ADDRESS ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HOME_ADDRESS));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_AAA_AUTH ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_AAA_AUTH));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HA_AUTH ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HA_AUTH));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_PRI_HA_ADDR ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_PRI_HA_ADDR));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_SEC_HA_ADDR ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_SEC_HA_ADDR));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_REV_TUN_PREF ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_REV_TUN_PREF));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HA_SPI ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HA_SPI));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_AAA_SPI ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_AAA_SPI));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_MN_HA_SS ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_MN_HA_SS));
-static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_MN_AAA_SS ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_MN_AAA_SS));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_PRL_VERSION ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_PRL_VERSION));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_BC10 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_BC10));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_BC14 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_BC14));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO68 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_SO68));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO73_COP0 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_SO73_COP0));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO73_COP1TO7 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_SO73_COP1TO7));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_1X_ADVANCED_ENABLED ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_1X_ADVANCED_ENABLED));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_EHRPD_ENABLED ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_EHRPD_ENABLED));
-static_assert(aidl::android::hardware::radio::NvItem::CDMA_EHRPD_FORCED ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::CDMA_EHRPD_FORCED));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_25 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_25));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_26 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_26));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_41 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_41));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_25 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_25));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_26 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_26));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_41 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_41));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_25 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_25));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_26 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_26));
-static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_41 ==
- static_cast<aidl::android::hardware::radio::NvItem>(
- ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_41));
-
-static_assert(aidl::android::hardware::radio::ResetNvType::RELOAD ==
- static_cast<aidl::android::hardware::radio::ResetNvType>(
- ::android::hardware::radio::V1_0::ResetNvType::RELOAD));
-static_assert(aidl::android::hardware::radio::ResetNvType::ERASE ==
- static_cast<aidl::android::hardware::radio::ResetNvType>(
- ::android::hardware::radio::V1_0::ResetNvType::ERASE));
-static_assert(aidl::android::hardware::radio::ResetNvType::FACTORY_RESET ==
- static_cast<aidl::android::hardware::radio::ResetNvType>(
- ::android::hardware::radio::V1_0::ResetNvType::FACTORY_RESET));
-
-static_assert(aidl::android::hardware::radio::HardwareConfigState::ENABLED ==
- static_cast<aidl::android::hardware::radio::HardwareConfigState>(
- ::android::hardware::radio::V1_0::HardwareConfigState::ENABLED));
-static_assert(aidl::android::hardware::radio::HardwareConfigState::STANDBY ==
- static_cast<aidl::android::hardware::radio::HardwareConfigState>(
- ::android::hardware::radio::V1_0::HardwareConfigState::STANDBY));
-static_assert(aidl::android::hardware::radio::HardwareConfigState::DISABLED ==
- static_cast<aidl::android::hardware::radio::HardwareConfigState>(
- ::android::hardware::radio::V1_0::HardwareConfigState::DISABLED));
-
-static_assert(aidl::android::hardware::radio::LceStatus::NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::LceStatus>(
- ::android::hardware::radio::V1_0::LceStatus::NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::LceStatus::STOPPED ==
- static_cast<aidl::android::hardware::radio::LceStatus>(
- ::android::hardware::radio::V1_0::LceStatus::STOPPED));
-static_assert(aidl::android::hardware::radio::LceStatus::ACTIVE ==
- static_cast<aidl::android::hardware::radio::LceStatus>(
- ::android::hardware::radio::V1_0::LceStatus::ACTIVE));
-
-static_assert(aidl::android::hardware::radio::CarrierMatchType::ALL ==
- static_cast<aidl::android::hardware::radio::CarrierMatchType>(
- ::android::hardware::radio::V1_0::CarrierMatchType::ALL));
-static_assert(aidl::android::hardware::radio::CarrierMatchType::SPN ==
- static_cast<aidl::android::hardware::radio::CarrierMatchType>(
- ::android::hardware::radio::V1_0::CarrierMatchType::SPN));
-static_assert(aidl::android::hardware::radio::CarrierMatchType::IMSI_PREFIX ==
- static_cast<aidl::android::hardware::radio::CarrierMatchType>(
- ::android::hardware::radio::V1_0::CarrierMatchType::IMSI_PREFIX));
-static_assert(aidl::android::hardware::radio::CarrierMatchType::GID1 ==
- static_cast<aidl::android::hardware::radio::CarrierMatchType>(
- ::android::hardware::radio::V1_0::CarrierMatchType::GID1));
-static_assert(aidl::android::hardware::radio::CarrierMatchType::GID2 ==
- static_cast<aidl::android::hardware::radio::CarrierMatchType>(
- ::android::hardware::radio::V1_0::CarrierMatchType::GID2));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsDigitMode::FOUR_BIT ==
- static_cast<aidl::android::hardware::radio::CdmaSmsDigitMode>(
- ::android::hardware::radio::V1_0::CdmaSmsDigitMode::FOUR_BIT));
-static_assert(aidl::android::hardware::radio::CdmaSmsDigitMode::EIGHT_BIT ==
- static_cast<aidl::android::hardware::radio::CdmaSmsDigitMode>(
- ::android::hardware::radio::V1_0::CdmaSmsDigitMode::EIGHT_BIT));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberMode::NOT_DATA_NETWORK ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberMode>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberMode::NOT_DATA_NETWORK));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberMode::DATA_NETWORK ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberMode>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberMode::DATA_NETWORK));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::UNKNOWN));
-static_assert(
- aidl::android::hardware::radio::CdmaSmsNumberType::INTERNATIONAL_OR_DATA_IP ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::INTERNATIONAL_OR_DATA_IP));
-static_assert(
- aidl::android::hardware::radio::CdmaSmsNumberType::NATIONAL_OR_INTERNET_MAIL ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::NATIONAL_OR_INTERNET_MAIL));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::NETWORK ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::NETWORK));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::SUBSCRIBER ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::SUBSCRIBER));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::ALPHANUMERIC ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::ALPHANUMERIC));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::ABBREVIATED ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::ABBREVIATED));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::RESERVED_7 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberType::RESERVED_7));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::UNKNOWN));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::TELEPHONY ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::TELEPHONY));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_2 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_2));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::DATA ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::DATA));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::TELEX ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::TELEX));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_5 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_5));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_6 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_6));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_7 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_7));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_8 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_8));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::PRIVATE ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::PRIVATE));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_10 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_10));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_11 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_11));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_12 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_12));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_13 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_13));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_14 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_14));
-static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_15 ==
- static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_15));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsSubaddressType::NSAP ==
- static_cast<aidl::android::hardware::radio::CdmaSmsSubaddressType>(
- ::android::hardware::radio::V1_0::CdmaSmsSubaddressType::NSAP));
-static_assert(aidl::android::hardware::radio::CdmaSmsSubaddressType::USER_SPECIFIED ==
- static_cast<aidl::android::hardware::radio::CdmaSmsSubaddressType>(
- ::android::hardware::radio::V1_0::CdmaSmsSubaddressType::USER_SPECIFIED));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsErrorClass::NO_ERROR ==
- static_cast<aidl::android::hardware::radio::CdmaSmsErrorClass>(
- ::android::hardware::radio::V1_0::CdmaSmsErrorClass::NO_ERROR));
-static_assert(aidl::android::hardware::radio::CdmaSmsErrorClass::ERROR ==
- static_cast<aidl::android::hardware::radio::CdmaSmsErrorClass>(
- ::android::hardware::radio::V1_0::CdmaSmsErrorClass::ERROR));
-
-static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::REC_UNREAD ==
- static_cast<aidl::android::hardware::radio::CdmaSmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::REC_UNREAD));
-static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::REC_READ ==
- static_cast<aidl::android::hardware::radio::CdmaSmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::REC_READ));
-static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::STO_UNSENT ==
- static_cast<aidl::android::hardware::radio::CdmaSmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::STO_UNSENT));
-static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::STO_SENT ==
- static_cast<aidl::android::hardware::radio::CdmaSmsWriteArgsStatus>(
- ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::STO_SENT));
-
-static_assert(aidl::android::hardware::radio::CellInfoType::NONE ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::NONE));
-static_assert(aidl::android::hardware::radio::CellInfoType::GSM ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::GSM));
-static_assert(aidl::android::hardware::radio::CellInfoType::CDMA ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::CDMA));
-static_assert(aidl::android::hardware::radio::CellInfoType::LTE ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::LTE));
-static_assert(aidl::android::hardware::radio::CellInfoType::WCDMA ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::WCDMA));
-static_assert(aidl::android::hardware::radio::CellInfoType::TD_SCDMA ==
- static_cast<aidl::android::hardware::radio::CellInfoType>(
- ::android::hardware::radio::V1_0::CellInfoType::TD_SCDMA));
-
-static_assert(aidl::android::hardware::radio::TimeStampType::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::TimeStampType>(
- ::android::hardware::radio::V1_0::TimeStampType::UNKNOWN));
-static_assert(aidl::android::hardware::radio::TimeStampType::ANTENNA ==
- static_cast<aidl::android::hardware::radio::TimeStampType>(
- ::android::hardware::radio::V1_0::TimeStampType::ANTENNA));
-static_assert(aidl::android::hardware::radio::TimeStampType::MODEM ==
- static_cast<aidl::android::hardware::radio::TimeStampType>(
- ::android::hardware::radio::V1_0::TimeStampType::MODEM));
-static_assert(aidl::android::hardware::radio::TimeStampType::OEM_RIL ==
- static_cast<aidl::android::hardware::radio::TimeStampType>(
- ::android::hardware::radio::V1_0::TimeStampType::OEM_RIL));
-static_assert(aidl::android::hardware::radio::TimeStampType::JAVA_RIL ==
- static_cast<aidl::android::hardware::radio::TimeStampType>(
- ::android::hardware::radio::V1_0::TimeStampType::JAVA_RIL));
-
-static_assert(aidl::android::hardware::radio::ApnAuthType::NO_PAP_NO_CHAP ==
- static_cast<aidl::android::hardware::radio::ApnAuthType>(
- ::android::hardware::radio::V1_0::ApnAuthType::NO_PAP_NO_CHAP));
-static_assert(aidl::android::hardware::radio::ApnAuthType::PAP_NO_CHAP ==
- static_cast<aidl::android::hardware::radio::ApnAuthType>(
- ::android::hardware::radio::V1_0::ApnAuthType::PAP_NO_CHAP));
-static_assert(aidl::android::hardware::radio::ApnAuthType::NO_PAP_CHAP ==
- static_cast<aidl::android::hardware::radio::ApnAuthType>(
- ::android::hardware::radio::V1_0::ApnAuthType::NO_PAP_CHAP));
-static_assert(aidl::android::hardware::radio::ApnAuthType::PAP_CHAP ==
- static_cast<aidl::android::hardware::radio::ApnAuthType>(
- ::android::hardware::radio::V1_0::ApnAuthType::PAP_CHAP));
-
-static_assert(aidl::android::hardware::radio::RadioTechnologyFamily::THREE_GPP ==
- static_cast<aidl::android::hardware::radio::RadioTechnologyFamily>(
- ::android::hardware::radio::V1_0::RadioTechnologyFamily::THREE_GPP));
-static_assert(aidl::android::hardware::radio::RadioTechnologyFamily::THREE_GPP2 ==
- static_cast<aidl::android::hardware::radio::RadioTechnologyFamily>(
- ::android::hardware::radio::V1_0::RadioTechnologyFamily::THREE_GPP2));
-
-static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::CONFIGURED ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(
- ::android::hardware::radio::V1_0::RadioCapabilityPhase::CONFIGURED));
-static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::START ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(
- ::android::hardware::radio::V1_0::RadioCapabilityPhase::START));
-static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::APPLY ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(
- ::android::hardware::radio::V1_0::RadioCapabilityPhase::APPLY));
-static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::UNSOL_RSP ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(
- ::android::hardware::radio::V1_0::RadioCapabilityPhase::UNSOL_RSP));
-static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::FINISH ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(
- ::android::hardware::radio::V1_0::RadioCapabilityPhase::FINISH));
-
-static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::NONE ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityStatus>(
- ::android::hardware::radio::V1_0::RadioCapabilityStatus::NONE));
-static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::SUCCESS ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityStatus>(
- ::android::hardware::radio::V1_0::RadioCapabilityStatus::SUCCESS));
-static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::FAIL ==
- static_cast<aidl::android::hardware::radio::RadioCapabilityStatus>(
- ::android::hardware::radio::V1_0::RadioCapabilityStatus::FAIL));
-
-static_assert(aidl::android::hardware::radio::UssdModeType::NOTIFY ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::NOTIFY));
-static_assert(aidl::android::hardware::radio::UssdModeType::REQUEST ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::REQUEST));
-static_assert(aidl::android::hardware::radio::UssdModeType::NW_RELEASE ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::NW_RELEASE));
-static_assert(aidl::android::hardware::radio::UssdModeType::LOCAL_CLIENT ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::LOCAL_CLIENT));
-static_assert(aidl::android::hardware::radio::UssdModeType::NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::UssdModeType::NW_TIMEOUT ==
- static_cast<aidl::android::hardware::radio::UssdModeType>(
- ::android::hardware::radio::V1_0::UssdModeType::NW_TIMEOUT));
-
-static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_FILE_UPDATE ==
- static_cast<aidl::android::hardware::radio::SimRefreshType>(
- ::android::hardware::radio::V1_0::SimRefreshType::SIM_FILE_UPDATE));
-static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_INIT ==
- static_cast<aidl::android::hardware::radio::SimRefreshType>(
- ::android::hardware::radio::V1_0::SimRefreshType::SIM_INIT));
-static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_RESET ==
- static_cast<aidl::android::hardware::radio::SimRefreshType>(
- ::android::hardware::radio::V1_0::SimRefreshType::SIM_RESET));
-
-static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_STARTED ==
- static_cast<aidl::android::hardware::radio::SrvccState>(
- ::android::hardware::radio::V1_0::SrvccState::HANDOVER_STARTED));
-static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_COMPLETED ==
- static_cast<aidl::android::hardware::radio::SrvccState>(
- ::android::hardware::radio::V1_0::SrvccState::HANDOVER_COMPLETED));
-static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_FAILED ==
- static_cast<aidl::android::hardware::radio::SrvccState>(
- ::android::hardware::radio::V1_0::SrvccState::HANDOVER_FAILED));
-static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_CANCELED ==
- static_cast<aidl::android::hardware::radio::SrvccState>(
- ::android::hardware::radio::V1_0::SrvccState::HANDOVER_CANCELED));
-
-static_assert(aidl::android::hardware::radio::UiccSubActStatus::DEACTIVATE ==
- static_cast<aidl::android::hardware::radio::UiccSubActStatus>(
- ::android::hardware::radio::V1_0::UiccSubActStatus::DEACTIVATE));
-static_assert(aidl::android::hardware::radio::UiccSubActStatus::ACTIVATE ==
- static_cast<aidl::android::hardware::radio::UiccSubActStatus>(
- ::android::hardware::radio::V1_0::UiccSubActStatus::ACTIVATE));
-
-static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_1 ==
- static_cast<aidl::android::hardware::radio::SubscriptionType>(
- ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_1));
-static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_2 ==
- static_cast<aidl::android::hardware::radio::SubscriptionType>(
- ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_2));
-static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_3 ==
- static_cast<aidl::android::hardware::radio::SubscriptionType>(
- ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_3));
-
-static_assert(aidl::android::hardware::radio::DataProfileInfoType::COMMON ==
- static_cast<aidl::android::hardware::radio::DataProfileInfoType>(
- ::android::hardware::radio::V1_0::DataProfileInfoType::COMMON));
-static_assert(aidl::android::hardware::radio::DataProfileInfoType::THREE_GPP ==
- static_cast<aidl::android::hardware::radio::DataProfileInfoType>(
- ::android::hardware::radio::V1_0::DataProfileInfoType::THREE_GPP));
-static_assert(aidl::android::hardware::radio::DataProfileInfoType::THREE_GPP2 ==
- static_cast<aidl::android::hardware::radio::DataProfileInfoType>(
- ::android::hardware::radio::V1_0::DataProfileInfoType::THREE_GPP2));
-
-static_assert(aidl::android::hardware::radio::PhoneRestrictedState::NONE ==
- static_cast<aidl::android::hardware::radio::PhoneRestrictedState>(
- ::android::hardware::radio::V1_0::PhoneRestrictedState::NONE));
-static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_EMERGENCY ==
- static_cast<aidl::android::hardware::radio::PhoneRestrictedState>(
- ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_EMERGENCY));
-static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_NORMAL ==
- static_cast<aidl::android::hardware::radio::PhoneRestrictedState>(
- ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_NORMAL));
-static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_ALL ==
- static_cast<aidl::android::hardware::radio::PhoneRestrictedState>(
- ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_ALL));
-static_assert(aidl::android::hardware::radio::PhoneRestrictedState::PS_ALL ==
- static_cast<aidl::android::hardware::radio::PhoneRestrictedState>(
- ::android::hardware::radio::V1_0::PhoneRestrictedState::PS_ALL));
-
-static_assert(
- aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::ALLOWED ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::ALLOWED));
-static_assert(
- aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::RESTRICTED ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::RESTRICTED));
-static_assert(
- aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::UNKNOWN));
-
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::UNKNOWN));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::INTERNATIONAL ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::INTERNATIONAL));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::NATIONAL ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::NATIONAL));
-static_assert(
- aidl::android::hardware::radio::CdmaCallWaitingNumberType::NETWORK_SPECIFIC ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::NETWORK_SPECIFIC));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::SUBSCRIBER ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::SUBSCRIBER));
-
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::UNKNOWN));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::ISDN ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::ISDN));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::DATA ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::DATA));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::TELEX ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::TELEX));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::NATIONAL ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::NATIONAL));
-static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::PRIVATE ==
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(
- ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::PRIVATE));
-
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::SPL_UNLOCKED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SPL_UNLOCKED));
-static_assert(
- aidl::android::hardware::radio::CdmaOtaProvisionStatus::SPC_RETRIES_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SPC_RETRIES_EXCEEDED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::A_KEY_EXCHANGED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::A_KEY_EXCHANGED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::SSD_UPDATED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SSD_UPDATED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::NAM_DOWNLOADED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::NAM_DOWNLOADED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::MDN_DOWNLOADED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::MDN_DOWNLOADED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::IMSI_DOWNLOADED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::IMSI_DOWNLOADED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::PRL_DOWNLOADED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::PRL_DOWNLOADED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::COMMITTED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::COMMITTED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_STARTED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_STARTED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_STOPPED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_STOPPED));
-static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_ABORTED ==
- static_cast<aidl::android::hardware::radio::CdmaOtaProvisionStatus>(
- ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_ABORTED));
-
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::DISPLAY ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::DISPLAY));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CALLED_PARTY_NUMBER ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::CALLED_PARTY_NUMBER));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CALLING_PARTY_NUMBER ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::CALLING_PARTY_NUMBER));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CONNECTED_NUMBER ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::CONNECTED_NUMBER));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::SIGNAL ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::SIGNAL));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::REDIRECTING_NUMBER ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::REDIRECTING_NUMBER));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::LINE_CONTROL ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::LINE_CONTROL));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::EXTENDED_DISPLAY ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::EXTENDED_DISPLAY));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_CLIR ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_CLIR));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_RELEASE ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_RELEASE));
-static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_AUDIO_CONTROL ==
- static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(
- ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_AUDIO_CONTROL));
-
-static_assert(aidl::android::hardware::radio::CdmaRedirectingReason::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::UNKNOWN));
-static_assert(
- aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_BUSY ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALL_FORWARDING_BUSY));
-static_assert(
- aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_NO_REPLY ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALL_FORWARDING_NO_REPLY));
-static_assert(
- aidl::android::hardware::radio::CdmaRedirectingReason::CALLED_DTE_OUT_OF_ORDER ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALLED_DTE_OUT_OF_ORDER));
-static_assert(
- aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_BY_THE_CALLED_DTE ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::
- CALL_FORWARDING_BY_THE_CALLED_DTE));
-static_assert(
- aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_UNCONDITIONAL ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::
- CALL_FORWARDING_UNCONDITIONAL));
-static_assert(aidl::android::hardware::radio::CdmaRedirectingReason::RESERVED ==
- static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- ::android::hardware::radio::V1_0::CdmaRedirectingReason::RESERVED));
-
-static_assert(aidl::android::hardware::radio::SsServiceType::CFU ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CFU));
-static_assert(aidl::android::hardware::radio::SsServiceType::CF_BUSY ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CF_BUSY));
-static_assert(aidl::android::hardware::radio::SsServiceType::CF_NO_REPLY ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CF_NO_REPLY));
-static_assert(aidl::android::hardware::radio::SsServiceType::CF_NOT_REACHABLE ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CF_NOT_REACHABLE));
-static_assert(aidl::android::hardware::radio::SsServiceType::CF_ALL ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CF_ALL));
-static_assert(aidl::android::hardware::radio::SsServiceType::CF_ALL_CONDITIONAL ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CF_ALL_CONDITIONAL));
-static_assert(aidl::android::hardware::radio::SsServiceType::CLIP ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CLIP));
-static_assert(aidl::android::hardware::radio::SsServiceType::CLIR ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::CLIR));
-static_assert(aidl::android::hardware::radio::SsServiceType::COLP ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::COLP));
-static_assert(aidl::android::hardware::radio::SsServiceType::COLR ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::COLR));
-static_assert(aidl::android::hardware::radio::SsServiceType::WAIT ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::WAIT));
-static_assert(aidl::android::hardware::radio::SsServiceType::BAOC ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::BAOC));
-static_assert(aidl::android::hardware::radio::SsServiceType::BAOIC ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::BAOIC));
-static_assert(aidl::android::hardware::radio::SsServiceType::BAOIC_EXC_HOME ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::BAOIC_EXC_HOME));
-static_assert(aidl::android::hardware::radio::SsServiceType::BAIC ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::BAIC));
-static_assert(aidl::android::hardware::radio::SsServiceType::BAIC_ROAMING ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::BAIC_ROAMING));
-static_assert(aidl::android::hardware::radio::SsServiceType::ALL_BARRING ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::ALL_BARRING));
-static_assert(aidl::android::hardware::radio::SsServiceType::OUTGOING_BARRING ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::OUTGOING_BARRING));
-static_assert(aidl::android::hardware::radio::SsServiceType::INCOMING_BARRING ==
- static_cast<aidl::android::hardware::radio::SsServiceType>(
- ::android::hardware::radio::V1_0::SsServiceType::INCOMING_BARRING));
-
-static_assert(aidl::android::hardware::radio::SsRequestType::ACTIVATION ==
- static_cast<aidl::android::hardware::radio::SsRequestType>(
- ::android::hardware::radio::V1_0::SsRequestType::ACTIVATION));
-static_assert(aidl::android::hardware::radio::SsRequestType::DEACTIVATION ==
- static_cast<aidl::android::hardware::radio::SsRequestType>(
- ::android::hardware::radio::V1_0::SsRequestType::DEACTIVATION));
-static_assert(aidl::android::hardware::radio::SsRequestType::INTERROGATION ==
- static_cast<aidl::android::hardware::radio::SsRequestType>(
- ::android::hardware::radio::V1_0::SsRequestType::INTERROGATION));
-static_assert(aidl::android::hardware::radio::SsRequestType::REGISTRATION ==
- static_cast<aidl::android::hardware::radio::SsRequestType>(
- ::android::hardware::radio::V1_0::SsRequestType::REGISTRATION));
-static_assert(aidl::android::hardware::radio::SsRequestType::ERASURE ==
- static_cast<aidl::android::hardware::radio::SsRequestType>(
- ::android::hardware::radio::V1_0::SsRequestType::ERASURE));
-
-static_assert(
- aidl::android::hardware::radio::SsTeleserviceType::ALL_TELE_AND_BEARER_SERVICES ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELE_AND_BEARER_SERVICES));
-static_assert(aidl::android::hardware::radio::SsTeleserviceType::ALL_TELESEVICES ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELESEVICES));
-static_assert(aidl::android::hardware::radio::SsTeleserviceType::TELEPHONY ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::TELEPHONY));
-static_assert(aidl::android::hardware::radio::SsTeleserviceType::ALL_DATA_TELESERVICES ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_DATA_TELESERVICES));
-static_assert(aidl::android::hardware::radio::SsTeleserviceType::SMS_SERVICES ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::SMS_SERVICES));
-static_assert(
- aidl::android::hardware::radio::SsTeleserviceType::ALL_TELESERVICES_EXCEPT_SMS ==
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(
- ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELESERVICES_EXCEPT_SMS));
-
-static_assert(aidl::android::hardware::radio::SuppServiceClass::NONE ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::NONE));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::VOICE ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::VOICE));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::DATA));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::FAX ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::FAX));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::SMS ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::SMS));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA_SYNC ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::DATA_SYNC));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA_ASYNC ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::DATA_ASYNC));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::PACKET ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::PACKET));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::PAD ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::PAD));
-static_assert(aidl::android::hardware::radio::SuppServiceClass::MAX ==
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(
- ::android::hardware::radio::V1_0::SuppServiceClass::MAX));
-
-static_assert(aidl::android::hardware::radio::MvnoType::NONE ==
- static_cast<aidl::android::hardware::radio::MvnoType>(
- ::android::hardware::radio::V1_0::MvnoType::NONE));
-static_assert(aidl::android::hardware::radio::MvnoType::IMSI ==
- static_cast<aidl::android::hardware::radio::MvnoType>(
- ::android::hardware::radio::V1_0::MvnoType::IMSI));
-static_assert(aidl::android::hardware::radio::MvnoType::GID ==
- static_cast<aidl::android::hardware::radio::MvnoType>(
- ::android::hardware::radio::V1_0::MvnoType::GID));
-static_assert(aidl::android::hardware::radio::MvnoType::SPN ==
- static_cast<aidl::android::hardware::radio::MvnoType>(
- ::android::hardware::radio::V1_0::MvnoType::SPN));
-
-static_assert(aidl::android::hardware::radio::DeviceStateType::POWER_SAVE_MODE ==
- static_cast<aidl::android::hardware::radio::DeviceStateType>(
- ::android::hardware::radio::V1_0::DeviceStateType::POWER_SAVE_MODE));
-static_assert(aidl::android::hardware::radio::DeviceStateType::CHARGING_STATE ==
- static_cast<aidl::android::hardware::radio::DeviceStateType>(
- ::android::hardware::radio::V1_0::DeviceStateType::CHARGING_STATE));
-static_assert(aidl::android::hardware::radio::DeviceStateType::LOW_DATA_EXPECTED ==
- static_cast<aidl::android::hardware::radio::DeviceStateType>(
- ::android::hardware::radio::V1_0::DeviceStateType::LOW_DATA_EXPECTED));
-
-static_assert(aidl::android::hardware::radio::P2Constant::NO_P2 ==
- static_cast<aidl::android::hardware::radio::P2Constant>(
- ::android::hardware::radio::V1_0::P2Constant::NO_P2));
-
-static_assert(aidl::android::hardware::radio::CardPowerState::POWER_DOWN ==
- static_cast<aidl::android::hardware::radio::CardPowerState>(
- ::android::hardware::radio::V1_1::CardPowerState::POWER_DOWN));
-static_assert(aidl::android::hardware::radio::CardPowerState::POWER_UP ==
- static_cast<aidl::android::hardware::radio::CardPowerState>(
- ::android::hardware::radio::V1_1::CardPowerState::POWER_UP));
-static_assert(aidl::android::hardware::radio::CardPowerState::POWER_UP_PASS_THROUGH ==
- static_cast<aidl::android::hardware::radio::CardPowerState>(
- ::android::hardware::radio::V1_1::CardPowerState::POWER_UP_PASS_THROUGH));
-
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_T380 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_T380));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_T410 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_T410));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_450 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_450));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_480 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_480));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_710 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_710));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_750 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_750));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_T810 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_T810));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_850 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_850));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_P900 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_P900));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_E900 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_E900));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_R900 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_R900));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_DCS1800 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_DCS1800));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_PCS1900 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_PCS1900));
-static_assert(aidl::android::hardware::radio::GeranBands::BAND_ER900 ==
- static_cast<aidl::android::hardware::radio::GeranBands>(
- ::android::hardware::radio::V1_1::GeranBands::BAND_ER900));
-
-static_assert(aidl::android::hardware::radio::ScanType::ONE_SHOT ==
- static_cast<aidl::android::hardware::radio::ScanType>(
- ::android::hardware::radio::V1_1::ScanType::ONE_SHOT));
-static_assert(aidl::android::hardware::radio::ScanType::PERIODIC ==
- static_cast<aidl::android::hardware::radio::ScanType>(
- ::android::hardware::radio::V1_1::ScanType::PERIODIC));
-
-static_assert(aidl::android::hardware::radio::ScanStatus::PARTIAL ==
- static_cast<aidl::android::hardware::radio::ScanStatus>(
- ::android::hardware::radio::V1_1::ScanStatus::PARTIAL));
-static_assert(aidl::android::hardware::radio::ScanStatus::COMPLETE ==
- static_cast<aidl::android::hardware::radio::ScanStatus>(
- ::android::hardware::radio::V1_1::ScanStatus::COMPLETE));
-
-static_assert(aidl::android::hardware::radio::KeepaliveType::NATT_IPV4 ==
- static_cast<aidl::android::hardware::radio::KeepaliveType>(
- ::android::hardware::radio::V1_1::KeepaliveType::NATT_IPV4));
-static_assert(aidl::android::hardware::radio::KeepaliveType::NATT_IPV6 ==
- static_cast<aidl::android::hardware::radio::KeepaliveType>(
- ::android::hardware::radio::V1_1::KeepaliveType::NATT_IPV6));
-
-static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::ACTIVE ==
- static_cast<aidl::android::hardware::radio::KeepaliveStatusCode>(
- ::android::hardware::radio::V1_1::KeepaliveStatusCode::ACTIVE));
-static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::INACTIVE ==
- static_cast<aidl::android::hardware::radio::KeepaliveStatusCode>(
- ::android::hardware::radio::V1_1::KeepaliveStatusCode::INACTIVE));
-static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::PENDING ==
- static_cast<aidl::android::hardware::radio::KeepaliveStatusCode>(
- ::android::hardware::radio::V1_1::KeepaliveStatusCode::PENDING));
-
-static_assert(aidl::android::hardware::radio::RadioConst::CDMA_ALPHA_INFO_BUFFER_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::CDMA_ALPHA_INFO_BUFFER_LENGTH));
-static_assert(
- aidl::android::hardware::radio::RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_RILDS ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_RILDS));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_SOCKET_NAME_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_SOCKET_NAME_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_CLIENT_ID_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_CLIENT_ID_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_DEBUG_SOCKET_NAME_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_DEBUG_SOCKET_NAME_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_QEMU_PIPE_NAME_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_QEMU_PIPE_NAME_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::MAX_UUID_LENGTH ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::MAX_UUID_LENGTH));
-static_assert(aidl::android::hardware::radio::RadioConst::CARD_MAX_APPS ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::CARD_MAX_APPS));
-static_assert(aidl::android::hardware::radio::RadioConst::CDMA_MAX_NUMBER_OF_INFO_RECS ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::CDMA_MAX_NUMBER_OF_INFO_RECS));
-static_assert(aidl::android::hardware::radio::RadioConst::SS_INFO_MAX ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::SS_INFO_MAX));
-static_assert(aidl::android::hardware::radio::RadioConst::NUM_SERVICE_CLASSES ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::NUM_SERVICE_CLASSES));
-static_assert(aidl::android::hardware::radio::RadioConst::NUM_TX_POWER_LEVELS ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::NUM_TX_POWER_LEVELS));
-static_assert(
- aidl::android::hardware::radio::RadioConst::RADIO_ACCESS_SPECIFIER_MAX_SIZE ==
- static_cast<aidl::android::hardware::radio::RadioConst>(
- ::android::hardware::radio::V1_2::RadioConst::RADIO_ACCESS_SPECIFIER_MAX_SIZE));
-
-static_assert(aidl::android::hardware::radio::ScanIntervalRange::MIN ==
- static_cast<aidl::android::hardware::radio::ScanIntervalRange>(
- ::android::hardware::radio::V1_2::ScanIntervalRange::MIN));
-static_assert(aidl::android::hardware::radio::ScanIntervalRange::MAX ==
- static_cast<aidl::android::hardware::radio::ScanIntervalRange>(
- ::android::hardware::radio::V1_2::ScanIntervalRange::MAX));
-
-static_assert(aidl::android::hardware::radio::MaxSearchTimeRange::MIN ==
- static_cast<aidl::android::hardware::radio::MaxSearchTimeRange>(
- ::android::hardware::radio::V1_2::MaxSearchTimeRange::MIN));
-static_assert(aidl::android::hardware::radio::MaxSearchTimeRange::MAX ==
- static_cast<aidl::android::hardware::radio::MaxSearchTimeRange>(
- ::android::hardware::radio::V1_2::MaxSearchTimeRange::MAX));
-
-static_assert(aidl::android::hardware::radio::IncrementalResultsPeriodicityRange::MIN ==
- static_cast<aidl::android::hardware::radio::IncrementalResultsPeriodicityRange>(
- ::android::hardware::radio::V1_2::IncrementalResultsPeriodicityRange::MIN));
-static_assert(aidl::android::hardware::radio::IncrementalResultsPeriodicityRange::MAX ==
- static_cast<aidl::android::hardware::radio::IncrementalResultsPeriodicityRange>(
- ::android::hardware::radio::V1_2::IncrementalResultsPeriodicityRange::MAX));
-
-static_assert(aidl::android::hardware::radio::CellConnectionStatus::NONE ==
- static_cast<aidl::android::hardware::radio::CellConnectionStatus>(
- ::android::hardware::radio::V1_2::CellConnectionStatus::NONE));
-static_assert(aidl::android::hardware::radio::CellConnectionStatus::PRIMARY_SERVING ==
- static_cast<aidl::android::hardware::radio::CellConnectionStatus>(
- ::android::hardware::radio::V1_2::CellConnectionStatus::PRIMARY_SERVING));
-static_assert(aidl::android::hardware::radio::CellConnectionStatus::SECONDARY_SERVING ==
- static_cast<aidl::android::hardware::radio::CellConnectionStatus>(
- ::android::hardware::radio::V1_2::CellConnectionStatus::SECONDARY_SERVING));
-
-static_assert(aidl::android::hardware::radio::AudioQuality::UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::AudioQuality::AMR ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::AMR));
-static_assert(aidl::android::hardware::radio::AudioQuality::AMR_WB ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::AMR_WB));
-static_assert(aidl::android::hardware::radio::AudioQuality::GSM_EFR ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::GSM_EFR));
-static_assert(aidl::android::hardware::radio::AudioQuality::GSM_FR ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::GSM_FR));
-static_assert(aidl::android::hardware::radio::AudioQuality::GSM_HR ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::GSM_HR));
-static_assert(aidl::android::hardware::radio::AudioQuality::EVRC ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::EVRC));
-static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_B ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::EVRC_B));
-static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_WB ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::EVRC_WB));
-static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_NW ==
- static_cast<aidl::android::hardware::radio::AudioQuality>(
- ::android::hardware::radio::V1_2::AudioQuality::EVRC_NW));
-
-static_assert(aidl::android::hardware::radio::DataRequestReason::NORMAL ==
- static_cast<aidl::android::hardware::radio::DataRequestReason>(
- ::android::hardware::radio::V1_2::DataRequestReason::NORMAL));
-static_assert(aidl::android::hardware::radio::DataRequestReason::SHUTDOWN ==
- static_cast<aidl::android::hardware::radio::DataRequestReason>(
- ::android::hardware::radio::V1_2::DataRequestReason::SHUTDOWN));
-static_assert(aidl::android::hardware::radio::DataRequestReason::HANDOVER ==
- static_cast<aidl::android::hardware::radio::DataRequestReason>(
- ::android::hardware::radio::V1_2::DataRequestReason::HANDOVER));
-
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::POLICE ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::POLICE));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::AMBULANCE ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::AMBULANCE));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::FIRE_BRIGADE ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::FIRE_BRIGADE));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MARINE_GUARD ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::MARINE_GUARD));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MOUNTAIN_RESCUE ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::MOUNTAIN_RESCUE));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MIEC ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::MIEC));
-static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::AIEC ==
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(
- ::android::hardware::radio::V1_4::EmergencyServiceCategory::AIEC));
-
-static_assert(aidl::android::hardware::radio::EmergencyNumberSource::NETWORK_SIGNALING ==
- static_cast<aidl::android::hardware::radio::EmergencyNumberSource>(
- ::android::hardware::radio::V1_4::EmergencyNumberSource::NETWORK_SIGNALING));
-static_assert(aidl::android::hardware::radio::EmergencyNumberSource::SIM ==
- static_cast<aidl::android::hardware::radio::EmergencyNumberSource>(
- ::android::hardware::radio::V1_4::EmergencyNumberSource::SIM));
-static_assert(aidl::android::hardware::radio::EmergencyNumberSource::MODEM_CONFIG ==
- static_cast<aidl::android::hardware::radio::EmergencyNumberSource>(
- ::android::hardware::radio::V1_4::EmergencyNumberSource::MODEM_CONFIG));
-static_assert(aidl::android::hardware::radio::EmergencyNumberSource::DEFAULT ==
- static_cast<aidl::android::hardware::radio::EmergencyNumberSource>(
- ::android::hardware::radio::V1_4::EmergencyNumberSource::DEFAULT));
-
-static_assert(aidl::android::hardware::radio::EmergencyCallRouting::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::EmergencyCallRouting>(
- ::android::hardware::radio::V1_4::EmergencyCallRouting::UNKNOWN));
-static_assert(aidl::android::hardware::radio::EmergencyCallRouting::EMERGENCY ==
- static_cast<aidl::android::hardware::radio::EmergencyCallRouting>(
- ::android::hardware::radio::V1_4::EmergencyCallRouting::EMERGENCY));
-static_assert(aidl::android::hardware::radio::EmergencyCallRouting::NORMAL ==
- static_cast<aidl::android::hardware::radio::EmergencyCallRouting>(
- ::android::hardware::radio::V1_4::EmergencyCallRouting::NORMAL));
-
-static_assert(aidl::android::hardware::radio::RadioTechnology::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::UNKNOWN));
-static_assert(aidl::android::hardware::radio::RadioTechnology::GPRS ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::GPRS));
-static_assert(aidl::android::hardware::radio::RadioTechnology::EDGE ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::EDGE));
-static_assert(aidl::android::hardware::radio::RadioTechnology::UMTS ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::UMTS));
-static_assert(aidl::android::hardware::radio::RadioTechnology::IS95A ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::IS95A));
-static_assert(aidl::android::hardware::radio::RadioTechnology::IS95B ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::IS95B));
-static_assert(aidl::android::hardware::radio::RadioTechnology::ONE_X_RTT ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::ONE_X_RTT));
-static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_0 ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::EVDO_0));
-static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_A ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::EVDO_A));
-static_assert(aidl::android::hardware::radio::RadioTechnology::HSDPA ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::HSDPA));
-static_assert(aidl::android::hardware::radio::RadioTechnology::HSUPA ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::HSUPA));
-static_assert(aidl::android::hardware::radio::RadioTechnology::HSPA ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::HSPA));
-static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_B ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::EVDO_B));
-static_assert(aidl::android::hardware::radio::RadioTechnology::EHRPD ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::EHRPD));
-static_assert(aidl::android::hardware::radio::RadioTechnology::LTE ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::LTE));
-static_assert(aidl::android::hardware::radio::RadioTechnology::HSPAP ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::HSPAP));
-static_assert(aidl::android::hardware::radio::RadioTechnology::GSM ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::GSM));
-static_assert(aidl::android::hardware::radio::RadioTechnology::TD_SCDMA ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::TD_SCDMA));
-static_assert(aidl::android::hardware::radio::RadioTechnology::IWLAN ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::IWLAN));
-static_assert(aidl::android::hardware::radio::RadioTechnology::LTE_CA ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::LTE_CA));
-static_assert(aidl::android::hardware::radio::RadioTechnology::NR ==
- static_cast<aidl::android::hardware::radio::RadioTechnology>(
- ::android::hardware::radio::V1_4::RadioTechnology::NR));
-
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::UNKNOWN));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::GPRS ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::GPRS));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::EDGE ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::EDGE));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::UMTS ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::UMTS));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::IS95A ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::IS95A));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::IS95B ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::IS95B));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::ONE_X_RTT ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::ONE_X_RTT));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_0 ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_0));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_A ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_A));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSDPA ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::HSDPA));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSUPA ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::HSUPA));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSPA ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::HSPA));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_B ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_B));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::EHRPD ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::EHRPD));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::LTE ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::LTE));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSPAP ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::HSPAP));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::GSM ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::GSM));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::TD_SCDMA ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::TD_SCDMA));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::LTE_CA ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::LTE_CA));
-static_assert(aidl::android::hardware::radio::RadioAccessFamily::NR ==
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(
- ::android::hardware::radio::V1_4::RadioAccessFamily::NR));
-
-static_assert(aidl::android::hardware::radio::FrequencyRange::LOW ==
- static_cast<aidl::android::hardware::radio::FrequencyRange>(
- ::android::hardware::radio::V1_4::FrequencyRange::LOW));
-static_assert(aidl::android::hardware::radio::FrequencyRange::MID ==
- static_cast<aidl::android::hardware::radio::FrequencyRange>(
- ::android::hardware::radio::V1_4::FrequencyRange::MID));
-static_assert(aidl::android::hardware::radio::FrequencyRange::HIGH ==
- static_cast<aidl::android::hardware::radio::FrequencyRange>(
- ::android::hardware::radio::V1_4::FrequencyRange::HIGH));
-static_assert(aidl::android::hardware::radio::FrequencyRange::MMWAVE ==
- static_cast<aidl::android::hardware::radio::FrequencyRange>(
- ::android::hardware::radio::V1_4::FrequencyRange::MMWAVE));
-
-static_assert(aidl::android::hardware::radio::DataConnActiveStatus::INACTIVE ==
- static_cast<aidl::android::hardware::radio::DataConnActiveStatus>(
- ::android::hardware::radio::V1_4::DataConnActiveStatus::INACTIVE));
-static_assert(aidl::android::hardware::radio::DataConnActiveStatus::DORMANT ==
- static_cast<aidl::android::hardware::radio::DataConnActiveStatus>(
- ::android::hardware::radio::V1_4::DataConnActiveStatus::DORMANT));
-static_assert(aidl::android::hardware::radio::DataConnActiveStatus::ACTIVE ==
- static_cast<aidl::android::hardware::radio::DataConnActiveStatus>(
- ::android::hardware::radio::V1_4::DataConnActiveStatus::ACTIVE));
-
-static_assert(aidl::android::hardware::radio::PdpProtocolType::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::UNKNOWN));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::IP ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::IP));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::IPV6 ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::IPV6));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::IPV4V6 ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::IPV4V6));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::PPP ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::PPP));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::NON_IP ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::NON_IP));
-static_assert(aidl::android::hardware::radio::PdpProtocolType::UNSTRUCTURED ==
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(
- ::android::hardware::radio::V1_4::PdpProtocolType::UNSTRUCTURED));
-
-static_assert(aidl::android::hardware::radio::AccessNetwork::GERAN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::GERAN));
-static_assert(aidl::android::hardware::radio::AccessNetwork::UTRAN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::UTRAN));
-static_assert(aidl::android::hardware::radio::AccessNetwork::EUTRAN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN));
-static_assert(aidl::android::hardware::radio::AccessNetwork::CDMA2000 ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::CDMA2000));
-static_assert(aidl::android::hardware::radio::AccessNetwork::IWLAN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::IWLAN));
-static_assert(aidl::android::hardware::radio::AccessNetwork::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::UNKNOWN));
-static_assert(aidl::android::hardware::radio::AccessNetwork::NGRAN ==
- static_cast<aidl::android::hardware::radio::AccessNetwork>(
- ::android::hardware::radio::V1_5::AccessNetwork::NGRAN));
-
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSSI ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::RSSI));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSCP ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::RSCP));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSRP ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::RSRP));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSRQ ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::RSRQ));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSSNR ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::RSSNR));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSRSRP ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::SSRSRP));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSRSRQ ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::SSRSRQ));
-static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSSINR ==
- static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- ::android::hardware::radio::V1_5::SignalMeasurementType::SSSINR));
-
-static_assert(aidl::android::hardware::radio::SimLockMultiSimPolicy::NO_MULTISIM_POLICY ==
- static_cast<aidl::android::hardware::radio::SimLockMultiSimPolicy>(
- ::android::hardware::radio::V1_4::SimLockMultiSimPolicy::NO_MULTISIM_POLICY));
-static_assert(
- aidl::android::hardware::radio::SimLockMultiSimPolicy::ONE_VALID_SIM_MUST_BE_PRESENT ==
- static_cast<aidl::android::hardware::radio::SimLockMultiSimPolicy>(
- ::android::hardware::radio::V1_4::SimLockMultiSimPolicy::
- ONE_VALID_SIM_MUST_BE_PRESENT));
-
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::GERAN ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::GERAN));
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::UTRAN ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::UTRAN));
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::EUTRAN ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::EUTRAN));
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::UNKNOWN));
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::NGRAN ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::NGRAN));
-static_assert(aidl::android::hardware::radio::RadioAccessNetworks::CDMA2000 ==
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(
- ::android::hardware::radio::V1_5::RadioAccessNetworks::CDMA2000));
-
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_1 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_1));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_2 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_2));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_3 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_3));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_4 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_4));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_5 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_5));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_6 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_6));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_7 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_7));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_8 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_8));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_9 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_9));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_10 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_10));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_11 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_11));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_12 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_12));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_13 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_13));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_14 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_14));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_19 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_19));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_20 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_20));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_21 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_21));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_22 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_22));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_25 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_25));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_26 ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_26));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_A ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_A));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_B ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_B));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_C ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_C));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_D ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_D));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_E ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_E));
-static_assert(aidl::android::hardware::radio::UtranBands::BAND_F ==
- static_cast<aidl::android::hardware::radio::UtranBands>(
- ::android::hardware::radio::V1_5::UtranBands::BAND_F));
-
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_1 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_1));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_2 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_2));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_3 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_3));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_4 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_4));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_5 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_5));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_6 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_6));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_7 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_7));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_8 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_8));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_9 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_9));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_10 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_10));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_11 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_11));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_12 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_12));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_13 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_13));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_14 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_14));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_17 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_17));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_18 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_18));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_19 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_19));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_20 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_20));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_21 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_21));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_22 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_22));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_23 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_23));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_24 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_24));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_25 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_25));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_26 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_26));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_27 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_27));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_28 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_28));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_30 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_30));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_31 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_31));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_33 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_33));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_34 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_34));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_35 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_35));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_36 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_36));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_37 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_37));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_38 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_38));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_39 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_39));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_40 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_40));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_41 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_41));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_42 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_42));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_43 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_43));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_44 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_44));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_45 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_45));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_46 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_46));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_47 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_47));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_48 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_48));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_65 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_65));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_66 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_66));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_68 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_68));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_70 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_70));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_49 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_49));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_50 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_50));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_51 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_51));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_52 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_52));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_53 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_53));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_71 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_71));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_72 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_72));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_73 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_73));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_74 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_74));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_85 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_85));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_87 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_87));
-static_assert(aidl::android::hardware::radio::EutranBands::BAND_88 ==
- static_cast<aidl::android::hardware::radio::EutranBands>(
- ::android::hardware::radio::V1_5::EutranBands::BAND_88));
-
-static_assert(aidl::android::hardware::radio::ApnTypes::NONE ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::NONE));
-static_assert(aidl::android::hardware::radio::ApnTypes::DEFAULT ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::DEFAULT));
-static_assert(aidl::android::hardware::radio::ApnTypes::MMS ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::MMS));
-static_assert(aidl::android::hardware::radio::ApnTypes::SUPL ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::SUPL));
-static_assert(aidl::android::hardware::radio::ApnTypes::DUN ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::DUN));
-static_assert(aidl::android::hardware::radio::ApnTypes::HIPRI ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::HIPRI));
-static_assert(aidl::android::hardware::radio::ApnTypes::FOTA ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::FOTA));
-static_assert(aidl::android::hardware::radio::ApnTypes::IMS ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::IMS));
-static_assert(aidl::android::hardware::radio::ApnTypes::CBS ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::CBS));
-static_assert(aidl::android::hardware::radio::ApnTypes::IA ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::IA));
-static_assert(aidl::android::hardware::radio::ApnTypes::EMERGENCY ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::EMERGENCY));
-static_assert(aidl::android::hardware::radio::ApnTypes::ALL ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::ALL));
-static_assert(aidl::android::hardware::radio::ApnTypes::MCX ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::MCX));
-static_assert(aidl::android::hardware::radio::ApnTypes::XCAP ==
- static_cast<aidl::android::hardware::radio::ApnTypes>(
- ::android::hardware::radio::V1_5::ApnTypes::XCAP));
-
-static_assert(aidl::android::hardware::radio::AddressProperty::NONE ==
- static_cast<aidl::android::hardware::radio::AddressProperty>(
- ::android::hardware::radio::V1_5::AddressProperty::NONE));
-static_assert(aidl::android::hardware::radio::AddressProperty::DEPRECATED ==
- static_cast<aidl::android::hardware::radio::AddressProperty>(
- ::android::hardware::radio::V1_5::AddressProperty::DEPRECATED));
-
-static_assert(aidl::android::hardware::radio::Domain::CS ==
- static_cast<aidl::android::hardware::radio::Domain>(
- ::android::hardware::radio::V1_5::Domain::CS));
-static_assert(aidl::android::hardware::radio::Domain::PS ==
- static_cast<aidl::android::hardware::radio::Domain>(
- ::android::hardware::radio::V1_5::Domain::PS));
-
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_SERVICE ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_SERVICE));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::PS_SERVICE ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::PS_SERVICE));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_VOICE ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_VOICE));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MO_SIGNALLING ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MO_SIGNALLING));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MO_DATA ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MO_DATA));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_FALLBACK ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_FALLBACK));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MMTEL_VOICE ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MMTEL_VOICE));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MMTEL_VIDEO ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MMTEL_VIDEO));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::EMERGENCY ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::EMERGENCY));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::SMS ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::SMS));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_1 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_1));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_2 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_2));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_3 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_3));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_4 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_4));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_5 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_5));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_6 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_6));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_7 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_7));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_8 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_8));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_9 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_9));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_10 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_10));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_11 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_11));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_12 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_12));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_13 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_13));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_14 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_14));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_15 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_15));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_16 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_16));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_17 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_17));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_18 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_18));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_19 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_19));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_20 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_20));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_21 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_21));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_22 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_22));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_23 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_23));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_24 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_24));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_25 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_25));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_26 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_26));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_27 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_27));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_28 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_28));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_29 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_29));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_30 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_30));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_31 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_31));
-static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_32 ==
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(
- ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_32));
-
-static_assert(aidl::android::hardware::radio::BarringInfoBarringType::NONE ==
- static_cast<aidl::android::hardware::radio::BarringInfoBarringType>(
- ::android::hardware::radio::V1_5::BarringInfo::BarringType::NONE));
-static_assert(aidl::android::hardware::radio::BarringInfoBarringType::CONDITIONAL ==
- static_cast<aidl::android::hardware::radio::BarringInfoBarringType>(
- ::android::hardware::radio::V1_5::BarringInfo::BarringType::CONDITIONAL));
-static_assert(aidl::android::hardware::radio::BarringInfoBarringType::UNCONDITIONAL ==
- static_cast<aidl::android::hardware::radio::BarringInfoBarringType>(
- ::android::hardware::radio::V1_5::BarringInfo::BarringType::UNCONDITIONAL));
-
-static_assert(aidl::android::hardware::radio::IndicationFilter::NONE ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::NONE));
-static_assert(aidl::android::hardware::radio::IndicationFilter::ALL ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::ALL));
-static_assert(aidl::android::hardware::radio::IndicationFilter::SIGNAL_STRENGTH ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::SIGNAL_STRENGTH));
-static_assert(aidl::android::hardware::radio::IndicationFilter::FULL_NETWORK_STATE ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::FULL_NETWORK_STATE));
-static_assert(
- aidl::android::hardware::radio::IndicationFilter::DATA_CALL_DORMANCY_CHANGED ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::DATA_CALL_DORMANCY_CHANGED));
-static_assert(aidl::android::hardware::radio::IndicationFilter::LINK_CAPACITY_ESTIMATE ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::LINK_CAPACITY_ESTIMATE));
-static_assert(aidl::android::hardware::radio::IndicationFilter::PHYSICAL_CHANNEL_CONFIG ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::PHYSICAL_CHANNEL_CONFIG));
-static_assert(aidl::android::hardware::radio::IndicationFilter::REGISTRATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::REGISTRATION_FAILURE));
-static_assert(aidl::android::hardware::radio::IndicationFilter::BARRING_INFO ==
- static_cast<aidl::android::hardware::radio::IndicationFilter>(
- ::android::hardware::radio::V1_5::IndicationFilter::BARRING_INFO));
-
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::NONE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::NONE));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::IMSI_UNKNOWN_IN_HLR ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::IMSI_UNKNOWN_IN_HLR));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::ILLEGAL_MS ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::ILLEGAL_MS));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::IMSI_UNKNOWN_IN_VLR ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::IMSI_UNKNOWN_IN_VLR));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::IMEI_NOT_ACCEPTED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::IMEI_NOT_ACCEPTED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::ILLEGAL_ME ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::ILLEGAL_ME));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::GPRS_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- GPRS_SERVICES_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::IMPLICITLY_DETACHED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::IMPLICITLY_DETACHED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::PLMN_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::PLMN_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::LOCATION_AREA_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- LOCATION_AREA_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::ROAMING_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::ROAMING_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::GPRS_SERVICES_NOT_ALLOWED_IN_PLMN ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- GPRS_SERVICES_NOT_ALLOWED_IN_PLMN));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::NO_SUITABLE_CELLS ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::NO_SUITABLE_CELLS));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::MSC_TEMPORARILY_NOT_REACHABLE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- MSC_TEMPORARILY_NOT_REACHABLE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::NETWORK_FAILURE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::NETWORK_FAILURE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::MAC_FAILURE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::MAC_FAILURE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::SYNC_FAILURE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::SYNC_FAILURE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::CONGESTION ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::CONGESTION));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::GSM_AUTHENTICATION_UNACCEPTABLE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- GSM_AUTHENTICATION_UNACCEPTABLE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::NOT_AUTHORIZED_FOR_THIS_CSG ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- NOT_AUTHORIZED_FOR_THIS_CSG));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::SERVICE_OPTION_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- SERVICE_OPTION_NOT_SUPPORTED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::SERVICE_OPTION_NOT_SUBSCRIBED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- SERVICE_OPTION_NOT_SUBSCRIBED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::CALL_CANNOT_BE_IDENTIFIED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- CALL_CANNOT_BE_IDENTIFIED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::NO_PDP_CONTEXT_ACTIVATED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::NO_PDP_CONTEXT_ACTIVATED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_1 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_1));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_2 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_2));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_3 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_3));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_4 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_4));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_5 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_5));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_6 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_6));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_7 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_7));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_8 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_8));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_9 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_9));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_10 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_10));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_11 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_11));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_12 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_12));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_13 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_13));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_14 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_14));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_15 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_15));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_16 ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- RETRY_UPON_ENTRY_INTO_NEW_CELL_16));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::SEMANTICALLY_INCORRECT_MESSAGE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- SEMANTICALLY_INCORRECT_MESSAGE));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::INVALID_MANDATORY_INFORMATION ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- INVALID_MANDATORY_INFORMATION));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED));
-static_assert(
- aidl::android::hardware::radio::RegistrationFailCause::CONDITIONAL_IE_ERROR ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::CONDITIONAL_IE_ERROR));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE));
-static_assert(aidl::android::hardware::radio::RegistrationFailCause::PROTOCOL_ERROR_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(
- ::android::hardware::radio::V1_5::RegistrationFailCause::
- PROTOCOL_ERROR_UNSPECIFIED));
-
-static_assert(aidl::android::hardware::radio::PrlIndicator::NOT_REGISTERED ==
- static_cast<aidl::android::hardware::radio::PrlIndicator>(
- ::android::hardware::radio::V1_5::PrlIndicator::NOT_REGISTERED));
-static_assert(aidl::android::hardware::radio::PrlIndicator::NOT_IN_PRL ==
- static_cast<aidl::android::hardware::radio::PrlIndicator>(
- ::android::hardware::radio::V1_5::PrlIndicator::NOT_IN_PRL));
-static_assert(aidl::android::hardware::radio::PrlIndicator::IN_PRL ==
- static_cast<aidl::android::hardware::radio::PrlIndicator>(
- ::android::hardware::radio::V1_5::PrlIndicator::IN_PRL));
-
-static_assert(aidl::android::hardware::radio::PersoSubstate::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::UNKNOWN));
-static_assert(aidl::android::hardware::radio::PersoSubstate::IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::PersoSubstate::READY ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::READY));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_SUBSET ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_SUBSET));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_CORPORATE ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_CORPORATE));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SERVICE_PROVIDER ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SERVICE_PROVIDER));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SIM ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SIM));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_SUBSET_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_SUBSET_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_CORPORATE_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_CORPORATE_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SERVICE_PROVIDER_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SERVICE_PROVIDER_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SIM_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SIM_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK1 ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK1));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK2 ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK2));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_HRPD ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_HRPD));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_CORPORATE ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_CORPORATE));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_SERVICE_PROVIDER ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_SERVICE_PROVIDER));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_RUIM ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_RUIM));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK1_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK1_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK2_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK2_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_HRPD_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_HRPD_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_CORPORATE_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_CORPORATE_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_SERVICE_PROVIDER_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_SERVICE_PROVIDER_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_RUIM_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::RUIM_RUIM_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SPN ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SPN));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SPN_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SPN_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SP_EHPLMN ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SP_EHPLMN));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SP_EHPLMN_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_SP_EHPLMN_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_ICCID ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_ICCID));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_ICCID_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_ICCID_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_IMPI ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_IMPI));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_IMPI_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_IMPI_PUK));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NS_SP ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NS_SP));
-static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NS_SP_PUK ==
- static_cast<aidl::android::hardware::radio::PersoSubstate>(
- ::android::hardware::radio::V1_5::PersoSubstate::SIM_NS_SP_PUK));
-
-static_assert(aidl::android::hardware::radio::QosFlowIdRange::MIN ==
- static_cast<aidl::android::hardware::radio::QosFlowIdRange>(
- ::android::hardware::radio::V1_6::QosFlowIdRange::MIN));
-static_assert(aidl::android::hardware::radio::QosFlowIdRange::MAX ==
- static_cast<aidl::android::hardware::radio::QosFlowIdRange>(
- ::android::hardware::radio::V1_6::QosFlowIdRange::MAX));
-
-static_assert(aidl::android::hardware::radio::QosProtocol::UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::QosProtocol>(
- ::android::hardware::radio::V1_6::QosProtocol::UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::QosProtocol::TCP ==
- static_cast<aidl::android::hardware::radio::QosProtocol>(
- ::android::hardware::radio::V1_6::QosProtocol::TCP));
-static_assert(aidl::android::hardware::radio::QosProtocol::UDP ==
- static_cast<aidl::android::hardware::radio::QosProtocol>(
- ::android::hardware::radio::V1_6::QosProtocol::UDP));
-static_assert(aidl::android::hardware::radio::QosProtocol::ESP ==
- static_cast<aidl::android::hardware::radio::QosProtocol>(
- ::android::hardware::radio::V1_6::QosProtocol::ESP));
-static_assert(aidl::android::hardware::radio::QosProtocol::AH ==
- static_cast<aidl::android::hardware::radio::QosProtocol>(
- ::android::hardware::radio::V1_6::QosProtocol::AH));
-
-static_assert(aidl::android::hardware::radio::QosFilterDirection::DOWNLINK ==
- static_cast<aidl::android::hardware::radio::QosFilterDirection>(
- ::android::hardware::radio::V1_6::QosFilterDirection::DOWNLINK));
-static_assert(aidl::android::hardware::radio::QosFilterDirection::UPLINK ==
- static_cast<aidl::android::hardware::radio::QosFilterDirection>(
- ::android::hardware::radio::V1_6::QosFilterDirection::UPLINK));
-static_assert(aidl::android::hardware::radio::QosFilterDirection::BIDIRECTIONAL ==
- static_cast<aidl::android::hardware::radio::QosFilterDirection>(
- ::android::hardware::radio::V1_6::QosFilterDirection::BIDIRECTIONAL));
-
-static_assert(aidl::android::hardware::radio::QosPortRange::MIN ==
- static_cast<aidl::android::hardware::radio::QosPortRange>(
- ::android::hardware::radio::V1_6::QosPortRange::MIN));
-static_assert(aidl::android::hardware::radio::QosPortRange::MAX ==
- static_cast<aidl::android::hardware::radio::QosPortRange>(
- ::android::hardware::radio::V1_6::QosPortRange::MAX));
-
-static_assert(aidl::android::hardware::radio::RadioError::NONE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NONE));
-static_assert(aidl::android::hardware::radio::RadioError::RADIO_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE));
-static_assert(aidl::android::hardware::radio::RadioError::GENERIC_FAILURE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::GENERIC_FAILURE));
-static_assert(aidl::android::hardware::radio::RadioError::PASSWORD_INCORRECT ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::PASSWORD_INCORRECT));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_PIN2 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_PIN2));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_PUK2 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_PUK2));
-static_assert(aidl::android::hardware::radio::RadioError::REQUEST_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::RadioError::CANCELLED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::CANCELLED));
-static_assert(
- aidl::android::hardware::radio::RadioError::OP_NOT_ALLOWED_DURING_VOICE_CALL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_DURING_VOICE_CALL));
-static_assert(
- aidl::android::hardware::radio::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW));
-static_assert(aidl::android::hardware::radio::RadioError::SMS_SEND_FAIL_RETRY ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SMS_SEND_FAIL_RETRY));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_ABSENT ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_ABSENT));
-static_assert(aidl::android::hardware::radio::RadioError::SUBSCRIPTION_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SUBSCRIPTION_NOT_AVAILABLE));
-static_assert(aidl::android::hardware::radio::RadioError::MODE_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::MODE_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::RadioError::FDN_CHECK_FAILURE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::FDN_CHECK_FAILURE));
-static_assert(aidl::android::hardware::radio::RadioError::ILLEGAL_SIM_OR_ME ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::ILLEGAL_SIM_OR_ME));
-static_assert(aidl::android::hardware::radio::RadioError::MISSING_RESOURCE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::MISSING_RESOURCE));
-static_assert(aidl::android::hardware::radio::RadioError::NO_SUCH_ELEMENT ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_SUCH_ELEMENT));
-static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_USSD ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_USSD));
-static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_SS ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_SS));
-static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_DIAL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_DIAL));
-static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_DIAL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_DIAL));
-static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_SS ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_SS));
-static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_USSD ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_USSD));
-static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_DIAL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_DIAL));
-static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_USSD ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_USSD));
-static_assert(aidl::android::hardware::radio::RadioError::SUBSCRIPTION_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SUBSCRIPTION_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_SS ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_SS));
-static_assert(aidl::android::hardware::radio::RadioError::LCE_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::LCE_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::RadioError::NO_MEMORY ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_MEMORY));
-static_assert(aidl::android::hardware::radio::RadioError::INTERNAL_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::SYSTEM_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SYSTEM_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::MODEM_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::MODEM_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_STATE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_STATE));
-static_assert(aidl::android::hardware::radio::RadioError::NO_RESOURCES ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_RESOURCES));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_ARGUMENTS ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_ARGUMENTS));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_SIM_STATE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_SIM_STATE));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_MODEM_STATE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_MODEM_STATE));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_CALL_ID ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_CALL_ID));
-static_assert(aidl::android::hardware::radio::RadioError::NO_SMS_TO_ACK ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_SMS_TO_ACK));
-static_assert(aidl::android::hardware::radio::RadioError::NETWORK_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NETWORK_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::REQUEST_RATE_LIMITED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::REQUEST_RATE_LIMITED));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_BUSY ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_BUSY));
-static_assert(aidl::android::hardware::radio::RadioError::SIM_FULL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::SIM_FULL));
-static_assert(aidl::android::hardware::radio::RadioError::NETWORK_REJECT ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NETWORK_REJECT));
-static_assert(aidl::android::hardware::radio::RadioError::OPERATION_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OPERATION_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::RadioError::EMPTY_RECORD ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::EMPTY_RECORD));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_SMS_FORMAT ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_SMS_FORMAT));
-static_assert(aidl::android::hardware::radio::RadioError::ENCODING_ERR ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::ENCODING_ERR));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_SMSC_ADDRESS ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_SMSC_ADDRESS));
-static_assert(aidl::android::hardware::radio::RadioError::NO_SUCH_ENTRY ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_SUCH_ENTRY));
-static_assert(aidl::android::hardware::radio::RadioError::NETWORK_NOT_READY ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NETWORK_NOT_READY));
-static_assert(aidl::android::hardware::radio::RadioError::NOT_PROVISIONED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NOT_PROVISIONED));
-static_assert(aidl::android::hardware::radio::RadioError::NO_SUBSCRIPTION ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_SUBSCRIPTION));
-static_assert(aidl::android::hardware::radio::RadioError::NO_NETWORK_FOUND ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_NETWORK_FOUND));
-static_assert(aidl::android::hardware::radio::RadioError::DEVICE_IN_USE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::DEVICE_IN_USE));
-static_assert(aidl::android::hardware::radio::RadioError::ABORTED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::ABORTED));
-static_assert(aidl::android::hardware::radio::RadioError::INVALID_RESPONSE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::INVALID_RESPONSE));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_1 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_1));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_2 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_2));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_3 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_3));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_4 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_4));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_5 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_5));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_6 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_6));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_7 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_7));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_8 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_8));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_9 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_9));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_10 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_10));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_11 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_11));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_12 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_12));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_13 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_13));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_14 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_14));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_15 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_15));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_16 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_16));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_17 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_17));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_18 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_18));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_19 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_19));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_20 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_20));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_21 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_21));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_22 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_22));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_23 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_23));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_24 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_24));
-static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_25 ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_25));
-static_assert(aidl::android::hardware::radio::RadioError::SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::
- SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::RadioError::ACCESS_BARRED ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::ACCESS_BARRED));
-static_assert(aidl::android::hardware::radio::RadioError::BLOCKED_DUE_TO_CALL ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::BLOCKED_DUE_TO_CALL));
-static_assert(aidl::android::hardware::radio::RadioError::RF_HARDWARE_ISSUE ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::RF_HARDWARE_ISSUE));
-static_assert(aidl::android::hardware::radio::RadioError::NO_RF_CALIBRATION_INFO ==
- static_cast<aidl::android::hardware::radio::RadioError>(
- ::android::hardware::radio::V1_6::RadioError::NO_RF_CALIBRATION_INFO));
-
-static_assert(aidl::android::hardware::radio::HandoverFailureMode::LEGACY ==
- static_cast<aidl::android::hardware::radio::HandoverFailureMode>(
- ::android::hardware::radio::V1_6::HandoverFailureMode::LEGACY));
-static_assert(aidl::android::hardware::radio::HandoverFailureMode::DO_FALLBACK ==
- static_cast<aidl::android::hardware::radio::HandoverFailureMode>(
- ::android::hardware::radio::V1_6::HandoverFailureMode::DO_FALLBACK));
-static_assert(
- aidl::android::hardware::radio::HandoverFailureMode::NO_FALLBACK_RETRY_HANDOVER ==
- static_cast<aidl::android::hardware::radio::HandoverFailureMode>(
- ::android::hardware::radio::V1_6::HandoverFailureMode::NO_FALLBACK_RETRY_HANDOVER));
-static_assert(aidl::android::hardware::radio::HandoverFailureMode::NO_FALLBACK_RETRY_SETUP_NORMAL ==
- static_cast<aidl::android::hardware::radio::HandoverFailureMode>(
- ::android::hardware::radio::V1_6::HandoverFailureMode::
- NO_FALLBACK_RETRY_SETUP_NORMAL));
-
-static_assert(aidl::android::hardware::radio::NrDualConnectivityState::ENABLE ==
- static_cast<aidl::android::hardware::radio::NrDualConnectivityState>(
- ::android::hardware::radio::V1_6::NrDualConnectivityState::ENABLE));
-static_assert(aidl::android::hardware::radio::NrDualConnectivityState::DISABLE ==
- static_cast<aidl::android::hardware::radio::NrDualConnectivityState>(
- ::android::hardware::radio::V1_6::NrDualConnectivityState::DISABLE));
-static_assert(
- aidl::android::hardware::radio::NrDualConnectivityState::DISABLE_IMMEDIATE ==
- static_cast<aidl::android::hardware::radio::NrDualConnectivityState>(
- ::android::hardware::radio::V1_6::NrDualConnectivityState::DISABLE_IMMEDIATE));
-
-static_assert(aidl::android::hardware::radio::DataThrottlingAction::NO_DATA_THROTTLING ==
- static_cast<aidl::android::hardware::radio::DataThrottlingAction>(
- ::android::hardware::radio::V1_6::DataThrottlingAction::NO_DATA_THROTTLING));
-static_assert(aidl::android::hardware::radio::DataThrottlingAction::THROTTLE_SECONDARY_CARRIER ==
- static_cast<aidl::android::hardware::radio::DataThrottlingAction>(
- ::android::hardware::radio::V1_6::DataThrottlingAction::
- THROTTLE_SECONDARY_CARRIER));
-static_assert(
- aidl::android::hardware::radio::DataThrottlingAction::THROTTLE_ANCHOR_CARRIER ==
- static_cast<aidl::android::hardware::radio::DataThrottlingAction>(
- ::android::hardware::radio::V1_6::DataThrottlingAction::THROTTLE_ANCHOR_CARRIER));
-static_assert(aidl::android::hardware::radio::DataThrottlingAction::HOLD ==
- static_cast<aidl::android::hardware::radio::DataThrottlingAction>(
- ::android::hardware::radio::V1_6::DataThrottlingAction::HOLD));
-
-static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::VopsIndicator>(
- ::android::hardware::radio::V1_6::VopsIndicator::VOPS_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_OVER_3GPP ==
- static_cast<aidl::android::hardware::radio::VopsIndicator>(
- ::android::hardware::radio::V1_6::VopsIndicator::VOPS_OVER_3GPP));
-static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_OVER_NON_3GPP ==
- static_cast<aidl::android::hardware::radio::VopsIndicator>(
- ::android::hardware::radio::V1_6::VopsIndicator::VOPS_OVER_NON_3GPP));
-
-static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::EmcIndicator>(
- ::android::hardware::radio::V1_6::EmcIndicator::EMC_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_NR_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmcIndicator>(
- ::android::hardware::radio::V1_6::EmcIndicator::EMC_NR_CONNECTED_TO_5GCN));
-static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_EUTRA_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmcIndicator>(
- ::android::hardware::radio::V1_6::EmcIndicator::EMC_EUTRA_CONNECTED_TO_5GCN));
-static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmcIndicator>(
- ::android::hardware::radio::V1_6::EmcIndicator::
- EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN));
-
-static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::EmfIndicator>(
- ::android::hardware::radio::V1_6::EmfIndicator::EMF_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_NR_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmfIndicator>(
- ::android::hardware::radio::V1_6::EmfIndicator::EMF_NR_CONNECTED_TO_5GCN));
-static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_EUTRA_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmfIndicator>(
- ::android::hardware::radio::V1_6::EmfIndicator::EMF_EUTRA_CONNECTED_TO_5GCN));
-static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN ==
- static_cast<aidl::android::hardware::radio::EmfIndicator>(
- ::android::hardware::radio::V1_6::EmfIndicator::
- EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN));
-
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_1 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_1));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_2 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_2));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_3 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_3));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_5 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_5));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_7 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_7));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_8 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_8));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_12 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_12));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_14 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_14));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_18 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_18));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_20 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_20));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_25 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_25));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_28 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_28));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_29 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_29));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_30 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_30));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_34 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_34));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_38 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_38));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_39 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_39));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_40 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_40));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_41 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_41));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_48 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_48));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_50 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_50));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_51 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_51));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_65 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_65));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_66 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_66));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_70 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_70));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_71 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_71));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_74 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_74));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_75 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_75));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_76 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_76));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_77 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_77));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_78 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_78));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_79 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_79));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_80 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_80));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_81 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_81));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_82 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_82));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_83 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_83));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_84 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_84));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_86 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_86));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_89 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_89));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_90 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_90));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_91 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_91));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_92 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_92));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_93 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_93));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_94 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_94));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_95 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_95));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_257 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_257));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_258 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_258));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_260 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_260));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_261 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_261));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_26 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_26));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_46 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_46));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_53 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_53));
-static_assert(aidl::android::hardware::radio::NgranBands::BAND_96 ==
- static_cast<aidl::android::hardware::radio::NgranBands>(
- ::android::hardware::radio::V1_6::NgranBands::BAND_96));
-
-static_assert(aidl::android::hardware::radio::SliceServiceType::NONE ==
- static_cast<aidl::android::hardware::radio::SliceServiceType>(
- ::android::hardware::radio::V1_6::SliceServiceType::NONE));
-static_assert(aidl::android::hardware::radio::SliceServiceType::EMBB ==
- static_cast<aidl::android::hardware::radio::SliceServiceType>(
- ::android::hardware::radio::V1_6::SliceServiceType::EMBB));
-static_assert(aidl::android::hardware::radio::SliceServiceType::URLLC ==
- static_cast<aidl::android::hardware::radio::SliceServiceType>(
- ::android::hardware::radio::V1_6::SliceServiceType::URLLC));
-static_assert(aidl::android::hardware::radio::SliceServiceType::MIOT ==
- static_cast<aidl::android::hardware::radio::SliceServiceType>(
- ::android::hardware::radio::V1_6::SliceServiceType::MIOT));
-
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NONE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NONE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OPERATOR_BARRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OPERATOR_BARRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_SIGNALLING ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NAS_SIGNALLING));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INSUFFICIENT_RESOURCES ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INSUFFICIENT_RESOURCES));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MISSING_UNKNOWN_APN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MISSING_UKNOWN_APN));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_PDP_ADDRESS_TYPE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_PDP_ADDRESS_TYPE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::USER_AUTHENTICATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::USER_AUTHENTICATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECT_GGSN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ACTIVATION_REJECT_GGSN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECT_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ACTIVATION_REJECT_UNSPECIFIED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_OPTION_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_NOT_SUBSCRIBED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- SERVICE_OPTION_NOT_SUBSCRIBED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_OUT_OF_ORDER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_OPTION_OUT_OF_ORDER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NSAPI_IN_USE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NSAPI_IN_USE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::REGULAR_DEACTIVATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::REGULAR_DEACTIVATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::QOS_NOT_ACCEPTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::QOS_NOT_ACCEPTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NETWORK_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NETWORK_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UMTS_REACTIVATION_REQ ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UMTS_REACTIVATION_REQ));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FEATURE_NOT_SUPP ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::FEATURE_NOT_SUPP));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::TFT_SEMANTIC_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::TFT_SEMANTIC_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::TFT_SYTAX_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::TFT_SYTAX_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_PDP_CONTEXT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_PDP_CONTEXT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FILTER_SEMANTIC_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::FILTER_SEMANTIC_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FILTER_SYTAX_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::FILTER_SYTAX_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_WITHOUT_ACTIVE_TFT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_WITHOUT_ACTIVE_TFT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV4_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV4_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV6_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV6_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ONLY_SINGLE_BEARER_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_SINGLE_BEARER_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_INFO_NOT_RECEIVED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_INFO_NOT_RECEIVED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_CONN_DOES_NOT_EXIST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_CONN_DOES_NOT_EXIST));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_ACTIVE_PDP_CONTEXT_REACHED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MAX_ACTIVE_PDP_CONTEXT_REACHED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_APN_IN_CURRENT_PLMN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- UNSUPPORTED_APN_IN_CURRENT_PLMN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_TRANSACTION_ID ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_TRANSACTION_ID));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MESSAGE_INCORRECT_SEMANTIC ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MESSAGE_INCORRECT_SEMANTIC));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_MANDATORY_INFO ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_MANDATORY_INFO));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MESSAGE_TYPE_UNSUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MESSAGE_TYPE_UNSUPPORTED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MSG_TYPE_NONCOMPATIBLE_STATE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MSG_TYPE_NONCOMPATIBLE_STATE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_INFO_ELEMENT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_INFO_ELEMENT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CONDITIONAL_IE_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CONDITIONAL_IE_ERROR));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PROTOCOL_ERRORS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PROTOCOL_ERRORS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_TYPE_CONFLICT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_TYPE_CONFLICT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_PCSCF_ADDR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PCSCF_ADDR));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ACCESS_BARRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ACCESS_BARRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMERGENCY_IFACE_ONLY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMERGENCY_IFACE_ONLY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IFACE_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IFACE_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::COMPANION_IFACE_IN_USE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::COMPANION_IFACE_IN_USE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IP_ADDRESS_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IP_ADDRESS_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IFACE_AND_POL_FAMILY_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- IFACE_AND_POL_FAMILY_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ACCESS_BARRED_INFINITE_RETRY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EMM_ACCESS_BARRED_INFINITE_RETRY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::AUTH_FAILURE_ON_EMERGENCY_CALL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- AUTH_FAILURE_ON_EMERGENCY_CALL));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_1 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_1));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_2 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_2));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_3 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_3));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_4 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_4));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_5 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_5));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_6 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_6));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_7 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_7));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_8 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_8));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_9 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_9));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_10 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_10));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_11 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_11));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_12 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_12));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_13 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_13));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_14 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_14));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_15 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_15));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VOICE_REGISTRATION_FAIL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VOICE_REGISTRATION_FAIL));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_REGISTRATION_FAIL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DATA_REGISTRATION_FAIL));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::SIGNAL_LOST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SIGNAL_LOST));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PREF_RADIO_TECH_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PREF_RADIO_TECH_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RADIO_POWER_OFF ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RADIO_POWER_OFF));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::TETHERED_CALL_ACTIVE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::TETHERED_CALL_ACTIVE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ERROR_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ERROR_UNSPECIFIED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LLC_SNDCP ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LLC_SNDCP));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECTED_BCM_VIOLATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ACTIVATION_REJECTED_BCM_VIOLATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- COLLISION_WITH_NETWORK_INITIATED_REQUEST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- COLLISION_WITH_NETWORK_INITIATED_REQUEST));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV4V6_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV4V6_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_NON_IP_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_NON_IP_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_QCI_VALUE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNSUPPORTED_QCI_VALUE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::BEARER_HANDLING_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- BEARER_HANDLING_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_DNS_ADDR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_DNS_ADDR));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::INVALID_PCSCF_OR_DNS_ADDRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PCSCF_OR_DNS_ADDRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CALL_PREEMPT_BY_EMERGENCY_APN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CALL_PREEMPT_BY_EMERGENCY_APN));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::UE_INITIATED_DETACH_OR_DISCONNECT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- UE_INITIATED_DETACH_OR_DISCONNECT));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REASON_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_REASON_UNSPECIFIED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_ADMIN_PROHIBITED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_ADMIN_PROHIBITED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_INSUFFICIENT_RESOURCES ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_INSUFFICIENT_RESOURCES));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REQUESTED_LIFETIME_TOO_LONG ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_REQUESTED_LIFETIME_TOO_LONG));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MALFORMED_REQUEST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MALFORMED_REQUEST));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MALFORMED_REPLY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MALFORMED_REPLY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_ENCAPSULATION_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_ENCAPSULATION_UNAVAILABLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REVERSE_TUNNEL_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_REVERSE_TUNNEL_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REVERSE_TUNNEL_IS_MANDATORY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_REVERSE_TUNNEL_IS_MANDATORY));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_NAI ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_NAI));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_HOME_AGENT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_HOME_AGENT));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_HOME_ADDRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_HOME_ADDRESS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_UNKNOWN_CHALLENGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_UNKNOWN_CHALLENGE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_CHALLENGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_CHALLENGE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_STALE_CHALLENGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_STALE_CHALLENGE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REASON_UNSPECIFIED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_REASON_UNSPECIFIED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_ADMIN_PROHIBITED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_ADMIN_PROHIBITED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_INSUFFICIENT_RESOURCES ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_INSUFFICIENT_RESOURCES));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REGISTRATION_ID_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_REGISTRATION_ID_MISMATCH));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_MALFORMED_REQUEST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_MALFORMED_REQUEST));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REVERSE_TUNNEL_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_REVERSE_TUNNEL_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REVERSE_TUNNEL_IS_MANDATORY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_REVERSE_TUNNEL_IS_MANDATORY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_ENCAPSULATION_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MIP_HA_ENCAPSULATION_UNAVAILABLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CLOSE_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CLOSE_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NETWORK_INITIATED_TERMINATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NETWORK_INITIATED_TERMINATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MODEM_APP_PREEMPTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MODEM_APP_PREEMPTED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_IPV4_CALL_DISALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV4_CALL_DISALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_IPV4_CALL_THROTTLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV4_CALL_THROTTLED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_IPV6_CALL_DISALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV6_CALL_DISALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_IPV6_CALL_THROTTLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV6_CALL_THROTTLED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MODEM_RESTART ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MODEM_RESTART));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_PPP_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_PPP_NOT_SUPPORTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNPREFERRED_RAT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNPREFERRED_RAT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PHYSICAL_LINK_CLOSE_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- PHYSICAL_LINK_CLOSE_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_PENDING_HANDOVER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_PENDING_HANDOVER));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PROFILE_BEARER_INCOMPATIBLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PROFILE_BEARER_INCOMPATIBLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::SIM_CARD_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SIM_CARD_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LOW_POWER_MODE_OR_POWERING_DOWN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- LOW_POWER_MODE_OR_POWERING_DOWN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_DISABLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_DISABLED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_PPP_INACTIVITY_TIMER_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MAX_PPP_INACTIVITY_TIMER_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::IPV6_ADDRESS_TRANSFER_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IPV6_ADDRESS_TRANSFER_FAILED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::TRAT_SWAP_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::TRAT_SWAP_FAILED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EHRPD_TO_HRPD_FALLBACK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EHRPD_TO_HRPD_FALLBACK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_CONFIG_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MIP_CONFIG_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_INACTIVITY_TIMER_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_INACTIVITY_TIMER_EXPIRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_IPV4_CONNECTIONS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MAX_IPV4_CONNECTIONS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_IPV6_CONNECTIONS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MAX_IPV6_CONNECTIONS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IP_VERSION_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IP_VERSION_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DUN_CALL_DISALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DUN_CALL_DISALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INTERNAL_EPC_NONEPC_TRANSITION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- INTERNAL_EPC_NONEPC_TRANSITION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INTERFACE_IN_USE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INTERFACE_IN_USE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::APN_DISALLOWED_ON_ROAMING ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_DISALLOWED_ON_ROAMING));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_PARAMETERS_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::APN_PARAMETERS_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NULL_APN_DISALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NULL_APN_DISALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::THERMAL_MITIGATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::THERMAL_MITIGATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_SETTINGS_DISABLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DATA_SETTINGS_DISABLED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_ROAMING_SETTINGS_DISABLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- DATA_ROAMING_SETTINGS_DISABLED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DDS_SWITCHED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DDS_SWITCHED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FORBIDDEN_APN_NAME ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::FORBIDDEN_APN_NAME));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DDS_SWITCH_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DDS_SWITCH_IN_PROGRESS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::CALL_DISALLOWED_IN_ROAMING ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CALL_DISALLOWED_IN_ROAMING));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NON_IP_NOT_SUPPORTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NON_IP_NOT_SUPPORTED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_NON_IP_CALL_THROTTLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_NON_IP_CALL_THROTTLED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDN_NON_IP_CALL_DISALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDN_NON_IP_CALL_DISALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_LOCK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_LOCK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_INTERCEPT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_INTERCEPT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_REORDER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_REORDER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_RELEASE_DUE_TO_SO_REJECTION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CDMA_RELEASE_DUE_TO_SO_REJECTION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_INCOMING_CALL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_INCOMING_CALL));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_ALERT_STOP ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_ALERT_STOP));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::CHANNEL_ACQUISITION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CHANNEL_ACQUISITION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_ACCESS_PROBE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MAX_ACCESS_PROBE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_RESPONSE_FROM_BASE_STATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NO_RESPONSE_FROM_BASE_STATION));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::REJECTED_BY_BASE_STATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::REJECTED_BY_BASE_STATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CONCURRENT_SERVICES_INCOMPATIBLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CONCURRENT_SERVICES_INCOMPATIBLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_CDMA_SERVICE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_CDMA_SERVICE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RUIM_NOT_PRESENT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RUIM_NOT_PRESENT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_RETRY_ORDER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_RETRY_ORDER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ACCESS_BLOCK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_BLOCK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ACCESS_BLOCK_ALL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_BLOCK_ALL));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::IS707B_MAX_ACCESS_PROBES ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IS707B_MAX_ACCESS_PROBES));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::THERMAL_EMERGENCY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::THERMAL_EMERGENCY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CONCURRENT_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CONCURRENT_SERVICES_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INCOMING_CALL_REJECTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INCOMING_CALL_REJECTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_SERVICE_ON_GATEWAY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_SERVICE_ON_GATEWAY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_GPRS_CONTEXT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_GPRS_CONTEXT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ILLEGAL_MS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ILLEGAL_MS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ILLEGAL_ME ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ILLEGAL_ME));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IMPLICITLY_DETACHED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IMPLICITLY_DETACHED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PLMN_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PLMN_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::LOCATION_AREA_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LOCATION_AREA_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_DUPLICATE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_DUPLICATE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UE_RAT_CHANGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UE_RAT_CHANGE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CONGESTION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CONGESTION));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::NO_PDP_CONTEXT_ACTIVATED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_PDP_CONTEXT_ACTIVATED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ACCESS_CLASS_DSAC_REJECTION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_CLASS_DSAC_REJECTION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_ACTIVATE_MAX_RETRY_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- PDP_ACTIVATE_MAX_RETRY_FAILED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RADIO_ACCESS_BEARER_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RADIO_ACCESS_BEARER_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_UNKNOWN_EPS_BEARER_CONTEXT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ESM_UNKNOWN_EPS_BEARER_CONTEXT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DRB_RELEASED_BY_RRC ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DRB_RELEASED_BY_RRC));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::CONNECTION_RELEASED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CONNECTION_RELEASED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_DETACHED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_DETACHED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ATTACH_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ATTACH_FAILED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ATTACH_STARTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ATTACH_STARTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LTE_NAS_SERVICE_REQUEST_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- LTE_NAS_SERVICE_REQUEST_FAILED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DUPLICATE_BEARER_ID ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DUPLICATE_BEARER_ID));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ESM_COLLISION_SCENARIOS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_COLLISION_SCENARIOS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_BAD_OTA_MESSAGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_BAD_OTA_MESSAGE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::DS_EXPLICIT_DEACTIVATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DS_EXPLICIT_DEACTIVATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_LOCAL_CAUSE_NONE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_LOCAL_CAUSE_NONE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::LTE_THROTTLING_NOT_REQUIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LTE_THROTTLING_NOT_REQUIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ACCESS_CONTROL_LIST_CHECK_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ACCESS_CONTROL_LIST_CHECK_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::SERVICE_NOT_ALLOWED_ON_PLMN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_NOT_ALLOWED_ON_PLMN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_T3417_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_T3417_EXPIRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_T3417_EXT_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMM_T3417_EXT_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_DATA_TRANSMISSION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_UPLINK_DATA_TRANSMISSION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_CONNECTION_RELEASE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_UPLINK_CONNECTION_RELEASE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_RADIO_LINK_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_UPLINK_RADIO_LINK_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_ERROR_REQUEST_FROM_NAS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_UPLINK_ERROR_REQUEST_FROM_NAS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ACCESS_STRATUM_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ACCESS_STRATUM_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ACCESS_BARRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_ACCESS_BARRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CELL_RESELECTION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_CELL_RESELECTION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CONFIG_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_CONFIG_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_TIMER_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_TIMER_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_LINK_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_LINK_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CELL_NOT_CAMPED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_CELL_NOT_CAMPED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_REJECT_BY_NETWORK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_REJECT_BY_NETWORK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_NORMAL_RELEASE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_NORMAL_RELEASE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_RADIO_LINK_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_RADIO_LINK_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_REESTABLISHMENT_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_REESTABLISHMENT_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ABORT_REQUEST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_ABORT_REQUEST));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_PROCEDURE_TIME_OUT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_PROCEDURE_TIME_OUT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_CONNECTION_ID ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_CONNECTION_ID));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MAXIMIUM_NSAPIS_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MAXIMIUM_NSAPIS_EXCEEDED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_PRIMARY_NSAPI ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PRIMARY_NSAPI));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::CANNOT_ENCODE_OTA_MESSAGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CANNOT_ENCODE_OTA_MESSAGE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RADIO_ACCESS_BEARER_SETUP_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RADIO_ACCESS_BEARER_SETUP_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_ESTABLISH_TIMEOUT_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- PDP_ESTABLISH_TIMEOUT_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDP_MODIFY_TIMEOUT_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_MODIFY_TIMEOUT_EXPIRED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::PDP_INACTIVE_TIMEOUT_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_INACTIVE_TIMEOUT_EXPIRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_LOWERLAYER_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_LOWERLAYER_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_MODIFY_COLLISION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PDP_MODIFY_COLLISION));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_REQUEST_REJECTED_BY_NETWORK ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NAS_REQUEST_REJECTED_BY_NETWORK));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_INVALID_REQUEST ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_INVALID_REQUEST));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_TRACKING_AREA_ID_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_TRACKING_AREA_ID_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_RF_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_RF_UNAVAILABLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ABORTED_AFTER_HANDOVER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ABORTED_AFTER_HANDOVER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IMEI_NOT_ACCEPTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IMEI_NOT_ACCEPTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EPS_SERVICES_NOT_ALLOWED_IN_PLMN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EPS_SERVICES_NOT_ALLOWED_IN_PLMN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MSC_TEMPORARILY_NOT_REACHABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MSC_TEMPORARILY_NOT_REACHABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::CS_DOMAIN_NOT_AVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::CS_DOMAIN_NOT_AVAILABLE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ESM_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MAC_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MAC_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::SYNCHRONIZATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SYNCHRONIZATION_FAILURE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::UE_SECURITY_CAPABILITIES_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- UE_SECURITY_CAPABILITIES_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::SECURITY_MODE_REJECTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SECURITY_MODE_REJECTED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::UNACCEPTABLE_NON_EPS_AUTHENTICATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- UNACCEPTABLE_NON_EPS_AUTHENTICATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_EPS_BEARER_CONTEXT_ACTIVATED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- NO_EPS_BEARER_CONTEXT_ACTIVATED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_EMM_STATE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_EMM_STATE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_LAYER_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NAS_LAYER_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::MULTIPLE_PDP_CALL_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- MULTIPLE_PDP_CALL_NOT_ALLOWED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMBMS_NOT_ENABLED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMBMS_NOT_ENABLED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::IRAT_HANDOVER_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IRAT_HANDOVER_FAILED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::EMBMS_REGULAR_DEACTIVATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMBMS_REGULAR_DEACTIVATION));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::TEST_LOOPBACK_REGULAR_DEACTIVATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- TEST_LOOPBACK_REGULAR_DEACTIVATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LOWER_LAYER_REGISTRATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- LOWER_LAYER_REGISTRATION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_PLAN_EXPIRED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DATA_PLAN_EXPIRED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UMTS_HANDOVER_TO_IWLAN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UMTS_HANDOVER_TO_IWLAN));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::
- EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_EXITED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_EXITED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_NO_SESSION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_NO_SESSION));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_CONNECTION_SETUP_TIMEOUT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- EVDO_HDR_CONNECTION_SETUP_TIMEOUT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FAILED_TO_ACQUIRE_COLOCATED_HDR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- FAILED_TO_ACQUIRE_COLOCATED_HDR));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::OTASP_COMMIT_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::OTASP_COMMIT_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_HYBRID_HDR_SERVICE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_HYBRID_HDR_SERVICE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_NO_LOCK_GRANTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::HDR_NO_LOCK_GRANTED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DBM_OR_SMS_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DBM_OR_SMS_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_FADE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::HDR_FADE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_ACCESS_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::HDR_ACCESS_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_1X_PREV ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::UNSUPPORTED_1X_PREV));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LOCAL_END ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LOCAL_END));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_SERVICE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_SERVICE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::FADE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::FADE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NORMAL_RELEASE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NORMAL_RELEASE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ACCESS_ATTEMPT_ALREADY_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- ACCESS_ATTEMPT_ALREADY_IN_PROGRESS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::REDIRECTION_OR_HANDOFF_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- REDIRECTION_OR_HANDOFF_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::EMERGENCY_MODE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::EMERGENCY_MODE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PHONE_IN_USE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PHONE_IN_USE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_MODE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_MODE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_SIM_STATE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_SIM_STATE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_COLLOCATED_HDR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::NO_COLLOCATED_HDR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::UE_IS_ENTERING_POWERSAVE_MODE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- UE_IS_ENTERING_POWERSAVE_MODE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::DUAL_SWITCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::DUAL_SWITCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_TIMEOUT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_TIMEOUT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_AUTH_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_AUTH_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_OPTION_MISMATCH ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_OPTION_MISMATCH));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_PAP_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_PAP_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_CHAP_FAILURE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_CHAP_FAILURE));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_CLOSE_IN_PROGRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::PPP_CLOSE_IN_PROGRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LIMITED_TO_IPV4 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LIMITED_TO_IPV4));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::LIMITED_TO_IPV6 ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::LIMITED_TO_IPV6));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_TIMEOUT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_TIMEOUT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_GEN_ERROR ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_GEN_ERROR));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_APN_UNAUTHORIZED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_APN_UNATHORIZED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_LIMIT_EXCEEDED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_LIMIT_EXCEEDED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_NO_PDN_GATEWAY_ADDRESS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_NO_PDN_GATEWAY_ADDRESS));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_GATEWAY_UNREACHABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- VSNCP_PDN_GATEWAY_UNREACHABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_GATEWAY_REJECT ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_GATEWAY_REJECT));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_INSUFFICIENT_PARAMETERS ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- VSNCP_INSUFFICIENT_PARAMETERS));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_RESOURCE_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_RESOURCE_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_ADMINISTRATIVELY_PROHIBITED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- VSNCP_ADMINISTRATIVELY_PROHIBITED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_ID_IN_USE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_ID_IN_USE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_SUBSCRIBER_LIMITATION ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_SUBSCRIBER_LIMITATION));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_EXISTS_FOR_THIS_APN ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::
- VSNCP_PDN_EXISTS_FOR_THIS_APN));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::VSNCP_RECONNECT_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_RECONNECT_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::IPV6_PREFIX_UNAVAILABLE ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::IPV6_PREFIX_UNAVAILABLE));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::HANDOFF_PREFERENCE_CHANGED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::HANDOFF_PREFERENCE_CHANGED));
-static_assert(aidl::android::hardware::radio::DataCallFailCause::SLICE_REJECTED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::SLICE_REJECTED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::MATCH_ALL_RULE_NOT_ALLOWED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::MATCH_ALL_RULE_NOT_ALLOWED));
-static_assert(
- aidl::android::hardware::radio::DataCallFailCause::ALL_MATCHING_RULES_FAILED ==
- static_cast<aidl::android::hardware::radio::DataCallFailCause>(
- ::android::hardware::radio::V1_6::DataCallFailCause::ALL_MATCHING_RULES_FAILED));
-
-static_assert(aidl::android::hardware::radio::SliceStatus::UNKNOWN ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::UNKNOWN));
-static_assert(aidl::android::hardware::radio::SliceStatus::CONFIGURED ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::CONFIGURED));
-static_assert(aidl::android::hardware::radio::SliceStatus::ALLOWED ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::ALLOWED));
-static_assert(
- aidl::android::hardware::radio::SliceStatus::REJECTED_NOT_AVAILABLE_IN_PLMN ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::REJECTED_NOT_AVAILABLE_IN_PLMN));
-static_assert(
- aidl::android::hardware::radio::SliceStatus::REJECTED_NOT_AVAILABLE_IN_REG_AREA ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::REJECTED_NOT_AVAILABLE_IN_REG_AREA));
-static_assert(aidl::android::hardware::radio::SliceStatus::DEFAULT_CONFIGURED ==
- static_cast<aidl::android::hardware::radio::SliceStatus>(
- ::android::hardware::radio::V1_6::SliceStatus::DEFAULT_CONFIGURED));
-
-static_assert(aidl::android::hardware::radio::SscMode::MODE_1 ==
- static_cast<aidl::android::hardware::radio::SscMode>(
- ::android::hardware::radio::V1_6::SscMode::MODE_1));
-static_assert(aidl::android::hardware::radio::SscMode::MODE_2 ==
- static_cast<aidl::android::hardware::radio::SscMode>(
- ::android::hardware::radio::V1_6::SscMode::MODE_2));
-static_assert(aidl::android::hardware::radio::SscMode::MODE_3 ==
- static_cast<aidl::android::hardware::radio::SscMode>(
- ::android::hardware::radio::V1_6::SscMode::MODE_3));
-
-static_assert(aidl::android::hardware::radio::PublicKeyType::EPDG ==
- static_cast<aidl::android::hardware::radio::PublicKeyType>(
- ::android::hardware::radio::V1_6::PublicKeyType::EPDG));
-static_assert(aidl::android::hardware::radio::PublicKeyType::WLAN ==
- static_cast<aidl::android::hardware::radio::PublicKeyType>(
- ::android::hardware::radio::V1_6::PublicKeyType::WLAN));
-
-static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_OK ==
- static_cast<aidl::android::hardware::radio::PbReceivedStatus>(
- ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_OK));
-static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_ERROR ==
- static_cast<aidl::android::hardware::radio::PbReceivedStatus>(
- ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_ERROR));
-static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_ABORT ==
- static_cast<aidl::android::hardware::radio::PbReceivedStatus>(
- ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_ABORT));
-static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_FINAL ==
- static_cast<aidl::android::hardware::radio::PbReceivedStatus>(
- ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_FINAL));
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::IccIo& in,
- aidl::android::hardware::radio::IccIo* out) {
- out->command = static_cast<int32_t>(in.command);
- out->fileId = static_cast<int32_t>(in.fileId);
- out->path = in.path;
- out->p1 = static_cast<int32_t>(in.p1);
- out->p2 = static_cast<int32_t>(in.p2);
- out->p3 = static_cast<int32_t>(in.p3);
- out->data = in.data;
- out->pin2 = in.pin2;
- out->aid = in.aid;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::NeighboringCell& in,
- aidl::android::hardware::radio::NeighboringCell* out) {
- out->cid = in.cid;
- out->rssi = static_cast<int32_t>(in.rssi);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::UusInfo& in,
- aidl::android::hardware::radio::UusInfo* out) {
- out->uusType = static_cast<aidl::android::hardware::radio::UusType>(in.uusType);
- out->uusDcs = static_cast<aidl::android::hardware::radio::UusDcs>(in.uusDcs);
- out->uusData = in.uusData;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_0::Dial& in,
- aidl::android::hardware::radio::Dial* out) {
- out->address = in.address;
- out->clir = static_cast<aidl::android::hardware::radio::Clir>(in.clir);
- {
- size_t size = in.uusInfo.size();
- aidl::android::hardware::radio::UusInfo uusInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.uusInfo[i], &uusInfo)) return false;
- out->uusInfo.push_back(uusInfo);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LastCallFailCauseInfo& in,
- aidl::android::hardware::radio::LastCallFailCauseInfo* out) {
- out->causeCode = static_cast<aidl::android::hardware::radio::LastCallFailCause>(in.causeCode);
- out->vendorCause = in.vendorCause;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmSignalStrength& in,
- aidl::android::hardware::radio::GsmSignalStrength* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.signalStrength > std::numeric_limits<int32_t>::max() || in.signalStrength < 0) {
- return false;
- }
- out->signalStrength = static_cast<int32_t>(in.signalStrength);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.bitErrorRate > std::numeric_limits<int32_t>::max() || in.bitErrorRate < 0) {
- return false;
- }
- out->bitErrorRate = static_cast<int32_t>(in.bitErrorRate);
- out->timingAdvance = static_cast<int32_t>(in.timingAdvance);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSignalStrength& in,
- aidl::android::hardware::radio::CdmaSignalStrength* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.dbm > std::numeric_limits<int32_t>::max() || in.dbm < 0) {
- return false;
- }
- out->dbm = static_cast<int32_t>(in.dbm);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.ecio > std::numeric_limits<int32_t>::max() || in.ecio < 0) {
- return false;
- }
- out->ecio = static_cast<int32_t>(in.ecio);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::EvdoSignalStrength& in,
- aidl::android::hardware::radio::EvdoSignalStrength* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.dbm > std::numeric_limits<int32_t>::max() || in.dbm < 0) {
- return false;
- }
- out->dbm = static_cast<int32_t>(in.dbm);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.ecio > std::numeric_limits<int32_t>::max() || in.ecio < 0) {
- return false;
- }
- out->ecio = static_cast<int32_t>(in.ecio);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.signalNoiseRatio > std::numeric_limits<int32_t>::max() || in.signalNoiseRatio < 0) {
- return false;
- }
- out->signalNoiseRatio = static_cast<int32_t>(in.signalNoiseRatio);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SendSmsResult& in,
- aidl::android::hardware::radio::SendSmsResult* out) {
- out->messageRef = static_cast<int32_t>(in.messageRef);
- out->ackPDU = in.ackPDU;
- out->errorCode = static_cast<int32_t>(in.errorCode);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::IccIoResult& in,
- aidl::android::hardware::radio::IccIoResult* out) {
- out->sw1 = static_cast<int32_t>(in.sw1);
- out->sw2 = static_cast<int32_t>(in.sw2);
- out->simResponse = in.simResponse;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CallForwardInfo& in,
- aidl::android::hardware::radio::CallForwardInfo* out) {
- out->status = static_cast<aidl::android::hardware::radio::CallForwardInfoStatus>(in.status);
- out->reason = static_cast<int32_t>(in.reason);
- out->serviceClass = static_cast<int32_t>(in.serviceClass);
- out->toa = static_cast<int32_t>(in.toa);
- out->number = in.number;
- out->timeSeconds = static_cast<int32_t>(in.timeSeconds);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::OperatorInfo& in,
- aidl::android::hardware::radio::OperatorInfo* out) {
- out->alphaLong = in.alphaLong;
- out->alphaShort = in.alphaShort;
- out->operatorNumeric = in.operatorNumeric;
- out->status = static_cast<aidl::android::hardware::radio::OperatorStatus>(in.status);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SmsWriteArgs& in,
- aidl::android::hardware::radio::SmsWriteArgs* out) {
- out->status = static_cast<aidl::android::hardware::radio::SmsWriteArgsStatus>(in.status);
- out->pdu = in.pdu;
- out->smsc = in.smsc;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsAddress& in,
- aidl::android::hardware::radio::CdmaSmsAddress* out) {
- out->digitMode = static_cast<aidl::android::hardware::radio::CdmaSmsDigitMode>(in.digitMode);
- out->numberMode = static_cast<aidl::android::hardware::radio::CdmaSmsNumberMode>(in.numberMode);
- out->numberType = static_cast<aidl::android::hardware::radio::CdmaSmsNumberType>(in.numberType);
- out->numberPlan = static_cast<aidl::android::hardware::radio::CdmaSmsNumberPlan>(in.numberPlan);
- {
- size_t size = in.digits.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.digits[i] > std::numeric_limits<int8_t>::max() || in.digits[i] < 0) {
- return false;
- }
- out->digits.push_back(static_cast<int8_t>(in.digits[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsSubaddress& in,
- aidl::android::hardware::radio::CdmaSmsSubaddress* out) {
- out->subaddressType =
- static_cast<aidl::android::hardware::radio::CdmaSmsSubaddressType>(in.subaddressType);
- out->odd = static_cast<bool>(in.odd);
- {
- size_t size = in.digits.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.digits[i] > std::numeric_limits<int8_t>::max() || in.digits[i] < 0) {
- return false;
- }
- out->digits.push_back(static_cast<int8_t>(in.digits[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsMessage& in,
- aidl::android::hardware::radio::CdmaSmsMessage* out) {
- out->teleserviceId = static_cast<int32_t>(in.teleserviceId);
- out->isServicePresent = static_cast<bool>(in.isServicePresent);
- out->serviceCategory = static_cast<int32_t>(in.serviceCategory);
- if (!translate(in.address, &out->address)) return false;
- if (!translate(in.subAddress, &out->subAddress)) return false;
- {
- size_t size = in.bearerData.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.bearerData[i] > std::numeric_limits<int8_t>::max() || in.bearerData[i] < 0) {
- return false;
- }
- out->bearerData.push_back(static_cast<int8_t>(in.bearerData[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsAck& in,
- aidl::android::hardware::radio::CdmaSmsAck* out) {
- out->errorClass = static_cast<aidl::android::hardware::radio::CdmaSmsErrorClass>(in.errorClass);
- out->smsCauseCode = static_cast<int32_t>(in.smsCauseCode);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo& in,
- aidl::android::hardware::radio::CdmaBroadcastSmsConfigInfo* out) {
- out->serviceCategory = static_cast<int32_t>(in.serviceCategory);
- out->language = static_cast<int32_t>(in.language);
- out->selected = static_cast<bool>(in.selected);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsWriteArgs& in,
- aidl::android::hardware::radio::CdmaSmsWriteArgs* out) {
- out->status = static_cast<aidl::android::hardware::radio::CdmaSmsWriteArgsStatus>(in.status);
- if (!translate(in.message, &out->message)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo& in,
- aidl::android::hardware::radio::GsmBroadcastSmsConfigInfo* out) {
- out->fromServiceId = static_cast<int32_t>(in.fromServiceId);
- out->toServiceId = static_cast<int32_t>(in.toServiceId);
- out->fromCodeScheme = static_cast<int32_t>(in.fromCodeScheme);
- out->toCodeScheme = static_cast<int32_t>(in.toCodeScheme);
- out->selected = static_cast<bool>(in.selected);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmSmsMessage& in,
- aidl::android::hardware::radio::GsmSmsMessage* out) {
- out->smscPdu = in.smscPdu;
- out->pdu = in.pdu;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::ImsSmsMessage& in,
- aidl::android::hardware::radio::ImsSmsMessage* out) {
- out->tech = static_cast<aidl::android::hardware::radio::RadioTechnologyFamily>(in.tech);
- out->retry = static_cast<bool>(in.retry);
- out->messageRef = static_cast<int32_t>(in.messageRef);
- {
- size_t size = in.cdmaMessage.size();
- aidl::android::hardware::radio::CdmaSmsMessage cdmaMessage;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.cdmaMessage[i], &cdmaMessage)) return false;
- out->cdmaMessage.push_back(cdmaMessage);
- }
- }
- {
- size_t size = in.gsmMessage.size();
- aidl::android::hardware::radio::GsmSmsMessage gsmMessage;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.gsmMessage[i], &gsmMessage)) return false;
- out->gsmMessage.push_back(gsmMessage);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SimApdu& in,
- aidl::android::hardware::radio::SimApdu* out) {
- out->sessionId = static_cast<int32_t>(in.sessionId);
- out->cla = static_cast<int32_t>(in.cla);
- out->instruction = static_cast<int32_t>(in.instruction);
- out->p1 = static_cast<int32_t>(in.p1);
- out->p2 = static_cast<int32_t>(in.p2);
- out->p3 = static_cast<int32_t>(in.p3);
- out->data = in.data;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::NvWriteItem& in,
- aidl::android::hardware::radio::NvWriteItem* out) {
- out->itemId = static_cast<aidl::android::hardware::radio::NvItem>(in.itemId);
- out->value = in.value;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SelectUiccSub& in,
- aidl::android::hardware::radio::SelectUiccSub* out) {
- out->slot = static_cast<int32_t>(in.slot);
- out->appIndex = static_cast<int32_t>(in.appIndex);
- out->subType = static_cast<aidl::android::hardware::radio::SubscriptionType>(in.subType);
- out->actStatus = static_cast<aidl::android::hardware::radio::UiccSubActStatus>(in.actStatus);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfigModem& in,
- aidl::android::hardware::radio::HardwareConfigModem* out) {
- out->rilModel = static_cast<int32_t>(in.rilModel);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.rat > std::numeric_limits<int32_t>::max() || in.rat < 0) {
- return false;
- }
- out->rat = static_cast<int32_t>(in.rat);
- out->maxVoice = static_cast<int32_t>(in.maxVoice);
- out->maxData = static_cast<int32_t>(in.maxData);
- out->maxStandby = static_cast<int32_t>(in.maxStandby);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfigSim& in,
- aidl::android::hardware::radio::HardwareConfigSim* out) {
- out->modemUuid = in.modemUuid;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfig& in,
- aidl::android::hardware::radio::HardwareConfig* out) {
- out->type = static_cast<aidl::android::hardware::radio::HardwareConfigType>(in.type);
- out->uuid = in.uuid;
- out->state = static_cast<aidl::android::hardware::radio::HardwareConfigState>(in.state);
- {
- size_t size = in.modem.size();
- aidl::android::hardware::radio::HardwareConfigModem modem;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.modem[i], &modem)) return false;
- out->modem.push_back(modem);
- }
- }
- {
- size_t size = in.sim.size();
- aidl::android::hardware::radio::HardwareConfigSim sim;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.sim[i], &sim)) return false;
- out->sim.push_back(sim);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LceStatusInfo& in,
- aidl::android::hardware::radio::LceStatusInfo* out) {
- out->lceStatus = static_cast<aidl::android::hardware::radio::LceStatus>(in.lceStatus);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.actualIntervalMs > std::numeric_limits<int8_t>::max() || in.actualIntervalMs < 0) {
- return false;
- }
- out->actualIntervalMs = static_cast<int8_t>(in.actualIntervalMs);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LceDataInfo& in,
- aidl::android::hardware::radio::LceDataInfo* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.lastHopCapacityKbps > std::numeric_limits<int32_t>::max() ||
- in.lastHopCapacityKbps < 0) {
- return false;
- }
- out->lastHopCapacityKbps = static_cast<int32_t>(in.lastHopCapacityKbps);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.confidenceLevel > std::numeric_limits<int8_t>::max() || in.confidenceLevel < 0) {
- return false;
- }
- out->confidenceLevel = static_cast<int8_t>(in.confidenceLevel);
- out->lceSuspended = static_cast<bool>(in.lceSuspended);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::ActivityStatsInfo& in,
- aidl::android::hardware::radio::ActivityStatsInfo* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.sleepModeTimeMs > std::numeric_limits<int32_t>::max() || in.sleepModeTimeMs < 0) {
- return false;
- }
- out->sleepModeTimeMs = static_cast<int32_t>(in.sleepModeTimeMs);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.idleModeTimeMs > std::numeric_limits<int32_t>::max() || in.idleModeTimeMs < 0) {
- return false;
- }
- out->idleModeTimeMs = static_cast<int32_t>(in.idleModeTimeMs);
- {
- size_t size = sizeof(in.txmModetimeMs) / sizeof(in.txmModetimeMs[0]);
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.txmModetimeMs[i] > std::numeric_limits<int32_t>::max() ||
- in.txmModetimeMs[i] < 0) {
- return false;
- }
- out->txmModetimeMs.push_back(static_cast<int32_t>(in.txmModetimeMs[i]));
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.rxModeTimeMs > std::numeric_limits<int32_t>::max() || in.rxModeTimeMs < 0) {
- return false;
- }
- out->rxModeTimeMs = static_cast<int32_t>(in.rxModeTimeMs);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::Carrier& in,
- aidl::android::hardware::radio::Carrier* out) {
- out->mcc = in.mcc;
- out->mnc = in.mnc;
- out->matchType = static_cast<aidl::android::hardware::radio::CarrierMatchType>(in.matchType);
- out->matchData = in.matchData;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CarrierRestrictions& in,
- aidl::android::hardware::radio::CarrierRestrictions* out) {
- {
- size_t size = in.allowedCarriers.size();
- aidl::android::hardware::radio::Carrier allowedCarriers;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.allowedCarriers[i], &allowedCarriers)) return false;
- out->allowedCarriers.push_back(allowedCarriers);
- }
- }
- {
- size_t size = in.excludedCarriers.size();
- aidl::android::hardware::radio::Carrier excludedCarriers;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.excludedCarriers[i], &excludedCarriers)) return false;
- out->excludedCarriers.push_back(excludedCarriers);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SuppSvcNotification& in,
- aidl::android::hardware::radio::SuppSvcNotification* out) {
- out->isMT = static_cast<bool>(in.isMT);
- out->code = static_cast<int32_t>(in.code);
- out->index = static_cast<int32_t>(in.index);
- out->type = static_cast<int32_t>(in.type);
- out->number = in.number;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SimRefreshResult& in,
- aidl::android::hardware::radio::SimRefreshResult* out) {
- out->type = static_cast<aidl::android::hardware::radio::SimRefreshType>(in.type);
- out->efId = static_cast<int32_t>(in.efId);
- out->aid = in.aid;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSignalInfoRecord& in,
- aidl::android::hardware::radio::CdmaSignalInfoRecord* out) {
- out->isPresent = static_cast<bool>(in.isPresent);
- out->signalType = static_cast<int8_t>(in.signalType);
- out->alertPitch = static_cast<int8_t>(in.alertPitch);
- out->signal = static_cast<int8_t>(in.signal);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaCallWaiting& in,
- aidl::android::hardware::radio::CdmaCallWaiting* out) {
- out->number = in.number;
- out->numberPresentation =
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation>(
- in.numberPresentation);
- out->name = in.name;
- if (!translate(in.signalInfoRecord, &out->signalInfoRecord)) return false;
- out->numberType =
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberType>(in.numberType);
- out->numberPlan =
- static_cast<aidl::android::hardware::radio::CdmaCallWaitingNumberPlan>(in.numberPlan);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaDisplayInfoRecord& in,
- aidl::android::hardware::radio::CdmaDisplayInfoRecord* out) {
- out->alphaBuf = in.alphaBuf;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaNumberInfoRecord& in,
- aidl::android::hardware::radio::CdmaNumberInfoRecord* out) {
- out->number = in.number;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.numberType > std::numeric_limits<int8_t>::max() || in.numberType < 0) {
- return false;
- }
- out->numberType = static_cast<int8_t>(in.numberType);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.numberPlan > std::numeric_limits<int8_t>::max() || in.numberPlan < 0) {
- return false;
- }
- out->numberPlan = static_cast<int8_t>(in.numberPlan);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.pi > std::numeric_limits<int8_t>::max() || in.pi < 0) {
- return false;
- }
- out->pi = static_cast<int8_t>(in.pi);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.si > std::numeric_limits<int8_t>::max() || in.si < 0) {
- return false;
- }
- out->si = static_cast<int8_t>(in.si);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaRedirectingNumberInfoRecord& in,
- aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord* out) {
- if (!translate(in.redirectingNumber, &out->redirectingNumber)) return false;
- out->redirectingReason = static_cast<aidl::android::hardware::radio::CdmaRedirectingReason>(
- in.redirectingReason);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaLineControlInfoRecord& in,
- aidl::android::hardware::radio::CdmaLineControlInfoRecord* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.lineCtrlPolarityIncluded > std::numeric_limits<int8_t>::max() ||
- in.lineCtrlPolarityIncluded < 0) {
- return false;
- }
- out->lineCtrlPolarityIncluded = static_cast<int8_t>(in.lineCtrlPolarityIncluded);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.lineCtrlToggle > std::numeric_limits<int8_t>::max() || in.lineCtrlToggle < 0) {
- return false;
- }
- out->lineCtrlToggle = static_cast<int8_t>(in.lineCtrlToggle);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.lineCtrlReverse > std::numeric_limits<int8_t>::max() || in.lineCtrlReverse < 0) {
- return false;
- }
- out->lineCtrlReverse = static_cast<int8_t>(in.lineCtrlReverse);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.lineCtrlPowerDenial > std::numeric_limits<int8_t>::max() || in.lineCtrlPowerDenial < 0) {
- return false;
- }
- out->lineCtrlPowerDenial = static_cast<int8_t>(in.lineCtrlPowerDenial);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaT53ClirInfoRecord& in,
- aidl::android::hardware::radio::CdmaT53ClirInfoRecord* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.cause > std::numeric_limits<int8_t>::max() || in.cause < 0) {
- return false;
- }
- out->cause = static_cast<int8_t>(in.cause);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaT53AudioControlInfoRecord& in,
- aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.upLink > std::numeric_limits<int8_t>::max() || in.upLink < 0) {
- return false;
- }
- out->upLink = static_cast<int8_t>(in.upLink);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.downLink > std::numeric_limits<int8_t>::max() || in.downLink < 0) {
- return false;
- }
- out->downLink = static_cast<int8_t>(in.downLink);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaInformationRecord& in,
- aidl::android::hardware::radio::CdmaInformationRecord* out) {
- out->name = static_cast<aidl::android::hardware::radio::CdmaInfoRecName>(in.name);
- {
- size_t size = in.display.size();
- aidl::android::hardware::radio::CdmaDisplayInfoRecord display;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.display[i], &display)) return false;
- out->display.push_back(display);
- }
- }
- {
- size_t size = in.number.size();
- aidl::android::hardware::radio::CdmaNumberInfoRecord number;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.number[i], &number)) return false;
- out->number.push_back(number);
- }
- }
- {
- size_t size = in.signal.size();
- aidl::android::hardware::radio::CdmaSignalInfoRecord signal;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.signal[i], &signal)) return false;
- out->signal.push_back(signal);
- }
- }
- {
- size_t size = in.redir.size();
- aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord redir;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.redir[i], &redir)) return false;
- out->redir.push_back(redir);
- }
- }
- {
- size_t size = in.lineCtrl.size();
- aidl::android::hardware::radio::CdmaLineControlInfoRecord lineCtrl;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.lineCtrl[i], &lineCtrl)) return false;
- out->lineCtrl.push_back(lineCtrl);
- }
- }
- {
- size_t size = in.clir.size();
- aidl::android::hardware::radio::CdmaT53ClirInfoRecord clir;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.clir[i], &clir)) return false;
- out->clir.push_back(clir);
- }
- }
- {
- size_t size = in.audioCtrl.size();
- aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord audioCtrl;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.audioCtrl[i], &audioCtrl)) return false;
- out->audioCtrl.push_back(audioCtrl);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaInformationRecords& in,
- aidl::android::hardware::radio::CdmaInformationRecords* out) {
- {
- size_t size = in.infoRec.size();
- aidl::android::hardware::radio::CdmaInformationRecord infoRec;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.infoRec[i], &infoRec)) return false;
- out->infoRec.push_back(infoRec);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CfData& in,
- aidl::android::hardware::radio::CfData* out) {
- {
- size_t size = in.cfInfo.size();
- aidl::android::hardware::radio::CallForwardInfo cfInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.cfInfo[i], &cfInfo)) return false;
- out->cfInfo.push_back(cfInfo);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SsInfoData& in,
- aidl::android::hardware::radio::SsInfoData* out) {
- {
- size_t size = in.ssInfo.size();
- for (size_t i = 0; i < size; i++) {
- out->ssInfo.push_back(static_cast<int32_t>(in.ssInfo[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::StkCcUnsolSsResult& in,
- aidl::android::hardware::radio::StkCcUnsolSsResult* out) {
- out->serviceType = static_cast<aidl::android::hardware::radio::SsServiceType>(in.serviceType);
- out->requestType = static_cast<aidl::android::hardware::radio::SsRequestType>(in.requestType);
- out->teleserviceType =
- static_cast<aidl::android::hardware::radio::SsTeleserviceType>(in.teleserviceType);
- out->serviceClass =
- static_cast<aidl::android::hardware::radio::SuppServiceClass>(in.serviceClass);
- out->result = static_cast<aidl::android::hardware::radio::RadioError>(in.result);
- {
- size_t size = in.ssInfo.size();
- aidl::android::hardware::radio::SsInfoData ssInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.ssInfo[i], &ssInfo)) return false;
- out->ssInfo.push_back(ssInfo);
- }
- }
- {
- size_t size = in.cfData.size();
- aidl::android::hardware::radio::CfData cfData;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.cfData[i], &cfData)) return false;
- out->cfData.push_back(cfData);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::PcoDataInfo& in,
- aidl::android::hardware::radio::PcoDataInfo* out) {
- out->cid = static_cast<int32_t>(in.cid);
- out->bearerProto = in.bearerProto;
- out->pcoId = static_cast<int32_t>(in.pcoId);
- {
- size_t size = in.contents.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.contents[i] > std::numeric_limits<int8_t>::max() || in.contents[i] < 0) {
- return false;
- }
- out->contents.push_back(static_cast<int8_t>(in.contents[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_1::KeepaliveRequest& in,
- aidl::android::hardware::radio::KeepaliveRequest* out) {
- out->type = static_cast<aidl::android::hardware::radio::KeepaliveType>(in.type);
- {
- size_t size = in.sourceAddress.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.sourceAddress[i] > std::numeric_limits<int8_t>::max() ||
- in.sourceAddress[i] < 0) {
- return false;
- }
- out->sourceAddress.push_back(static_cast<int8_t>(in.sourceAddress[i]));
- }
- }
- out->sourcePort = static_cast<int32_t>(in.sourcePort);
- {
- size_t size = in.destinationAddress.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.destinationAddress[i] > std::numeric_limits<int8_t>::max() ||
- in.destinationAddress[i] < 0) {
- return false;
- }
- out->destinationAddress.push_back(static_cast<int8_t>(in.destinationAddress[i]));
- }
- }
- out->destinationPort = static_cast<int32_t>(in.destinationPort);
- out->maxKeepaliveIntervalMillis = static_cast<int32_t>(in.maxKeepaliveIntervalMillis);
- out->cid = static_cast<int32_t>(in.cid);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_1::KeepaliveStatus& in,
- aidl::android::hardware::radio::KeepaliveStatus* out) {
- out->sessionHandle = static_cast<int32_t>(in.sessionHandle);
- out->code = static_cast<aidl::android::hardware::radio::KeepaliveStatusCode>(in.code);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellIdentityOperatorNames& in,
- aidl::android::hardware::radio::CellIdentityOperatorNames* out) {
- out->alphaLong = in.alphaLong;
- out->alphaShort = in.alphaShort;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellIdentityCdma& in,
- aidl::android::hardware::radio::CellIdentityCdma* out) {
- out->networkId = static_cast<int32_t>(in.base.networkId);
- out->systemId = static_cast<int32_t>(in.base.systemId);
- out->baseStationId = static_cast<int32_t>(in.base.baseStationId);
- out->longitude = static_cast<int32_t>(in.base.longitude);
- out->latitude = static_cast<int32_t>(in.base.latitude);
- if (!translate(in.operatorNames, &out->operatorNames)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellInfoCdma& in,
- aidl::android::hardware::radio::CellInfoCdma* out) {
- if (!translate(in.cellIdentityCdma, &out->cellIdentityCdma)) return false;
- if (!translate(in.signalStrengthCdma, &out->signalStrengthCdma)) return false;
- if (!translate(in.signalStrengthEvdo, &out->signalStrengthEvdo)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::WcdmaSignalStrength& in,
- aidl::android::hardware::radio::WcdmaSignalStrength* out) {
- out->signalStrength = static_cast<int32_t>(in.base.signalStrength);
- out->bitErrorRate = static_cast<int32_t>(in.base.bitErrorRate);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.rscp > std::numeric_limits<int32_t>::max() || in.rscp < 0) {
- return false;
- }
- out->rscp = static_cast<int32_t>(in.rscp);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.ecno > std::numeric_limits<int32_t>::max() || in.ecno < 0) {
- return false;
- }
- out->ecno = static_cast<int32_t>(in.ecno);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::TdscdmaSignalStrength& in,
- aidl::android::hardware::radio::TdscdmaSignalStrength* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.signalStrength > std::numeric_limits<int32_t>::max() || in.signalStrength < 0) {
- return false;
- }
- out->signalStrength = static_cast<int32_t>(in.signalStrength);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.bitErrorRate > std::numeric_limits<int32_t>::max() || in.bitErrorRate < 0) {
- return false;
- }
- out->bitErrorRate = static_cast<int32_t>(in.bitErrorRate);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.rscp > std::numeric_limits<int32_t>::max() || in.rscp < 0) {
- return false;
- }
- out->rscp = static_cast<int32_t>(in.rscp);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::VoiceRegStateResult& in,
- aidl::android::hardware::radio::VoiceRegStateResult* out) {
- out->regState = static_cast<aidl::android::hardware::radio::RegState>(in.regState);
- out->rat = static_cast<int32_t>(in.rat);
- out->cssSupported = static_cast<bool>(in.cssSupported);
- out->roamingIndicator = static_cast<int32_t>(in.roamingIndicator);
- out->systemIsInPrl = static_cast<int32_t>(in.systemIsInPrl);
- out->defaultRoamingIndicator = static_cast<int32_t>(in.defaultRoamingIndicator);
- out->reasonForDenial = static_cast<int32_t>(in.reasonForDenial);
- // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity
- // That type's package needs to be converted separately and the corresponding translate function
- // should be added here.
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_3::RadioResponseInfoModem& in,
- aidl::android::hardware::radio::RadioResponseInfoModem* out) {
- out->type = static_cast<aidl::android::hardware::radio::RadioResponseType>(in.type);
- out->serial = static_cast<int32_t>(in.serial);
- out->error = static_cast<aidl::android::hardware::radio::RadioError>(in.error);
- out->isEnabled = static_cast<bool>(in.isEnabled);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::EmergencyNumber& in,
- aidl::android::hardware::radio::EmergencyNumber* out) {
- out->number = in.number;
- out->mcc = in.mcc;
- out->mnc = in.mnc;
- out->categories =
- static_cast<aidl::android::hardware::radio::EmergencyServiceCategory>(in.categories);
- {
- size_t size = in.urns.size();
- for (size_t i = 0; i < size; i++) {
- out->urns.push_back(in.urns[i]);
- }
- }
- out->sources = static_cast<aidl::android::hardware::radio::EmergencyNumberSource>(in.sources);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::RadioFrequencyInfo& in,
- aidl::android::hardware::radio::RadioFrequencyInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_4::RadioFrequencyInfo::hidl_discriminator::range:
- *out = static_cast<aidl::android::hardware::radio::FrequencyRange>(in.range());
- break;
- case ::android::hardware::radio::V1_4::RadioFrequencyInfo::hidl_discriminator::
- channelNumber:
- *out = static_cast<int32_t>(in.channelNumber());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::LteVopsInfo& in,
- aidl::android::hardware::radio::LteVopsInfo* out) {
- out->isVopsSupported = static_cast<bool>(in.isVopsSupported);
- out->isEmcBearerSupported = static_cast<bool>(in.isEmcBearerSupported);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::NrIndicators& in,
- aidl::android::hardware::radio::NrIndicators* out) {
- out->isEndcAvailable = static_cast<bool>(in.isEndcAvailable);
- out->isDcNrRestricted = static_cast<bool>(in.isDcNrRestricted);
- out->isNrAvailable = static_cast<bool>(in.isNrAvailable);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::DataRegStateResult& in,
- aidl::android::hardware::radio::DataRegStateResult* out) {
- out->regState = static_cast<aidl::android::hardware::radio::RegState>(in.base.regState);
- out->rat = static_cast<int32_t>(in.base.rat);
- out->reasonDataDenied = static_cast<int32_t>(in.base.reasonDataDenied);
- out->maxDataCalls = static_cast<int32_t>(in.base.maxDataCalls);
- // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity
- // That type's package needs to be converted separately and the corresponding translate function
- // should be added here.
- if (!translate(in.vopsInfo, &out->vopsInfo)) return false;
- if (!translate(in.nrIndicators, &out->nrIndicators)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo& in,
- aidl::android::hardware::radio::DataRegStateResultVopsInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo::hidl_discriminator::
- noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo::hidl_discriminator::
- lteVopsInfo: {
- aidl::android::hardware::radio::LteVopsInfo lteVopsInfo;
- if (!translate(in.lteVopsInfo(), <eVopsInfo)) return false;
- out->set<aidl::android::hardware::radio::DataRegStateResultVopsInfo::lteVopsInfo>(
- lteVopsInfo);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CellConfigLte& in,
- aidl::android::hardware::radio::CellConfigLte* out) {
- out->isEndcAvailable = static_cast<bool>(in.isEndcAvailable);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CellInfo::Info& in,
- aidl::android::hardware::radio::CellInfoInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::gsm:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoGsm
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- break;
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::cdma: {
- aidl::android::hardware::radio::CellInfoCdma cdma;
- if (!translate(in.cdma(), &cdma)) return false;
- out->set<aidl::android::hardware::radio::CellInfoInfo::cdma>(cdma);
- } break;
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::wcdma:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoWcdma
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- break;
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::tdscdma:
- // FIXME Unknown type: android.hardware.radio@1.2::CellInfoTdscdma
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- break;
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::lte:
- // FIXME Unknown type: android.hardware.radio@1.4::CellInfoLte
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- break;
- case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::nr:
- // FIXME Unknown type: android.hardware.radio@1.4::CellInfoNr
- // That type's package needs to be converted separately and the corresponding translate
- // function should be added here.
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::RadioCapability& in,
- aidl::android::hardware::radio::RadioCapability* out) {
- out->session = static_cast<int32_t>(in.session);
- out->phase = static_cast<aidl::android::hardware::radio::RadioCapabilityPhase>(in.phase);
- out->raf = static_cast<aidl::android::hardware::radio::RadioAccessFamily>(in.raf);
- out->logicalModemUuid = in.logicalModemUuid;
- out->status = static_cast<aidl::android::hardware::radio::RadioCapabilityStatus>(in.status);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority& in,
- aidl::android::hardware::radio::CarrierRestrictionsWithPriority* out) {
- {
- size_t size = in.allowedCarriers.size();
- aidl::android::hardware::radio::Carrier allowedCarriers;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.allowedCarriers[i], &allowedCarriers)) return false;
- out->allowedCarriers.push_back(allowedCarriers);
- }
- }
- {
- size_t size = in.excludedCarriers.size();
- aidl::android::hardware::radio::Carrier excludedCarriers;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.excludedCarriers[i], &excludedCarriers)) return false;
- out->excludedCarriers.push_back(excludedCarriers);
- }
- }
- out->allowedCarriersPrioritized = static_cast<bool>(in.allowedCarriersPrioritized);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RadioAccessSpecifier& in,
- aidl::android::hardware::radio::RadioAccessSpecifier* out) {
- out->radioAccessNetwork =
- static_cast<aidl::android::hardware::radio::RadioAccessNetworks>(in.radioAccessNetwork);
- if (!translate(in.bands, &out->bands)) return false;
- {
- size_t size = in.channels.size();
- for (size_t i = 0; i < size; i++) {
- out->channels.push_back(static_cast<int32_t>(in.channels[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands& in,
- aidl::android::hardware::radio::RadioAccessSpecifierBands* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator::
- geranBands: {
- ::android::hardware::hidl_vec<::android::hardware::radio::V1_1::GeranBands> geranBands =
- in.geranBands();
- size_t size = geranBands.size();
- for (size_t i = 0; i < size; i++) {
- out->get<aidl::android::hardware::radio::RadioAccessSpecifierBands::Tag::
- geranBands>()
- .push_back(static_cast<aidl::android::hardware::radio::GeranBands>(
- geranBands[i]));
- }
- } break;
- case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator::
- utranBands: {
- ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::UtranBands> utranBands =
- in.utranBands();
- size_t size = utranBands.size();
- for (size_t i = 0; i < size; i++) {
- out->get<aidl::android::hardware::radio::RadioAccessSpecifierBands::Tag::
- utranBands>()
- .push_back(static_cast<aidl::android::hardware::radio::UtranBands>(
- utranBands[i]));
- }
- } break;
- case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator::
- eutranBands: {
- ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::EutranBands>
- eutranBands = in.eutranBands();
- size_t size = eutranBands.size();
- for (size_t i = 0; i < size; i++) {
- out->get<aidl::android::hardware::radio::RadioAccessSpecifierBands::Tag::
- eutranBands>()
- .push_back(static_cast<aidl::android::hardware::radio::EutranBands>(
- eutranBands[i]));
- }
- } break;
- case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator::
- ngranBands: {
- ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::NgranBands> ngranBands =
- in.ngranBands();
- size_t size = ngranBands.size();
- for (size_t i = 0; i < size; i++) {
- out->get<aidl::android::hardware::radio::RadioAccessSpecifierBands::Tag::
- ngranBands>()
- .push_back(static_cast<aidl::android::hardware::radio::NgranBands>(
- ngranBands[i]));
- }
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::SignalThresholdInfo& in,
- aidl::android::hardware::radio::SignalThresholdInfo* out) {
- out->signalMeasurement = static_cast<aidl::android::hardware::radio::SignalMeasurementType>(
- in.signalMeasurement);
- out->hysteresisMs = static_cast<int32_t>(in.hysteresisMs);
- out->hysteresisDb = static_cast<int32_t>(in.hysteresisDb);
- {
- size_t size = in.thresholds.size();
- for (size_t i = 0; i < size; i++) {
- out->thresholds.push_back(static_cast<int32_t>(in.thresholds[i]));
- }
- }
- out->isEnabled = static_cast<bool>(in.isEnabled);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::NetworkScanRequest& in,
- aidl::android::hardware::radio::NetworkScanRequest* out) {
- out->type = static_cast<aidl::android::hardware::radio::ScanType>(in.type);
- out->interval = static_cast<int32_t>(in.interval);
- {
- size_t size = in.specifiers.size();
- aidl::android::hardware::radio::RadioAccessSpecifier specifiers;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.specifiers[i], &specifiers)) return false;
- out->specifiers.push_back(specifiers);
- }
- }
- out->maxSearchTime = static_cast<int32_t>(in.maxSearchTime);
- out->incrementalResults = static_cast<bool>(in.incrementalResults);
- out->incrementalResultsPeriodicity = static_cast<int32_t>(in.incrementalResultsPeriodicity);
- {
- size_t size = in.mccMncs.size();
- for (size_t i = 0; i < size; i++) {
- out->mccMncs.push_back(in.mccMncs[i]);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::DataProfileInfo& in,
- aidl::android::hardware::radio::DataProfileInfo* out) {
- out->profileId = static_cast<aidl::android::hardware::radio::DataProfileId>(in.profileId);
- out->apn = in.apn;
- out->protocol = static_cast<aidl::android::hardware::radio::PdpProtocolType>(in.protocol);
- out->roamingProtocol =
- static_cast<aidl::android::hardware::radio::PdpProtocolType>(in.roamingProtocol);
- out->authType = static_cast<aidl::android::hardware::radio::ApnAuthType>(in.authType);
- out->user = in.user;
- out->password = in.password;
- out->type = static_cast<aidl::android::hardware::radio::DataProfileInfoType>(in.type);
- out->maxConnsTime = static_cast<int32_t>(in.maxConnsTime);
- out->maxConns = static_cast<int32_t>(in.maxConns);
- out->waitTime = static_cast<int32_t>(in.waitTime);
- out->enabled = static_cast<bool>(in.enabled);
- out->supportedApnTypesBitmap =
- static_cast<aidl::android::hardware::radio::ApnTypes>(in.supportedApnTypesBitmap);
- out->bearerBitmap =
- static_cast<aidl::android::hardware::radio::RadioAccessFamily>(in.bearerBitmap);
- out->mtuV4 = static_cast<int32_t>(in.mtuV4);
- out->mtuV6 = static_cast<int32_t>(in.mtuV6);
- out->preferred = static_cast<bool>(in.preferred);
- out->persistent = static_cast<bool>(in.persistent);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::LinkAddress& in,
- aidl::android::hardware::radio::LinkAddress* out) {
- out->address = in.address;
- out->properties = static_cast<aidl::android::hardware::radio::AddressProperty>(in.properties);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.deprecationTime > std::numeric_limits<int64_t>::max() || in.deprecationTime < 0) {
- return false;
- }
- out->deprecationTime = static_cast<int64_t>(in.deprecationTime);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.expirationTime > std::numeric_limits<int64_t>::max() || in.expirationTime < 0) {
- return false;
- }
- out->expirationTime = static_cast<int64_t>(in.expirationTime);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::ClosedSubscriberGroupInfo& in,
- aidl::android::hardware::radio::ClosedSubscriberGroupInfo* out) {
- out->csgIndication = static_cast<bool>(in.csgIndication);
- out->homeNodebName = in.homeNodebName;
- out->csgIdentity = static_cast<int32_t>(in.csgIdentity);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::OptionalCsgInfo& in,
- aidl::android::hardware::radio::OptionalCsgInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_5::OptionalCsgInfo::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_5::OptionalCsgInfo::hidl_discriminator::csgInfo: {
- aidl::android::hardware::radio::ClosedSubscriberGroupInfo csgInfo;
- if (!translate(in.csgInfo(), &csgInfo)) return false;
- out->set<aidl::android::hardware::radio::OptionalCsgInfo::csgInfo>(csgInfo);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityGsm& in,
- aidl::android::hardware::radio::CellIdentityGsm* out) {
- out->mcc = in.base.base.mcc;
- out->mnc = in.base.base.mnc;
- out->lac = static_cast<int32_t>(in.base.base.lac);
- out->cid = static_cast<int32_t>(in.base.base.cid);
- out->arfcn = static_cast<int32_t>(in.base.base.arfcn);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.base.bsic > std::numeric_limits<int8_t>::max() || in.base.base.bsic < 0) {
- return false;
- }
- out->bsic = static_cast<int8_t>(in.base.base.bsic);
- if (!translate(in.base.operatorNames, &out->operatorNames)) return false;
- {
- size_t size = in.additionalPlmns.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalPlmns.push_back(in.additionalPlmns[i]);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityWcdma& in,
- aidl::android::hardware::radio::CellIdentityWcdma* out) {
- out->mcc = in.base.base.mcc;
- out->mnc = in.base.base.mnc;
- out->lac = static_cast<int32_t>(in.base.base.lac);
- out->cid = static_cast<int32_t>(in.base.base.cid);
- out->psc = static_cast<int32_t>(in.base.base.psc);
- out->uarfcn = static_cast<int32_t>(in.base.base.uarfcn);
- if (!translate(in.base.operatorNames, &out->operatorNames)) return false;
- {
- size_t size = in.additionalPlmns.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalPlmns.push_back(in.additionalPlmns[i]);
- }
- }
- if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityTdscdma& in,
- aidl::android::hardware::radio::CellIdentityTdscdma* out) {
- out->mcc = in.base.base.mcc;
- out->mnc = in.base.base.mnc;
- out->lac = static_cast<int32_t>(in.base.base.lac);
- out->cid = static_cast<int32_t>(in.base.base.cid);
- out->cpid = static_cast<int32_t>(in.base.base.cpid);
- out->uarfcn = static_cast<int32_t>(in.base.uarfcn);
- if (!translate(in.base.operatorNames, &out->operatorNames)) return false;
- {
- size_t size = in.additionalPlmns.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalPlmns.push_back(in.additionalPlmns[i]);
- }
- }
- if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityLte& in,
- aidl::android::hardware::radio::CellIdentityLte* out) {
- out->mcc = in.base.base.mcc;
- out->mnc = in.base.base.mnc;
- out->ci = static_cast<int32_t>(in.base.base.ci);
- out->pci = static_cast<int32_t>(in.base.base.pci);
- out->tac = static_cast<int32_t>(in.base.base.tac);
- out->earfcn = static_cast<int32_t>(in.base.base.earfcn);
- if (!translate(in.base.operatorNames, &out->operatorNames)) return false;
- out->bandwidth = static_cast<int32_t>(in.base.bandwidth);
- {
- size_t size = in.additionalPlmns.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalPlmns.push_back(in.additionalPlmns[i]);
- }
- }
- if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false;
- {
- size_t size = in.bands.size();
- for (size_t i = 0; i < size; i++) {
- out->bands.push_back(
- static_cast<aidl::android::hardware::radio::EutranBands>(in.bands[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityNr& in,
- aidl::android::hardware::radio::CellIdentityNr* out) {
- out->mcc = in.base.mcc;
- out->mnc = in.base.mnc;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.nci > std::numeric_limits<int64_t>::max() || in.base.nci < 0) {
- return false;
- }
- out->nci = static_cast<int64_t>(in.base.nci);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.pci > std::numeric_limits<int32_t>::max() || in.base.pci < 0) {
- return false;
- }
- out->pci = static_cast<int32_t>(in.base.pci);
- out->tac = static_cast<int32_t>(in.base.tac);
- out->nrarfcn = static_cast<int32_t>(in.base.nrarfcn);
- if (!translate(in.base.operatorNames, &out->operatorNames)) return false;
- {
- size_t size = in.additionalPlmns.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalPlmns.push_back(in.additionalPlmns[i]);
- }
- }
- {
- size_t size = in.bands.size();
- for (size_t i = 0; i < size; i++) {
- out->bands.push_back(
- static_cast<aidl::android::hardware::radio::NgranBands>(in.bands[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoGsm& in,
- aidl::android::hardware::radio::CellInfoGsm* out) {
- if (!translate(in.cellIdentityGsm, &out->cellIdentityGsm)) return false;
- if (!translate(in.signalStrengthGsm, &out->signalStrengthGsm)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoWcdma& in,
- aidl::android::hardware::radio::CellInfoWcdma* out) {
- if (!translate(in.cellIdentityWcdma, &out->cellIdentityWcdma)) return false;
- if (!translate(in.signalStrengthWcdma, &out->signalStrengthWcdma)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoTdscdma& in,
- aidl::android::hardware::radio::CellInfoTdscdma* out) {
- if (!translate(in.cellIdentityTdscdma, &out->cellIdentityTdscdma)) return false;
- if (!translate(in.signalStrengthTdscdma, &out->signalStrengthTdscdma)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentity& in,
- aidl::android::hardware::radio::CellIdentity* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::gsm: {
- aidl::android::hardware::radio::CellIdentityGsm gsm;
- if (!translate(in.gsm(), &gsm)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::gsm>(gsm);
- } break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::wcdma: {
- aidl::android::hardware::radio::CellIdentityWcdma wcdma;
- if (!translate(in.wcdma(), &wcdma)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::wcdma>(wcdma);
- } break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::tdscdma: {
- aidl::android::hardware::radio::CellIdentityTdscdma tdscdma;
- if (!translate(in.tdscdma(), &tdscdma)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::tdscdma>(tdscdma);
- } break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::cdma: {
- aidl::android::hardware::radio::CellIdentityCdma cdma;
- if (!translate(in.cdma(), &cdma)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::cdma>(cdma);
- } break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::lte: {
- aidl::android::hardware::radio::CellIdentityLte lte;
- if (!translate(in.lte(), <e)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::lte>(lte);
- } break;
- case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::nr: {
- aidl::android::hardware::radio::CellIdentityNr nr;
- if (!translate(in.nr(), &nr)) return false;
- out->set<aidl::android::hardware::radio::CellIdentity::nr>(nr);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo& in,
- aidl::android::hardware::radio::BarringInfo* out) {
- out->serviceType =
- static_cast<aidl::android::hardware::radio::BarringInfoServiceType>(in.serviceType);
- out->barringType =
- static_cast<aidl::android::hardware::radio::BarringInfoBarringType>(in.barringType);
- if (!translate(in.barringTypeSpecificInfo, &out->barringTypeSpecificInfo)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::Conditional&
- in,
- aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional* out) {
- out->factor = static_cast<int32_t>(in.factor);
- out->timeSeconds = static_cast<int32_t>(in.timeSeconds);
- out->isBarred = static_cast<bool>(in.isBarred);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo& in,
- aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::
- hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::
- hidl_discriminator::conditional: {
- aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional
- conditional;
- if (!translate(in.conditional(), &conditional)) return false;
- out->set<aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfo::
- conditional>(conditional);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo::
- Cdma2000RegistrationInfo& in,
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo* out) {
- out->cssSupported = static_cast<bool>(in.cssSupported);
- out->roamingIndicator = static_cast<int32_t>(in.roamingIndicator);
- out->systemIsInPrl =
- static_cast<aidl::android::hardware::radio::PrlIndicator>(in.systemIsInPrl);
- out->defaultRoamingIndicator = static_cast<int32_t>(in.defaultRoamingIndicator);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo::
- EutranRegistrationInfo& in,
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo* out) {
- if (!translate(in.lteVopsInfo, &out->lteVopsInfo)) return false;
- if (!translate(in.nrIndicators, &out->nrIndicators)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::AppStatus& in,
- aidl::android::hardware::radio::AppStatus* out) {
- out->appType = static_cast<aidl::android::hardware::radio::AppType>(in.base.appType);
- out->appState = static_cast<aidl::android::hardware::radio::AppState>(in.base.appState);
- out->persoSubstate =
- static_cast<aidl::android::hardware::radio::PersoSubstate>(in.persoSubstate);
- out->aidPtr = in.base.aidPtr;
- out->appLabelPtr = in.base.appLabelPtr;
- out->pin1Replaced = static_cast<int32_t>(in.base.pin1Replaced);
- out->pin1 = static_cast<aidl::android::hardware::radio::PinState>(in.base.pin1);
- out->pin2 = static_cast<aidl::android::hardware::radio::PinState>(in.base.pin2);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CardStatus& in,
- aidl::android::hardware::radio::CardStatus* out) {
- out->cardState =
- static_cast<aidl::android::hardware::radio::CardState>(in.base.base.base.cardState);
- out->universalPinState = static_cast<aidl::android::hardware::radio::PinState>(
- in.base.base.base.universalPinState);
- out->gsmUmtsSubscriptionAppIndex =
- static_cast<int32_t>(in.base.base.base.gsmUmtsSubscriptionAppIndex);
- out->cdmaSubscriptionAppIndex =
- static_cast<int32_t>(in.base.base.base.cdmaSubscriptionAppIndex);
- out->imsSubscriptionAppIndex = static_cast<int32_t>(in.base.base.base.imsSubscriptionAppIndex);
- {
- size_t size = in.applications.size();
- aidl::android::hardware::radio::AppStatus applications;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.applications[i], &applications)) return false;
- out->applications.push_back(applications);
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.base.physicalSlotId > std::numeric_limits<int32_t>::max() ||
- in.base.base.physicalSlotId < 0) {
- return false;
- }
- out->physicalSlotId = static_cast<int32_t>(in.base.base.physicalSlotId);
- out->atr = in.base.base.atr;
- out->iccid = in.base.base.iccid;
- out->eid = in.base.eid;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosBandwidth& in,
- aidl::android::hardware::radio::QosBandwidth* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.maxBitrateKbps > std::numeric_limits<int32_t>::max() || in.maxBitrateKbps < 0) {
- return false;
- }
- out->maxBitrateKbps = static_cast<int32_t>(in.maxBitrateKbps);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.guaranteedBitrateKbps > std::numeric_limits<int32_t>::max() ||
- in.guaranteedBitrateKbps < 0) {
- return false;
- }
- out->guaranteedBitrateKbps = static_cast<int32_t>(in.guaranteedBitrateKbps);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::EpsQos& in,
- aidl::android::hardware::radio::EpsQos* out) {
- out->qci = static_cast<char16_t>(in.qci);
- if (!translate(in.downlink, &out->downlink)) return false;
- if (!translate(in.uplink, &out->uplink)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrQos& in,
- aidl::android::hardware::radio::NrQos* out) {
- out->fiveQi = static_cast<char16_t>(in.fiveQi);
- if (!translate(in.downlink, &out->downlink)) return false;
- if (!translate(in.uplink, &out->uplink)) return false;
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.qfi > std::numeric_limits<int8_t>::max() || in.qfi < 0) {
- return false;
- }
- out->qfi = static_cast<int8_t>(in.qfi);
- out->averagingWindowMs = static_cast<char16_t>(in.averagingWindowMs);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Qos& in,
- aidl::android::hardware::radio::Qos* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::eps: {
- aidl::android::hardware::radio::EpsQos eps;
- if (!translate(in.eps(), &eps)) return false;
- out->set<aidl::android::hardware::radio::Qos::eps>(eps);
- } break;
- case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::nr: {
- aidl::android::hardware::radio::NrQos nr;
- if (!translate(in.nr(), &nr)) return false;
- out->set<aidl::android::hardware::radio::Qos::nr>(nr);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RadioResponseInfo& in,
- aidl::android::hardware::radio::RadioResponseInfo* out) {
- out->type = static_cast<aidl::android::hardware::radio::RadioResponseType>(in.type);
- out->serial = static_cast<int32_t>(in.serial);
- out->error = static_cast<aidl::android::hardware::radio::RadioError>(in.error);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PortRange& in,
- aidl::android::hardware::radio::PortRange* out) {
- out->start = static_cast<int32_t>(in.start);
- out->end = static_cast<int32_t>(in.end);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::MaybePort& in,
- aidl::android::hardware::radio::MaybePort* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::MaybePort::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::MaybePort::hidl_discriminator::range: {
- aidl::android::hardware::radio::PortRange range;
- if (!translate(in.range(), &range)) return false;
- out->set<aidl::android::hardware::radio::MaybePort::range>(range);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter& in,
- aidl::android::hardware::radio::QosFilter* out) {
- {
- size_t size = in.localAddresses.size();
- for (size_t i = 0; i < size; i++) {
- out->localAddresses.push_back(in.localAddresses[i]);
- }
- }
- {
- size_t size = in.remoteAddresses.size();
- for (size_t i = 0; i < size; i++) {
- out->remoteAddresses.push_back(in.remoteAddresses[i]);
- }
- }
- if (!translate(in.localPort, &out->localPort)) return false;
- if (!translate(in.remotePort, &out->remotePort)) return false;
- out->protocol = static_cast<aidl::android::hardware::radio::QosProtocol>(in.protocol);
- if (!translate(in.tos, &out->tos)) return false;
- if (!translate(in.flowLabel, &out->flowLabel)) return false;
- if (!translate(in.spi, &out->spi)) return false;
- out->direction = static_cast<aidl::android::hardware::radio::QosFilterDirection>(in.direction);
- out->precedence = static_cast<int32_t>(in.precedence);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::TypeOfService& in,
- aidl::android::hardware::radio::QosFilterTypeOfService* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::QosFilter::TypeOfService::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::QosFilter::TypeOfService::hidl_discriminator::value:
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.value() > std::numeric_limits<int8_t>::max() || in.value() < 0) {
- return false;
- }
- *out = static_cast<int8_t>(in.value());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel& in,
- aidl::android::hardware::radio::QosFilterIpv6FlowLabel* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel::hidl_discriminator::value:
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.value() > std::numeric_limits<int32_t>::max() || in.value() < 0) {
- return false;
- }
- *out = static_cast<int32_t>(in.value());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::IpsecSpi& in,
- aidl::android::hardware::radio::QosFilterIpsecSpi* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::QosFilter::IpsecSpi::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::QosFilter::IpsecSpi::hidl_discriminator::value:
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.value() > std::numeric_limits<int32_t>::max() || in.value() < 0) {
- return false;
- }
- *out = static_cast<int32_t>(in.value());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosSession& in,
- aidl::android::hardware::radio::QosSession* out) {
- out->qosSessionId = static_cast<int32_t>(in.qosSessionId);
- if (!translate(in.qos, &out->qos)) return false;
- {
- size_t size = in.qosFilters.size();
- aidl::android::hardware::radio::QosFilter qosFilters;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.qosFilters[i], &qosFilters)) return false;
- out->qosFilters.push_back(qosFilters);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SetupDataCallResult& in,
- aidl::android::hardware::radio::SetupDataCallResult* out) {
- out->cause = static_cast<aidl::android::hardware::radio::DataCallFailCause>(in.cause);
- out->suggestedRetryTime = static_cast<int64_t>(in.suggestedRetryTime);
- out->cid = static_cast<int32_t>(in.cid);
- out->active = static_cast<aidl::android::hardware::radio::DataConnActiveStatus>(in.active);
- out->type = static_cast<aidl::android::hardware::radio::PdpProtocolType>(in.type);
- out->ifname = in.ifname;
- {
- size_t size = in.addresses.size();
- aidl::android::hardware::radio::LinkAddress addresses;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.addresses[i], &addresses)) return false;
- out->addresses.push_back(addresses);
- }
- }
- {
- size_t size = in.dnses.size();
- for (size_t i = 0; i < size; i++) {
- out->dnses.push_back(in.dnses[i]);
- }
- }
- {
- size_t size = in.gateways.size();
- for (size_t i = 0; i < size; i++) {
- out->gateways.push_back(in.gateways[i]);
- }
- }
- {
- size_t size = in.pcscf.size();
- for (size_t i = 0; i < size; i++) {
- out->pcscf.push_back(in.pcscf[i]);
- }
- }
- out->mtuV4 = static_cast<int32_t>(in.mtuV4);
- out->mtuV6 = static_cast<int32_t>(in.mtuV6);
- if (!translate(in.defaultQos, &out->defaultQos)) return false;
- {
- size_t size = in.qosSessions.size();
- aidl::android::hardware::radio::QosSession qosSessions;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.qosSessions[i], &qosSessions)) return false;
- out->qosSessions.push_back(qosSessions);
- }
- }
- out->handoverFailureMode = static_cast<aidl::android::hardware::radio::HandoverFailureMode>(
- in.handoverFailureMode);
- out->pduSessionId = static_cast<int32_t>(in.pduSessionId);
- if (!translate(in.sliceInfo, &out->sliceInfo)) return false;
- {
- size_t size = in.trafficDescriptors.size();
- aidl::android::hardware::radio::TrafficDescriptor trafficDescriptors;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.trafficDescriptors[i], &trafficDescriptors)) return false;
- out->trafficDescriptors.push_back(trafficDescriptors);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::LinkCapacityEstimate& in,
- aidl::android::hardware::radio::LinkCapacityEstimate* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.downlinkCapacityKbps > std::numeric_limits<int32_t>::max() ||
- in.downlinkCapacityKbps < 0) {
- return false;
- }
- out->downlinkCapacityKbps = static_cast<int32_t>(in.downlinkCapacityKbps);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.uplinkCapacityKbps > std::numeric_limits<int32_t>::max() || in.uplinkCapacityKbps < 0) {
- return false;
- }
- out->uplinkCapacityKbps = static_cast<int32_t>(in.uplinkCapacityKbps);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.secondaryDownlinkCapacityKbps > std::numeric_limits<int32_t>::max() ||
- in.secondaryDownlinkCapacityKbps < 0) {
- return false;
- }
- out->secondaryDownlinkCapacityKbps = static_cast<int32_t>(in.secondaryDownlinkCapacityKbps);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.secondaryUplinkCapacityKbps > std::numeric_limits<int32_t>::max() ||
- in.secondaryUplinkCapacityKbps < 0) {
- return false;
- }
- out->secondaryUplinkCapacityKbps = static_cast<int32_t>(in.secondaryUplinkCapacityKbps);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrVopsInfo& in,
- aidl::android::hardware::radio::NrVopsInfo* out) {
- out->vopsSupported =
- static_cast<aidl::android::hardware::radio::VopsIndicator>(in.vopsSupported);
- out->emcSupported = static_cast<aidl::android::hardware::radio::EmcIndicator>(in.emcSupported);
- out->emfSupported = static_cast<aidl::android::hardware::radio::EmfIndicator>(in.emfSupported);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::LteSignalStrength& in,
- aidl::android::hardware::radio::LteSignalStrength* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.signalStrength > std::numeric_limits<int32_t>::max() ||
- in.base.signalStrength < 0) {
- return false;
- }
- out->signalStrength = static_cast<int32_t>(in.base.signalStrength);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.rsrp > std::numeric_limits<int32_t>::max() || in.base.rsrp < 0) {
- return false;
- }
- out->rsrp = static_cast<int32_t>(in.base.rsrp);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.rsrq > std::numeric_limits<int32_t>::max() || in.base.rsrq < 0) {
- return false;
- }
- out->rsrq = static_cast<int32_t>(in.base.rsrq);
- out->rssnr = static_cast<int32_t>(in.base.rssnr);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.cqi > std::numeric_limits<int32_t>::max() || in.base.cqi < 0) {
- return false;
- }
- out->cqi = static_cast<int32_t>(in.base.cqi);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.timingAdvance > std::numeric_limits<int32_t>::max() || in.base.timingAdvance < 0) {
- return false;
- }
- out->timingAdvance = static_cast<int32_t>(in.base.timingAdvance);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.cqiTableIndex > std::numeric_limits<int32_t>::max() || in.cqiTableIndex < 0) {
- return false;
- }
- out->cqiTableIndex = static_cast<int32_t>(in.cqiTableIndex);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrSignalStrength& in,
- aidl::android::hardware::radio::NrSignalStrength* out) {
- out->ssRsrp = static_cast<int32_t>(in.base.ssRsrp);
- out->ssRsrq = static_cast<int32_t>(in.base.ssRsrq);
- out->ssSinr = static_cast<int32_t>(in.base.ssSinr);
- out->csiRsrp = static_cast<int32_t>(in.base.csiRsrp);
- out->csiRsrq = static_cast<int32_t>(in.base.csiRsrq);
- out->csiSinr = static_cast<int32_t>(in.base.csiSinr);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.csiCqiTableIndex > std::numeric_limits<int32_t>::max() || in.csiCqiTableIndex < 0) {
- return false;
- }
- out->csiCqiTableIndex = static_cast<int32_t>(in.csiCqiTableIndex);
- {
- size_t size = in.csiCqiReport.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.csiCqiReport[i] > std::numeric_limits<int8_t>::max() || in.csiCqiReport[i] < 0) {
- return false;
- }
- out->csiCqiReport.push_back(static_cast<int8_t>(in.csiCqiReport[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SignalStrength& in,
- aidl::android::hardware::radio::SignalStrength* out) {
- if (!translate(in.gsm, &out->gsm)) return false;
- if (!translate(in.cdma, &out->cdma)) return false;
- if (!translate(in.evdo, &out->evdo)) return false;
- if (!translate(in.lte, &out->lte)) return false;
- if (!translate(in.tdscdma, &out->tdscdma)) return false;
- if (!translate(in.wcdma, &out->wcdma)) return false;
- if (!translate(in.nr, &out->nr)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfoLte& in,
- aidl::android::hardware::radio::CellInfoLte* out) {
- if (!translate(in.cellIdentityLte, &out->cellIdentityLte)) return false;
- if (!translate(in.signalStrengthLte, &out->signalStrengthLte)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfoNr& in,
- aidl::android::hardware::radio::CellInfoNr* out) {
- if (!translate(in.cellIdentityNr, &out->cellIdentityNr)) return false;
- if (!translate(in.signalStrengthNr, &out->signalStrengthNr)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfo& in,
- aidl::android::hardware::radio::CellInfo* out) {
- out->registered = static_cast<bool>(in.registered);
- out->connectionStatus =
- static_cast<aidl::android::hardware::radio::CellConnectionStatus>(in.connectionStatus);
- if (!translate(in.ratSpecificInfo, &out->ratSpecificInfo)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo& in,
- aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::gsm: {
- aidl::android::hardware::radio::CellInfoGsm gsm;
- if (!translate(in.gsm(), &gsm)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::gsm>(gsm);
- } break;
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::wcdma: {
- aidl::android::hardware::radio::CellInfoWcdma wcdma;
- if (!translate(in.wcdma(), &wcdma)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::wcdma>(wcdma);
- } break;
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::tdscdma: {
- aidl::android::hardware::radio::CellInfoTdscdma tdscdma;
- if (!translate(in.tdscdma(), &tdscdma)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::tdscdma>(
- tdscdma);
- } break;
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::lte: {
- aidl::android::hardware::radio::CellInfoLte lte;
- if (!translate(in.lte(), <e)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::lte>(lte);
- } break;
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::nr: {
- aidl::android::hardware::radio::CellInfoNr nr;
- if (!translate(in.nr(), &nr)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::nr>(nr);
- } break;
- case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo::
- hidl_discriminator::cdma: {
- aidl::android::hardware::radio::CellInfoCdma cdma;
- if (!translate(in.cdma(), &cdma)) return false;
- out->set<aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo::cdma>(cdma);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NetworkScanResult& in,
- aidl::android::hardware::radio::NetworkScanResult* out) {
- out->status = static_cast<aidl::android::hardware::radio::ScanStatus>(in.status);
- out->error = static_cast<aidl::android::hardware::radio::RadioError>(in.error);
- {
- size_t size = in.networkInfos.size();
- aidl::android::hardware::radio::CellInfo networkInfos;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.networkInfos[i], &networkInfos)) return false;
- out->networkInfos.push_back(networkInfos);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RegStateResult& in,
- aidl::android::hardware::radio::RegStateResult* out) {
- out->regState = static_cast<aidl::android::hardware::radio::RegState>(in.regState);
- out->rat = static_cast<aidl::android::hardware::radio::RadioTechnology>(in.rat);
- out->reasonForDenial =
- static_cast<aidl::android::hardware::radio::RegistrationFailCause>(in.reasonForDenial);
- if (!translate(in.cellIdentity, &out->cellIdentity)) return false;
- out->registeredPlmn = in.registeredPlmn;
- if (!translate(in.accessTechnologySpecificInfo, &out->accessTechnologySpecificInfo))
- return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo& in,
- aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo::
- hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo::
- hidl_discriminator::cdmaInfo: {
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo;
- if (!translate(in.cdmaInfo(), &cdmaInfo)) return false;
- out->set<aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo::
- cdmaInfo>(cdmaInfo);
- } break;
- case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo::
- hidl_discriminator::eutranInfo: {
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo;
- if (!translate(in.eutranInfo(), &eutranInfo)) return false;
- out->set<aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo::
- eutranInfo>(eutranInfo);
- } break;
- case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo::
- hidl_discriminator::ngranNrVopsInfo: {
- aidl::android::hardware::radio::NrVopsInfo ngranNrVopsInfo;
- if (!translate(in.ngranNrVopsInfo(), &ngranNrVopsInfo)) return false;
- out->set<aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo::
- ngranNrVopsInfo>(ngranNrVopsInfo);
- } break;
- case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo::
- hidl_discriminator::geranDtmSupported:
- out->set<aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo::
- geranDtmSupported>(static_cast<bool>(in.geranDtmSupported()));
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Call& in,
- aidl::android::hardware::radio::Call* out) {
- out->state = static_cast<aidl::android::hardware::radio::CallState>(in.base.base.state);
- out->index = static_cast<int32_t>(in.base.base.index);
- out->toa = static_cast<int32_t>(in.base.base.toa);
- out->isMpty = static_cast<bool>(in.base.base.isMpty);
- out->isMT = static_cast<bool>(in.base.base.isMT);
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.base.base.als > std::numeric_limits<int8_t>::max() || in.base.base.als < 0) {
- return false;
- }
- out->als = static_cast<int8_t>(in.base.base.als);
- out->isVoice = static_cast<bool>(in.base.base.isVoice);
- out->isVoicePrivacy = static_cast<bool>(in.base.base.isVoicePrivacy);
- out->number = in.base.base.number;
- out->numberPresentation = static_cast<aidl::android::hardware::radio::CallPresentation>(
- in.base.base.numberPresentation);
- out->name = in.base.base.name;
- out->namePresentation = static_cast<aidl::android::hardware::radio::CallPresentation>(
- in.base.base.namePresentation);
- {
- size_t size = in.base.base.uusInfo.size();
- aidl::android::hardware::radio::UusInfo uusInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.base.base.uusInfo[i], &uusInfo)) return false;
- out->uusInfo.push_back(uusInfo);
- }
- }
- out->audioQuality =
- static_cast<aidl::android::hardware::radio::AudioQuality>(in.base.audioQuality);
- out->forwardedNumber = in.forwardedNumber;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhysicalChannelConfig& in,
- aidl::android::hardware::radio::PhysicalChannelConfig* out) {
- out->status = static_cast<aidl::android::hardware::radio::CellConnectionStatus>(in.status);
- out->rat = static_cast<aidl::android::hardware::radio::RadioTechnology>(in.rat);
- out->downlinkChannelNumber = static_cast<int32_t>(in.downlinkChannelNumber);
- out->uplinkChannelNumber = static_cast<int32_t>(in.uplinkChannelNumber);
- out->cellBandwidthDownlinkKhz = static_cast<int32_t>(in.cellBandwidthDownlinkKhz);
- out->cellBandwidthUplinkKhz = static_cast<int32_t>(in.cellBandwidthUplinkKhz);
- {
- size_t size = in.contextIds.size();
- for (size_t i = 0; i < size; i++) {
- out->contextIds.push_back(static_cast<int32_t>(in.contextIds[i]));
- }
- }
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.physicalCellId > std::numeric_limits<int32_t>::max() || in.physicalCellId < 0) {
- return false;
- }
- out->physicalCellId = static_cast<int32_t>(in.physicalCellId);
- if (!translate(in.band, &out->band)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band& in,
- aidl::android::hardware::radio::PhysicalChannelConfigBand* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator::
- geranBand:
- *out = static_cast<aidl::android::hardware::radio::GeranBands>(in.geranBand());
- break;
- case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator::
- utranBand:
- *out = static_cast<aidl::android::hardware::radio::UtranBands>(in.utranBand());
- break;
- case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator::
- eutranBand:
- *out = static_cast<aidl::android::hardware::radio::EutranBands>(in.eutranBand());
- break;
- case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator::
- ngranBand:
- *out = static_cast<aidl::android::hardware::radio::NgranBands>(in.ngranBand());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalSliceInfo& in,
- aidl::android::hardware::radio::OptionalSliceInfo* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalSliceInfo::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalSliceInfo::hidl_discriminator::value: {
- aidl::android::hardware::radio::SliceInfo value;
- if (!translate(in.value(), &value)) return false;
- out->set<aidl::android::hardware::radio::OptionalSliceInfo::value>(value);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SliceInfo& in,
- aidl::android::hardware::radio::SliceInfo* out) {
- out->sst = static_cast<aidl::android::hardware::radio::SliceServiceType>(in.sst);
- out->sliceDifferentiator = static_cast<int32_t>(in.sliceDifferentiator);
- out->mappedHplmnSst =
- static_cast<aidl::android::hardware::radio::SliceServiceType>(in.mappedHplmnSst);
- out->mappedHplmnSD = static_cast<int32_t>(in.mappedHplmnSD);
- out->status = static_cast<aidl::android::hardware::radio::SliceStatus>(in.status);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalDnn& in,
- aidl::android::hardware::radio::OptionalDnn* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalDnn::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalDnn::hidl_discriminator::value:
- *out = in.value();
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalOsAppId& in,
- aidl::android::hardware::radio::OptionalOsAppId* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalOsAppId::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalOsAppId::hidl_discriminator::value: {
- aidl::android::hardware::radio::OsAppId value;
- if (!translate(in.value(), &value)) return false;
- out->set<aidl::android::hardware::radio::OptionalOsAppId::value>(value);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalTrafficDescriptor& in,
- aidl::android::hardware::radio::OptionalTrafficDescriptor* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalTrafficDescriptor::hidl_discriminator::
- noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalTrafficDescriptor::hidl_discriminator::
- value: {
- aidl::android::hardware::radio::TrafficDescriptor value;
- if (!translate(in.value(), &value)) return false;
- out->set<aidl::android::hardware::radio::OptionalTrafficDescriptor::value>(value);
- } break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::TrafficDescriptor& in,
- aidl::android::hardware::radio::TrafficDescriptor* out) {
- if (!translate(in.dnn, &out->dnn)) return false;
- if (!translate(in.osAppId, &out->osAppId)) return false;
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OsAppId& in,
- aidl::android::hardware::radio::OsAppId* out) {
- {
- size_t size = in.osAppId.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.osAppId[i] > std::numeric_limits<int8_t>::max() || in.osAppId[i] < 0) {
- return false;
- }
- out->osAppId.push_back(static_cast<int8_t>(in.osAppId[i]));
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SlicingConfig& in,
- aidl::android::hardware::radio::SlicingConfig* out) {
- {
- size_t size = in.urspRules.size();
- aidl::android::hardware::radio::UrspRule urspRules;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.urspRules[i], &urspRules)) return false;
- out->urspRules.push_back(urspRules);
- }
- }
- {
- size_t size = in.sliceInfo.size();
- aidl::android::hardware::radio::SliceInfo sliceInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.sliceInfo[i], &sliceInfo)) return false;
- out->sliceInfo.push_back(sliceInfo);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::UrspRule& in,
- aidl::android::hardware::radio::UrspRule* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.precedence > std::numeric_limits<int8_t>::max() || in.precedence < 0) {
- return false;
- }
- out->precedence = static_cast<int8_t>(in.precedence);
- {
- size_t size = in.trafficDescriptors.size();
- aidl::android::hardware::radio::TrafficDescriptor trafficDescriptors;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.trafficDescriptors[i], &trafficDescriptors)) return false;
- out->trafficDescriptors.push_back(trafficDescriptors);
- }
- }
- {
- size_t size = in.routeSelectionDescriptor.size();
- aidl::android::hardware::radio::RouteSelectionDescriptor routeSelectionDescriptor;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.routeSelectionDescriptor[i], &routeSelectionDescriptor)) return false;
- out->routeSelectionDescriptor.push_back(routeSelectionDescriptor);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RouteSelectionDescriptor& in,
- aidl::android::hardware::radio::RouteSelectionDescriptor* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.precedence > std::numeric_limits<int8_t>::max() || in.precedence < 0) {
- return false;
- }
- out->precedence = static_cast<int8_t>(in.precedence);
- if (!translate(in.sessionType, &out->sessionType)) return false;
- if (!translate(in.sscMode, &out->sscMode)) return false;
- {
- size_t size = in.sliceInfo.size();
- aidl::android::hardware::radio::SliceInfo sliceInfo;
- for (size_t i = 0; i < size; i++) {
- if (!translate(in.sliceInfo[i], &sliceInfo)) return false;
- out->sliceInfo.push_back(sliceInfo);
- }
- }
- {
- size_t size = in.dnn.size();
- for (size_t i = 0; i < size; i++) {
- out->dnn.push_back(in.dnn[i]);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalPdpProtocolType& in,
- aidl::android::hardware::radio::OptionalPdpProtocolType* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalPdpProtocolType::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalPdpProtocolType::hidl_discriminator::value:
- *out = static_cast<aidl::android::hardware::radio::PdpProtocolType>(in.value());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalSscMode& in,
- aidl::android::hardware::radio::OptionalSscMode* out) {
- switch (in.getDiscriminator()) {
- case ::android::hardware::radio::V1_6::OptionalSscMode::hidl_discriminator::noinit:
- // Nothing to translate for Monostate.
- break;
- case ::android::hardware::radio::V1_6::OptionalSscMode::hidl_discriminator::value:
- *out = static_cast<aidl::android::hardware::radio::SscMode>(in.value());
- break;
- default:
- return false;
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::ImsiEncryptionInfo& in,
- aidl::android::hardware::radio::ImsiEncryptionInfo* out) {
- out->mcc = in.base.mcc;
- out->mnc = in.base.mnc;
- {
- size_t size = in.base.carrierKey.size();
- for (size_t i = 0; i < size; i++) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't
- // suit your needs.
- if (in.base.carrierKey[i] > std::numeric_limits<int8_t>::max() ||
- in.base.carrierKey[i] < 0) {
- return false;
- }
- out->carrierKey.push_back(static_cast<int8_t>(in.base.carrierKey[i]));
- }
- }
- out->keyIdentifier = in.base.keyIdentifier;
- out->expirationTime = static_cast<int64_t>(in.base.expirationTime);
- out->keyType = static_cast<aidl::android::hardware::radio::PublicKeyType>(in.keyType);
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhonebookRecordInfo& in,
- aidl::android::hardware::radio::PhonebookRecordInfo* out) {
- // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit
- // your needs.
- if (in.recordId > std::numeric_limits<int32_t>::max() || in.recordId < 0) {
- return false;
- }
- out->recordId = static_cast<int32_t>(in.recordId);
- out->name = in.name;
- out->number = in.number;
- {
- size_t size = in.emails.size();
- for (size_t i = 0; i < size; i++) {
- out->emails.push_back(in.emails[i]);
- }
- }
- {
- size_t size = in.additionalNumbers.size();
- for (size_t i = 0; i < size; i++) {
- out->additionalNumbers.push_back(in.additionalNumbers[i]);
- }
- }
- return true;
-}
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhonebookCapacity& in,
- aidl::android::hardware::radio::PhonebookCapacity* out) {
- out->maxAdnRecords = static_cast<int32_t>(in.maxAdnRecords);
- out->usedAdnRecords = static_cast<int32_t>(in.usedAdnRecords);
- out->maxEmailRecords = static_cast<int32_t>(in.maxEmailRecords);
- out->usedEmailRecords = static_cast<int32_t>(in.usedEmailRecords);
- out->maxAdditionalNumberRecords = static_cast<int32_t>(in.maxAdditionalNumberRecords);
- out->usedAdditionalNumberRecords = static_cast<int32_t>(in.usedAdditionalNumberRecords);
- out->maxNameLen = static_cast<int32_t>(in.maxNameLen);
- out->maxNumberLen = static_cast<int32_t>(in.maxNumberLen);
- out->maxEmailLen = static_cast<int32_t>(in.maxEmailLen);
- out->maxAdditionalNumberLen = static_cast<int32_t>(in.maxAdditionalNumberLen);
- return true;
-}
-
-} // namespace android::h2a
diff --git a/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl
new file mode 100644
index 0000000..94d5f88
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Audio codec which is used on GSM, UMTS, and CDMA. These values must be opaque to the Android
+ * framework. Only for display.
+ */
+@VintfStability
+@Backing(type="int")
+enum AudioQuality {
+ /**
+ * Unspecified audio codec
+ */
+ UNSPECIFIED,
+ /**
+ * AMR (Narrowband) audio codec
+ */
+ AMR,
+ /**
+ * AMR (Wideband) audio codec
+ */
+ AMR_WB,
+ /**
+ * GSM Enhanced Full-Rate audio codec
+ */
+ GSM_EFR,
+ /**
+ * GSM Full-Rate audio codec
+ */
+ GSM_FR,
+ /**
+ * GSM Half-Rate audio codec
+ */
+ GSM_HR,
+ /**
+ * Enhanced Variable rate codec
+ */
+ EVRC,
+ /**
+ * Enhanced Variable rate codec revision B
+ */
+ EVRC_B,
+ /**
+ * Enhanced Variable rate codec (Wideband)
+ */
+ EVRC_WB,
+ /**
+ * Enhanced Variable rate codec (Narrowband)
+ */
+ EVRC_NW,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/Call.aidl b/radio/aidl/android/hardware/radio/voice/Call.aidl
new file mode 100644
index 0000000..beb079b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/Call.aidl
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.AudioQuality;
+import android.hardware.radio.voice.UusInfo;
+
+@VintfStability
+parcelable Call {
+ const int PRESENTATION_ALLOWED = 0;
+ const int PRESENTATION_RESTRICTED = 1;
+ const int PRESENTATION_UNKNOWN = 2;
+ const int PRESENTATION_PAYPHONE = 3;
+
+ const int STATE_ACTIVE = 0;
+ const int STATE_HOLDING = 1;
+ /**
+ * MO call only
+ */
+ const int STATE_DIALING = 2;
+ /**
+ * MO call only
+ */
+ const int STATE_ALERTING = 3;
+ /**
+ * MT call only
+ */
+ const int STATE_INCOMING = 4;
+ /**
+ * MT call only
+ */
+ const int STATE_WAITING = 5;
+
+ /**
+ * Values are STATE_
+ */
+ int state;
+ /**
+ * Connection index for use with, eg, AT+CHLD
+ */
+ int index;
+ /**
+ * Type of address, eg 145 = intl
+ */
+ int toa;
+ /**
+ * true if is mpty call
+ */
+ boolean isMpty;
+ /**
+ * true if call is mobile terminated
+ */
+ boolean isMT;
+ /**
+ * ALS line indicator if availale (0 = line 1)
+ */
+ byte als;
+ /**
+ * true if this is a voice call
+ */
+ boolean isVoice;
+ /**
+ * true if CDMA voice privacy mode is active
+ */
+ boolean isVoicePrivacy;
+ /**
+ * Remote party nummber
+ */
+ String number;
+ /**
+ * Values are PRESENTATION_
+ */
+ int numberPresentation;
+ /**
+ * Remote party name
+ */
+ String name;
+ /**
+ * Values are PRESENTATION_
+ */
+ int namePresentation;
+ /**
+ * Vector of User-User Signaling Information
+ */
+ UusInfo[] uusInfo;
+ AudioQuality audioQuality;
+ /**
+ * Forwarded number. It can set only one forwarded number based on 3GPP rule of the CS.
+ * Reference: 3GPP TS 24.008 section 10.5.4.21b
+ */
+ String forwardedNumber;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl
new file mode 100644
index 0000000..b7ddcd9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+/**
+ * See also com.android.internal.telephony.gsm.CallForwardInfo
+ */
+@VintfStability
+parcelable CallForwardInfo {
+ const int STATUS_DISABLE = 0;
+ const int STATUS_ENABLE = 1;
+ const int STATUS_INTERROGATE = 2;
+ const int STATUS_REGISTRATION = 3;
+ const int STATUS_ERASURE = 4;
+
+ /**
+ * For queryCallForwardStatus() status is STATUS_DISABLE (Not used by vendor code currently)
+ * For setCallForward() status must be STATUS_DISABLE, STATUS_ENABLE, STATUS_INTERROGATE,
+ * STATUS_REGISTRATION, STATUS_ERASURE
+ * Values are STATUS_
+ */
+ int status;
+ /**
+ * From TS 27.007 7.11 "reason"
+ */
+ int reason;
+ /**
+ * From TS 27.007 +CCFC/+CLCK "class". See table for Android mapping from MMI service code.
+ * 0 means user doesn't input class.
+ */
+ int serviceClass;
+ /**
+ * From TS 27.007 7.11 "type"
+ */
+ int toa;
+ /**
+ * From TS 27.007 7.11 "number"
+ */
+ String number;
+ int timeSeconds;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl
new file mode 100644
index 0000000..7ba6a72
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+import android.hardware.radio.voice.CdmaSignalInfoRecord;
+
+@VintfStability
+parcelable CdmaCallWaiting {
+ const int NUMBER_PLAN_UNKNOWN = 0;
+ const int NUMBER_PLAN_ISDN = 1;
+ const int NUMBER_PLAN_DATA = 3;
+ const int NUMBER_PLAN_TELEX = 4;
+ const int NUMBER_PLAN_NATIONAL = 8;
+ const int NUMBER_PLAN_PRIVATE = 9;
+
+ const int NUMBER_PRESENTATION_ALLOWED = 0;
+ const int NUMBER_PRESENTATION_RESTRICTED = 1;
+ const int NUMBER_PRESENTATION_UNKNOWN = 2;
+
+ const int NUMBER_TYPE_UNKNOWN = 0;
+ const int NUMBER_TYPE_INTERNATIONAL = 1;
+ const int NUMBER_TYPE_NATIONAL = 2;
+ const int NUMBER_TYPE_NETWORK_SPECIFIC = 3;
+ const int NUMBER_TYPE_SUBSCRIBER = 4;
+
+ /**
+ * Remote party number
+ */
+ String number;
+ /**
+ * Values are NUMBER_PRESENTATION_
+ */
+ int numberPresentation;
+ /**
+ * Remote party name
+ */
+ String name;
+ CdmaSignalInfoRecord signalInfoRecord;
+ /**
+ * Required to support International Call Waiting
+ * Values are NUMBER_TYPE_
+ */
+ int numberType;
+ /**
+ * Required to support International Call Waiting
+ * Values are NUMBER_PLAN_
+ */
+ int numberPlan;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
new file mode 100644
index 0000000..18a1ce4
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Display Info Rec as defined in C.S0005 section 3.7.5.1. Extended Display Info Rec as defined in
+ * C.S0005 section 3.7.5.16. Note that the Extended Display info rec contains multiple records of
+ * the form: display_tag, display_len, and display_len occurrences of the char field if the
+ * display_tag is not 10000000 or 10000001. To save space, the records are stored consecutively in
+ * a byte buffer. The display_tag, display_len and chari fields are all 1 byte.
+ */
+@VintfStability
+parcelable CdmaDisplayInfoRecord {
+ /**
+ * Max length = RadioConst: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
new file mode 100644
index 0000000..af37dac
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+import android.hardware.radio.voice.CdmaDisplayInfoRecord;
+import android.hardware.radio.voice.CdmaLineControlInfoRecord;
+import android.hardware.radio.voice.CdmaNumberInfoRecord;
+import android.hardware.radio.voice.CdmaRedirectingNumberInfoRecord;
+import android.hardware.radio.voice.CdmaSignalInfoRecord;
+import android.hardware.radio.voice.CdmaT53AudioControlInfoRecord;
+import android.hardware.radio.voice.CdmaT53ClirInfoRecord;
+
+@VintfStability
+parcelable CdmaInformationRecord {
+ /**
+ * Names of the CDMA info records (C.S0005 section 3.7.5)
+ */
+ const int NAME_DISPLAY = 0;
+ const int NAME_CALLED_PARTY_NUMBER = 1;
+ const int NAME_CALLING_PARTY_NUMBER = 2;
+ const int NAME_CONNECTED_NUMBER = 3;
+ const int NAME_SIGNAL = 4;
+ const int NAME_REDIRECTING_NUMBER = 5;
+ const int NAME_LINE_CONTROL = 6;
+ const int NAME_EXTENDED_DISPLAY = 7;
+ const int NAME_T53_CLIR = 8;
+ const int NAME_T53_RELEASE = 9;
+ const int NAME_T53_AUDIO_CONTROL = 10;
+
+ /**
+ * Based on CdmaInfoRecName, only one of the below vectors must have size = 1.
+ * All other vectors must have size 0.
+ * Values are NAME_
+ */
+ int name;
+ /**
+ * Display and extended display info rec
+ */
+ CdmaDisplayInfoRecord[] display;
+ /**
+ * Called party number, calling party number, connected number info rec
+ */
+ CdmaNumberInfoRecord[] number;
+ /**
+ * Signal info rec
+ */
+ CdmaSignalInfoRecord[] signal;
+ /**
+ * Redirecting number info rec
+ */
+ CdmaRedirectingNumberInfoRecord[] redir;
+ /**
+ * Line control info rec
+ */
+ CdmaLineControlInfoRecord[] lineCtrl;
+ /**
+ * T53 CLIR info rec
+ */
+ CdmaT53ClirInfoRecord[] clir;
+ /**
+ * T53 Audio Control info rec
+ */
+ CdmaT53AudioControlInfoRecord[] audioCtrl;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
new file mode 100644
index 0000000..46a9b1a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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/CdmaLineControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
new file mode 100644
index 0000000..c3bda23
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Line Control Information Record as defined in C.S0005 section 3.7.5.15
+ */
+@VintfStability
+parcelable CdmaLineControlInfoRecord {
+ byte lineCtrlPolarityIncluded;
+ byte lineCtrlToggle;
+ byte lineCtrlReverse;
+ byte lineCtrlPowerDenial;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
new file mode 100644
index 0000000..41ce08f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * Called Party Number Info Rec as defined in C.S0005 section 3.7.5.2
+ * Calling Party Number Info Rec as defined in C.S0005 section 3.7.5.3
+ * Connected Number Info Rec as defined in C.S0005 section 3.7.5.4
+ */
+@VintfStability
+parcelable CdmaNumberInfoRecord {
+ /**
+ * Max length = RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH
+ */
+ String number;
+ byte numberType;
+ byte numberPlan;
+ byte pi;
+ byte si;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
new file mode 100644
index 0000000..7b4205a
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+@Backing(type="int")
+enum CdmaOtaProvisionStatus {
+ SPL_UNLOCKED,
+ SPC_RETRIES_EXCEEDED,
+ A_KEY_EXCHANGED,
+ SSD_UPDATED,
+ NAM_DOWNLOADED,
+ MDN_DOWNLOADED,
+ IMSI_DOWNLOADED,
+ PRL_DOWNLOADED,
+ COMMITTED,
+ OTAPA_STARTED,
+ OTAPA_STOPPED,
+ OTAPA_ABORTED,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
new file mode 100644
index 0000000..f3bcc0f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+import android.hardware.radio.voice.CdmaNumberInfoRecord;
+
+@VintfStability
+parcelable CdmaRedirectingNumberInfoRecord {
+ /**
+ * Redirecting Number Information Record as defined in C.S0005 section 3.7.5.11
+ */
+ const int REDIRECTING_REASON_UNKNOWN = 0;
+ const int REDIRECTING_REASON_CALL_FORWARDING_BUSY = 1;
+ const int REDIRECTING_REASON_CALL_FORWARDING_NO_REPLY = 2;
+ const int REDIRECTING_REASON_CALLED_DTE_OUT_OF_ORDER = 9;
+ const int REDIRECTING_REASON_CALL_FORWARDING_BY_THE_CALLED_DTE = 10;
+ const int REDIRECTING_REASON_CALL_FORWARDING_UNCONDITIONAL = 15;
+ const int REDIRECTING_REASON_RESERVED = 16;
+
+ CdmaNumberInfoRecord redirectingNumber;
+ /**
+ * Set to UNKNOWN if not included.
+ * Values are REDIRECTING_REASON_
+ */
+ int redirectingReason;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
new file mode 100644
index 0000000..5fc8776
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+/**
+ * CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5
+ */
+@VintfStability
+parcelable CdmaSignalInfoRecord {
+ /**
+ * True if signal information record is present
+ */
+ boolean isPresent;
+ /**
+ * Defined in 3.7.5.5-1
+ */
+ byte signalType;
+ /**
+ * Defined in 3.7.5.5-2
+ */
+ byte alertPitch;
+ /**
+ * Defined in 3.7.5.5-3, 3.7.5.5-4 or 3.7.5.5-5
+ */
+ byte signal;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
new file mode 100644
index 0000000..c41f8e3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * T53 Audio Control Information Record
+ */
+@VintfStability
+parcelable CdmaT53AudioControlInfoRecord {
+ byte upLink;
+ byte downLink;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
new file mode 100644
index 0000000..e37a072
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+/**
+ * T53 CLIR Information Record
+ */
+@VintfStability
+parcelable CdmaT53ClirInfoRecord {
+ byte cause;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/CfData.aidl b/radio/aidl/android/hardware/radio/voice/CfData.aidl
new file mode 100644
index 0000000..8d7c4bd
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/CfData.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.CallForwardInfo;
+
+@VintfStability
+parcelable CfData {
+ /**
+ * This is the response data for SS request to query call forward status.
+ * See getCallForwardStatus(). Max size = RadioConst:NUM_SERVICE_CLASSES.
+ */
+ CallForwardInfo[] cfInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl
new file mode 100644
index 0000000..4b10ecc
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+@Backing(type="int")
+enum ClipStatus {
+ /**
+ * CLIP provisioned
+ */
+ CLIP_PROVISIONED,
+ /**
+ * CLIP not provisioned
+ */
+ CLIP_UNPROVISIONED,
+ /**
+ * Unknown, e.g. no networks etc
+ */
+ UNKNOWN,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/Dial.aidl b/radio/aidl/android/hardware/radio/voice/Dial.aidl
new file mode 100644
index 0000000..7d61fe5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/Dial.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+import android.hardware.radio.voice.UusInfo;
+
+@VintfStability
+parcelable Dial {
+ /**
+ * Use subscription default value
+ */
+ const int CLIR_DEFAULT = 0;
+ /**
+ * Restrict CLI presentation
+ */
+ const int CLIR_INVOCATION = 1;
+ /**
+ * Allow CLI presentation
+ */
+ const int CLIR_SUPPRESSION = 2;
+
+ String address;
+ /**
+ * Values are CLIR_
+ */
+ int clir;
+ /**
+ * Vector of User-User Signaling Information
+ */
+ UusInfo[] uusInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl
new file mode 100644
index 0000000..75a41c9
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+/**
+ * Indicates how the implementation should handle the emergency call if it is required by Android.
+ */
+@VintfStability
+@Backing(type="int")
+enum EmergencyCallRouting {
+ /**
+ * Indicates Android does not require how to handle the corresponding emergency call; it is
+ * decided by implementation.
+ */
+ UNKNOWN,
+ /**
+ * Indicates the implementation must handle the call through emergency routing.
+ */
+ EMERGENCY,
+ /**
+ * Indicates the implementation must handle the call through normal call routing.
+ */
+ NORMAL,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl
new file mode 100644
index 0000000..aa4dde2
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.EmergencyServiceCategory;
+
+/**
+ * Emergency number contains information of number, one or more service category(s), zero or more
+ * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and
+ * source(s) that indicate where it comes from.
+ *
+ * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise
+ * field ‘mcc’ must be an empty string. If the emergency number is associated with network operator,
+ * field ‘mcc’ and 'mnc' must be provided, otherwise field ‘mnc’ must be an empty string. If the
+ * emergency number is specified with emergency service category(s), field 'categories' must be
+ * provided, otherwise field 'categories' must be EmergencyServiceCategories::UNSPECIFIED. If the
+ * emergency number is specified with emergency uniform resource names (URN), field 'urns' must be
+ * provided, otherwise field 'urns' must be an empty list.
+ *
+ * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and
+ * 'urns' fields. Multiple EmergencyNumberSource should be merged into one 'sources' field via
+ * bitwise-OR combination for the same EmergencyNumber.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
+ * 3gpp 23.167, Section 6 - Functional description;
+ * 3gpp 24.503, Section 5.1.6.8.1 - General;
+ * RFC 5031
+ */
+@VintfStability
+parcelable EmergencyNumber {
+ /**
+ * Indicates the number is from the network signal.
+ */
+ const int SOURCE_NETWORK_SIGNALING = 1 << 0;
+ /**
+ * Indicates the number is from the sim card.
+ */
+ const int SOURCE_SIM = 1 << 1;
+ /**
+ * Indicates the number is from the modem config.
+ */
+ const int SOURCE_MODEM_CONFIG = 1 << 2;
+ /**
+ * Indicates the number is available as default. Per the reference, 112, 911 must always be
+ * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not
+ * present.
+ */
+ const int SOURCE_DEFAULT = 1 << 3;
+
+ /**
+ * The emergency number. The character in the number string should only be the dial pad
+ * character('0'-'9', '*', or '#'). For example: 911.
+ */
+ String number;
+ /**
+ * 3-digit Mobile Country Code, 0..999. Empty string if not applicable.
+ */
+ String mcc;
+ /**
+ * 2 or 3-digit Mobile Network Code, 0..999. Empty string if not applicable.
+ */
+ String mnc;
+ /**
+ * The bitfield of EmergencyServiceCategory(s). See EmergencyServiceCategory for the value of
+ * each bit.
+ */
+ EmergencyServiceCategory categories;
+ /**
+ * The list of emergency Uniform Resource Names (URN).
+ */
+ String[] urns;
+ /**
+ * The bitfield of EmergencyNumberSource(s) to tell where the EmergencyNumber comes from.
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls
+ * Values are SOURCE_
+ */
+ int sources;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl
new file mode 100644
index 0000000..cfebc47
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+/**
+ * Defining Emergency Service Category as follows:
+ * - General emergency call, all categories;
+ * - Police;
+ * - Ambulance;
+ * - Fire Brigade;
+ * - Marine Guard;
+ * - Mountain Rescue;
+ * - Manually Initiated eCall (MIeC);
+ * - Automatically Initiated eCall (AIeC);
+ *
+ * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific
+ * services are associated with this emergency number.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls
+ */
+@VintfStability
+@Backing(type="int")
+enum EmergencyServiceCategory {
+ /**
+ * General emergency call, all categories
+ */
+ UNSPECIFIED = 0,
+ POLICE = 1 << 0,
+ AMBULANCE = 1 << 1,
+ FIRE_BRIGADE = 1 << 2,
+ MARINE_GUARD = 1 << 3,
+ MOUNTAIN_RESCUE = 1 << 4,
+ /**
+ * Manually Initiated eCall (MIeC)
+ */
+ MIEC = 1 << 5,
+ /**
+ * Automatically Initiated eCall (AIeC)
+ */
+ AIEC = 1 << 6,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl
new file mode 100644
index 0000000..1e60de5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl
@@ -0,0 +1,443 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.CallForwardInfo;
+import android.hardware.radio.voice.Dial;
+import android.hardware.radio.voice.EmergencyCallRouting;
+import android.hardware.radio.voice.EmergencyServiceCategory;
+import android.hardware.radio.voice.IRadioVoiceIndication;
+import android.hardware.radio.voice.IRadioVoiceResponse;
+import android.hardware.radio.voice.TtyMode;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for voice APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioVoiceResponse and IRadioVoiceIndication.
+ */
+@VintfStability
+oneway interface IRadioVoice {
+ /**
+ * Answer incoming call. Must not be called for WAITING calls.
+ * switchWaitingOrHoldingAndActive() must be used in this case instead
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.acceptCallResponse()
+ */
+ void acceptCall(in int serial);
+
+ /**
+ * Conference holding and active (like AT+CHLD=3)
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.conferenceResponse()
+ */
+ void conference(in int serial);
+
+ /**
+ * Initiate voice call. This method is never used for supplementary service codes.
+ *
+ * @param serial Serial number of request.
+ * @param dialInfo Dial struct
+ *
+ * Response function is IRadioVoiceResponse.dialResponse()
+ */
+ void dial(in int serial, in Dial dialInfo);
+
+ /**
+ * Initiate emergency voice call, with zero or more emergency service category(s), zero or
+ * more emergency Uniform Resource Names (URN), and routing information for handling the call.
+ * Android uses this request to make its emergency call instead of using IRadio.dial if the
+ * 'address' in the 'dialInfo' field is identified as an emergency number by Android.
+ *
+ * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
+ * request can still be sent out on the other subscription as long as routing is set to
+ * EmergencyNumberRouting#EMERGENCY. This radio request will not be sent on an inactive
+ * (PIN/PUK locked) subscription unless both subscriptions are PIN/PUK locked. In this case,
+ * the request will be sent on the primary subscription.
+ *
+ * Some countries or carriers require some emergency numbers that must be handled with normal
+ * call routing if possible or emergency routing. 1) if the 'routing' field is specified as
+ * EmergencyNumberRouting#NORMAL, the implementation must try the full radio service to use
+ * normal call routing to handle the call; if service cannot support normal routing, the
+ * implementation must use emergency routing to handle the call. 2) if 'routing' is specified
+ * as EmergencyNumberRouting#EMERGENCY, the implementation must use emergency routing to handle
+ * the call. 3) if 'routing' is specified as EmergencyNumberRouting#UNKNOWN, Android does not
+ * know how to handle the call.
+ *
+ * If the dialed emergency number does not have a specified emergency service category, the
+ * 'categories' field is set to EmergencyServiceCategory#UNSPECIFIED; if the dialed emergency
+ * number does not have specified emergency Uniform Resource Names, the 'urns' field is set to
+ * an empty list. If the underlying technology used to request emergency services does not
+ * support the emergency service category or emergency uniform resource names, the field
+ * 'categories' or 'urns' may be ignored.
+ *
+ * In the scenarios that the 'address' in the 'dialInfo' field has other functions besides the
+ * emergency number function, if the 'hasKnownUserIntentEmergency' field is true, the user's
+ * intent for this dial request is emergency call, and the modem must treat this as an actual
+ * emergency dial; if the 'hasKnownUserIntentEmergency' field is false, Android does not know
+ * user's intent for this call.
+ *
+ * If 'isTesting' is true, this request is for testing purpose, and must not be sent to a real
+ * emergency service; otherwise it's for a real emergency call request.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
+ * 3gpp 23.167, Section 6 - Functional description;
+ * 3gpp 24.503, Section 5.1.6.8.1 - General;
+ * RFC 5031
+ *
+ * @param serial Serial number of request.
+ * @param dialInfo the same Dial information used by IRadioVoice.dial.
+ * @param categories bitfield<EmergencyServiceCategory> the Emergency Service Category(s)
+ * of the call.
+ * @param urns the emergency Uniform Resource Names (URN)
+ * @param routing EmergencyCallRouting the emergency call routing information.
+ * @param hasKnownUserIntentEmergency Flag indicating if user's intent for the emergency call
+ * is known.
+ * @param isTesting Flag indicating if this request is for testing purpose.
+ *
+ * Response function is IRadioVoiceResponse.emergencyDialResponse()
+ */
+ void emergencyDial(in int serial, in Dial dialInfo, in EmergencyServiceCategory categories,
+ in String[] urns, in EmergencyCallRouting routing,
+ in boolean hasKnownUserIntentEmergency, in boolean isTesting);
+
+ /**
+ * Request the radio's system selection module to exit emergency callback mode. Radio must not
+ * respond with SUCCESS until the modem has completely exited from Emergency Callback Mode.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.exitEmergencyCallbackModeResponse()
+ */
+ void exitEmergencyCallbackMode(in int serial);
+
+ /**
+ * Connects the two calls and disconnects the subscriber from both calls.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.explicitCallTransferResponse()
+ */
+ void explicitCallTransfer(in int serial);
+
+ /**
+ * Request call forward status.
+ *
+ * @param serial Serial number of request.
+ * @param callInfo CallForwardInfo
+ *
+ * Response function is IRadioVoiceResponse.getCallForwardStatusResponse()
+ */
+ void getCallForwardStatus(in int serial, in CallForwardInfo callInfo);
+
+ /**
+ * Query current call waiting state
+ *
+ * @param serial Serial number of request.
+ * @param serviceClass Service class is the TS 27.007 service class to query
+ *
+ * Response function is IRadioVoiceResponse.getCallWaitingResponse()
+ */
+ void getCallWaiting(in int serial, in int serviceClass);
+
+ /**
+ * Queries the status of the CLIP supplementary service (for MMI code "*#30#")
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getClipResponse()
+ */
+ void getClip(in int serial);
+
+ /**
+ * Gets current CLIR status
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getClirResponse()
+ */
+ void getClir(in int serial);
+
+ /**
+ * Requests current call list
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getCurrentCallsResponse()
+ */
+ void getCurrentCalls(in int serial);
+
+ /**
+ * Requests the failure cause code for the most recently terminated call.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getLastCallFailCauseResponse()
+ */
+ void getLastCallFailCause(in int serial);
+
+ /**
+ * Queries the current state of the uplink mute setting
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getMuteResponse()
+ */
+ void getMute(in int serial);
+
+ /**
+ * Request the setting of preferred voice privacy mode.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getPreferredVoicePrivacyResponse()
+ */
+ void getPreferredVoicePrivacy(in int serial);
+
+ /**
+ * Request the setting of TTY mode
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.getTtyModeResponse()
+ */
+ void getTtyMode(in int serial);
+
+ /**
+ * When STK application gets stkCallSetup(), the call actually has been initialized by the
+ * mobile device already. (We could see the call has been in the 'call list'). STK application
+ * needs to accept/reject the call according to user operations.
+ *
+ * @param serial Serial number of request.
+ * @param accept true = accept the call setup, false = reject the call setup
+ *
+ * Response function is IRadioVoiceResponse.handleStkCallSetupRequestFromSimResponse()
+ */
+ void handleStkCallSetupRequestFromSim(in int serial, in boolean accept);
+
+ /**
+ * Hang up a specific line (like AT+CHLD=1x). After this HANGUP request returns, Radio must
+ * show the connection is NOT active anymore in next getCurrentCalls() query.
+ *
+ * @param serial Serial number of request.
+ * @param gsmIndex Connection index (value of 'x' in CHLD above)
+ *
+ * Response function is IRadioVoiceResponse.hangupResponse()
+ */
+ void hangup(in int serial, in int gsmIndex);
+
+ /**
+ * Hang up waiting or held (like AT+CHLD=1). After this HANGUP request returns, Radio must show
+ * the connection is NOT active anymore in next getCurrentCalls() query.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.hangupForegroundResumeBackgroundResponse()
+ */
+ void hangupForegroundResumeBackground(in int serial);
+
+ /**
+ * Hang up waiting or held (like AT+CHLD=0). After this HANGUP request returns, Radio must show
+ * the connection is NOT active anymore in next getCurrentCalls() query.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.hangupWaitingOrBackgroundResponse()
+ */
+ void hangupWaitingOrBackground(in int serial);
+
+ /**
+ * Send UDUB (user determined user busy) to ringing or waiting call answer)
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.rejectCallResponse()
+ */
+ void rejectCall(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().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Send DTMF string
+ *
+ * @param serial Serial number of request.
+ * @param dtmf DTMF string
+ * @param on DTMF ON length in milliseconds, or 0 to use default
+ * @param off is the DTMF OFF length in milliseconds, or 0 to use default
+ *
+ * Response function is IRadioVoiceResponse.sendBurstDtmfResponse()
+ */
+ void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off);
+
+ /**
+ * Send FLASH command
+ *
+ * @param serial Serial number of request.
+ * @param featureCode String associated with Flash command
+ *
+ * Response function is IRadioVoiceResponse.sendCdmaFeatureCodeResponse()
+ */
+ void sendCdmaFeatureCode(in int serial, in String featureCode);
+
+ /**
+ * Send a DTMF tone. If the implementation is currently playing a tone requested via
+ * startDtmf(), that tone must be cancelled and the new tone must be played instead.
+ *
+ * @param serial Serial number of request.
+ * @param s string with single char having one of 12 values: 0-9, *, #
+ *
+ * Response function is IRadioVoiceResponse.sendDtmfResponse()
+ */
+ void sendDtmf(in int serial, in String s);
+
+ /**
+ * Separate a party from a multiparty call placing the multiparty call (less the specified
+ * party) on hold and leaving the specified party as the only other member of the current
+ * (active) call. Like AT+CHLD=2x.
+ *
+ * See TS 22.084 1.3.8.2 (iii)
+ * TS 22.030 6.5.5 "Entering "2X followed by send"
+ * TS 27.007 "AT+CHLD=2x"
+ *
+ * @param serial Serial number of request.
+ * @param gsmIndex contains Connection index (value of 'x' in CHLD above)
+ *
+ * Response function is IRadioVoiceResponse.separateConnectionResponse()
+ */
+ void separateConnection(in int serial, in int gsmIndex);
+
+ /**
+ * Configure call forward rule
+ *
+ * @param serial Serial number of request.
+ * @param callInfo CallForwardInfo
+ *
+ * Response function is IRadioVoiceResponse.setCallForwardResponse()
+ */
+ void setCallForward(in int serial, in CallForwardInfo callInfo);
+
+ /**
+ * Configure current call waiting state
+ *
+ * @param serial Serial number of request.
+ * @param enable is false for "disabled" and true for "enabled"
+ * @param serviceClass is the TS 27.007 service class bit vector of services to modify
+ *
+ * Response function is IRadioVoiceResponse.setCallWaitingResponse()
+ */
+ void setCallWaiting(in int serial, in boolean enable, in int serviceClass);
+
+ /**
+ * Set current CLIR status
+ *
+ * @param serial Serial number of request.
+ * @param status "n" parameter from TS 27.007 7.7
+ *
+ * Response function is IRadioVoiceResponse.setClirResponse()
+ */
+ void setClir(in int serial, in int status);
+
+ /**
+ * Turn on or off uplink (microphone) mute. Must only be sent while voice call is active.
+ * Must always be reset to "disable mute" when a new voice call is initiated
+ *
+ * @param serial Serial number of request.
+ * @param enable true for "enable mute" and false for "disable mute"
+ *
+ * Response function is IRadioVoiceResponse.setMuteResponse()
+ */
+ void setMute(in int serial, in boolean enable);
+
+ /**
+ * Request to set the preferred voice privacy mode used in voice scrambling.
+ *
+ * @param serial Serial number of request.
+ * @param enable false for Standard Privacy Mode (Public Long Code Mask)
+ * true for Enhanced Privacy Mode (Private Long Code Mask)
+ *
+ * Response function is IRadioVoiceResponse.setPreferredVoicePrivacyResponse()
+ */
+ void setPreferredVoicePrivacy(in int serial, in boolean enable);
+
+ /**
+ * Set response functions for voice radio requests and indications.
+ *
+ * @param radioVoiceResponse Object containing response functions
+ * @param radioVoiceIndication Object containing radio indications
+ */
+ void setResponseFunctions(in IRadioVoiceResponse radioVoiceResponse,
+ in IRadioVoiceIndication radioVoiceIndication);
+
+ /**
+ * Request to set the TTY mode
+ *
+ * @param serial Serial number of request.
+ * @param mode TtyMode
+ *
+ * Response function is IRadioVoiceResponse.setTtyModeResponse()
+ */
+ void setTtyMode(in int serial, in TtyMode mode);
+
+ /**
+ * Start playing a DTMF tone. Continue playing DTMF tone until stopDtmf is received. If a
+ * startDtmf() is received while a tone is currently playing, it must cancel the previous tone
+ * and play the new one.
+ *
+ * @param serial Serial number of request.
+ * @param s string having a single character with one of 12 values: 0-9,*,#
+ *
+ * Response function is IRadioVoiceResponse.startDtmfResponse()
+ */
+ void startDtmf(in int serial, in String s);
+
+ /**
+ * Stop playing a currently playing DTMF tone.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.stopDtmfResponse()
+ */
+ void stopDtmf(in int serial);
+
+ /**
+ * Switch waiting or holding call and active call (like AT+CHLD=2).
+ * Call transitions must happen as shown below.
+ * BEFORE AFTER
+ * Call 1 Call 2 Call 1 Call 2
+ * ACTIVE HOLDING HOLDING ACTIVE
+ * ACTIVE WAITING HOLDING ACTIVE
+ * HOLDING WAITING HOLDING ACTIVE
+ * ACTIVE IDLE HOLDING IDLE
+ * IDLE IDLE IDLE IDLE
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.switchWaitingOrHoldingAndActiveResponse()
+ */
+ void switchWaitingOrHoldingAndActive(in int serial);
+}
diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl
new file mode 100644
index 0000000..81640f3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/IRadioVoiceIndication.aidl
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.RadioIndicationType;
+import android.hardware.radio.voice.CdmaCallWaiting;
+import android.hardware.radio.voice.CdmaInformationRecords;
+import android.hardware.radio.voice.CdmaOtaProvisionStatus;
+import android.hardware.radio.voice.CdmaSignalInfoRecord;
+import android.hardware.radio.voice.EmergencyNumber;
+import android.hardware.radio.voice.SrvccState;
+import android.hardware.radio.voice.StkCcUnsolSsResult;
+
+/**
+ * Interface declaring unsolicited radio indications for voice APIs.
+ */
+@VintfStability
+oneway interface IRadioVoiceIndication {
+ /**
+ * Ring indication for an incoming call (eg, RING or CRING event). There must be at least one
+ * callRing() at the beginning of a call and sending multiple is optional. If the system
+ * property ro.telephony.call_ring.multiple is false then the upper layers must generate the
+ * multiple events internally. Otherwise the vendor code must generate multiple callRing() if
+ * ro.telephony.call_ring.multiple is true or if it is absent.
+ * The rate of these events is controlled by ro.telephony.call_ring.delay and has a default
+ * value of 3000 (3 seconds) if absent.
+ *
+ * @param type Type of radio indication
+ * @param isGsm true for GSM & false for CDMA
+ * @param record Cdma Signal Information
+ */
+ void callRing(in RadioIndicationType type, in boolean isGsm, in CdmaSignalInfoRecord record);
+
+ /**
+ * Indicates when call state has changed. Callee must invoke IRadioVoice.getCurrentCalls().
+ * Must be invoked on, for example, "RING", "BUSY", "NO CARRIER", and also call state
+ * transitions (DIALING->ALERTING ALERTING->ACTIVE). Redundent or extraneous invocations are
+ * tolerated.
+ *
+ * @param type Type of radio indication
+ */
+ void callStateChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates when CDMA radio receives a call waiting indication.
+ *
+ * @param type Type of radio indication
+ * @param callWaitingRecord Cdma CallWaiting information
+ */
+ void cdmaCallWaiting(in RadioIndicationType type, in CdmaCallWaiting callWaitingRecord);
+
+ /**
+ * Indicates when CDMA radio receives one or more info recs.
+ *
+ * @param type Type of radio indication
+ * @param records New Cdma Information
+ */
+ void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecords records);
+
+ /**
+ * Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call.
+ *
+ * @param type Type of radio indication
+ * @param status Cdma OTA provision status
+ */
+ void cdmaOtaProvisionStatus(in RadioIndicationType type, in CdmaOtaProvisionStatus status);
+
+ /**
+ * Report the current list of emergency numbers. Each emergency number in the emergency number
+ * list contains a dialing number, zero or more service category(s), zero or more emergency
+ * uniform resource names, mobile country code, mobile network code, and source(s) that indicate
+ * where it comes from.
+ * Radio must report all the valid emergency numbers with known mobile country code, mobile
+ * network code, emergency service categories, and emergency uniform resource names from all
+ * available sources including network signaling, sim, modem/oem configuration, and default
+ * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118
+ * and 119 must be available when sim is not present). Radio shall not report emergency numbers
+ * that are invalid in the current locale. The reported emergency number list must not have
+ * duplicate EmergencyNumber entries. Please refer the documentation of EmergencyNumber to
+ * construct each emergency number to report.
+ * Radio must report the complete list of emergency numbers whenever the emergency numbers in
+ * the list are changed or whenever the client and the radio server are connected.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
+ * 3gpp 24.008, Section 9.2.13.4 - Emergency Number List
+ *
+ * @param type Type of radio indication
+ * @param emergencyNumberList Current list of emergency numbers known to radio.
+ */
+ void currentEmergencyNumberList(
+ in RadioIndicationType type, in EmergencyNumber[] emergencyNumberList);
+
+ /**
+ * Indicates that the radio system selection module has autonomously entered emergency
+ * callback mode.
+ *
+ * @param type Type of radio indication
+ */
+ void enterEmergencyCallbackMode(in RadioIndicationType type);
+
+ /**
+ * Indicates when Emergency Callback Mode ends. Indicates that the radio system selection module
+ * has proactively exited emergency callback mode.
+ *
+ * @param type Type of radio indication
+ */
+ void exitEmergencyCallbackMode(in RadioIndicationType type);
+
+ /**
+ * Indicates that nework doesn't have in-band information, need to play out-band tone.
+ *
+ * @param type Type of radio indication
+ * @param start true = start play ringback tone, false = stop playing ringback tone
+ */
+ void indicateRingbackTone(in RadioIndicationType type, in boolean start);
+
+ /**
+ * Indicates when Supplementary service(SS) response is received when DIAL/USSD/SS is changed to
+ * SS by call control.
+ *
+ * @param type Type of radio indication
+ */
+ void onSupplementaryServiceIndication(in RadioIndicationType type, in StkCcUnsolSsResult ss);
+
+ /**
+ * Indicates that framework/application must reset the uplink mute state.
+ *
+ * @param type Type of radio indication
+ */
+ void resendIncallMute(in RadioIndicationType type);
+
+ /**
+ * Indicates when Single Radio Voice Call Continuity (SRVCC) progress state has changed.
+ *
+ * @param type Type of radio indication
+ * @param state New Srvcc State
+ */
+ void srvccStateNotify(in RadioIndicationType type, in SrvccState state);
+
+ /**
+ * Indicates when there is an ALPHA from UICC during Call Control.
+ *
+ * @param type Type of radio indication
+ * @param alpha ALPHA string from UICC in UTF-8 format
+ */
+ void stkCallControlAlphaNotify(in RadioIndicationType type, in String alpha);
+
+ /**
+ * Indicates when SIM wants application to setup a voice call.
+ *
+ * @param type Type of radio indication
+ * @param timeout Timeout value in millisec for setting up voice call
+ */
+ void stkCallSetup(in RadioIndicationType type, in long timeout);
+}
diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl
new file mode 100644
index 0000000..f3cf5fb
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/IRadioVoiceResponse.aidl
@@ -0,0 +1,751 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.RadioResponseInfo;
+import android.hardware.radio.voice.Call;
+import android.hardware.radio.voice.CallForwardInfo;
+import android.hardware.radio.voice.ClipStatus;
+import android.hardware.radio.voice.LastCallFailCauseInfo;
+import android.hardware.radio.voice.TtyMode;
+
+/**
+ * Interface declaring response functions to solicited radio requests for voice APIs.
+ */
+@VintfStability
+oneway interface IRadioVoiceResponse {
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void acceptCallResponse(in RadioResponseInfo info);
+
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_CALL_ID
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void conferenceResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:DIAL_MODIFIED_TO_USSD
+ * RadioError:DIAL_MODIFIED_TO_SS
+ * RadioError:DIAL_MODIFIED_TO_DIAL
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:MODEM_ERR
+ * RadioError:NO_SUBSCRIPTION
+ * RadioError:NO_NETWORK_FOUND
+ * RadioError:INVALID_CALL_ID
+ * RadioError:DEVICE_IN_USE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:ABORTED
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:CANCELLED
+ */
+ void dialResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:DIAL_MODIFIED_TO_USSD
+ * RadioError:DIAL_MODIFIED_TO_SS
+ * RadioError:DIAL_MODIFIED_TO_DIAL
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:MODEM_ERR
+ * RadioError:NO_SUBSCRIPTION
+ * RadioError:NO_NETWORK_FOUND
+ * RadioError:INVALID_CALL_ID
+ * RadioError:DEVICE_IN_USE
+ * RadioError:ABORTED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void emergencyDialResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NO_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void exitEmergencyCallbackModeResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void explicitCallTransferResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param callForwardInfos points to a vector of CallForwardInfo, one for each distinct
+ * registered phone number. For example, if data is forwarded to +18005551212 and voice
+ * is forwarded to +18005559999, then two separate CallForwardInfo's must be returned.
+ * However, if both data and voice are forwarded to +18005551212, then a single
+ * CallForwardInfo must be returned with the service class set to "data + voice = 3".
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SYSTEM_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getCallForwardStatusResponse(
+ in RadioResponseInfo info, in CallForwardInfo[] callForwardInfos);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param enable If current call waiting state is disabled, enable = false else true
+ * @param serviceClass If enable, then callWaitingResp[1] must follow, with the TS 27.007
+ * service class bit vector of services for which call waiting is enabled. For example,
+ * if callWaitingResp[0] is 1 and callWaitingResp[1] is 3, then call waiting is enabled
+ * for data and voice and disabled for everything else.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getCallWaitingResponse(in RadioResponseInfo info, in boolean enable, in int serviceClass);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param status indicates CLIP status
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getClipResponse(in RadioResponseInfo info, in ClipStatus status);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param n is "n" parameter from TS 27.007 7.7
+ * @param m is "m" parameter from TS 27.007 7.7
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getClirResponse(in RadioResponseInfo info, in int n, in int m);
+
+ /**
+ * @param info Response info struct containing respontype, serial no. and error
+ * @param calls Current call list
+ *
+ * Valid errors returned:
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getCurrentCallsResponse(in RadioResponseInfo info, in Call[] calls);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param failCauseInfo Contains LastCallFailCause and vendor cause code.
+ *
+ * The vendor cause code must be used for debugging purpose only. The implementation must return
+ * one of the values of LastCallFailCause as mentioned below.
+ * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H where possible.
+ * CDMA failure reasons codes for the possible call failure scenarios described in the
+ * "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard.
+ * Any of the following reason codes if the call is failed or dropped due to reason mentioned
+ * with in the braces.
+ * LastCallFailCause:RADIO_OFF (Radio is OFF)
+ * LastCallFailCause:OUT_OF_SERVICE (No cell coverage)
+ * LastCallFailCause:NO_VALID_SIM (No valid SIM)
+ * LastCallFailCause:RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario)
+ * LastCallFailCause:NETWORK_RESP_TIMEOUT (No response from network)
+ * LastCallFailCause:NETWORK_REJECT (Explicit network reject)
+ * LastCallFailCause:RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH)
+ * LastCallFailCause:RADIO_LINK_FAILURE (Radio Link Failure)
+ * LastCallFailCause:RADIO_LINK_LOST (Radio link lost due to poor coverage)
+ * LastCallFailCause:RADIO_UPLINK_FAILURE (Radio uplink failure)
+ * LastCallFailCause:RADIO_SETUP_FAILURE (RRC connection setup failure)
+ * LastCallFailCause:RADIO_RELEASE_NORMAL (RRC connection release, normal)
+ * LastCallFailCause:RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal)
+ * LastCallFailCause:ACCESS_CLASS_BLOCKED (Access class barring)
+ * LastCallFailCause:NETWORK_DETACH (Explicit network detach)
+ * OEM causes (LastCallFailCause:OEM_CAUSE_XX) must be used for debug purpose only
+ *
+ * If the implementation does not have access to the exact cause codes, then it must return one
+ * of the values listed in LastCallFailCause, as the UI layer needs to distinguish these cases
+ * for tone generation or error notification.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:NO_MEMORY
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getLastCallFailCauseResponse(
+ in RadioResponseInfo info, in LastCallFailCauseInfo failCauseinfo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param enable true for "mute enabled" and false for "mute disabled"
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getMuteResponse(in RadioResponseInfo info, in boolean enable);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param enable false for Standard Privacy Mode (Public Long Code Mask)
+ * true for Enhanced Privacy Mode (Private Long Code Mask)
+ *
+ * Valid errors:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getPreferredVoicePrivacyResponse(in RadioResponseInfo info, in boolean enable);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param mode TtyMode
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getTtyModeResponse(in RadioResponseInfo info, in TtyMode mode);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void handleStkCallSetupRequestFromSimResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void hangupConnectionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:NO_RESOURCES
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void hangupForegroundResumeBackgroundResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:NO_RESOURCES
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ */
+ void hangupWaitingOrBackgroundResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INVALID_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void rejectCallResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * 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:INVALID_CALL_ID
+ * RadioError:INVALID_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:OPERATION_NOT_ALLOWED
+ */
+ void sendBurstDtmfResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * 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:INVALID_CALL_ID
+ * RadioError:INVALID_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:OPERATION_NOT_ALLOWED
+ */
+ void sendCdmaFeatureCodeResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void sendDtmfResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:CANCELLED
+ */
+ void separateConnectionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setCallForwardResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setCallWaitingResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setClirResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:REQUEST_RATE_LIMITED
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setMuteResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_CALL_ID
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setPreferredVoicePrivacyResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setTtyModeResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void startDtmfResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:NO_MEMORY
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_CALL_ID
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ */
+ void stopDtmfResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:INVALID_CALL_ID
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void switchWaitingOrHoldingAndActiveResponse(in RadioResponseInfo info);
+}
diff --git a/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl b/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl
new file mode 100644
index 0000000..5e328d4
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/LastCallFailCause.aidl
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+@Backing(type="int")
+enum LastCallFailCause {
+ UNOBTAINABLE_NUMBER = 1,
+ NO_ROUTE_TO_DESTINATION = 3,
+ CHANNEL_UNACCEPTABLE = 6,
+ OPERATOR_DETERMINED_BARRING = 8,
+ NORMAL = 16,
+ BUSY = 17,
+ NO_USER_RESPONDING = 18,
+ NO_ANSWER_FROM_USER = 19,
+ CALL_REJECTED = 21,
+ NUMBER_CHANGED = 22,
+ PREEMPTION = 25,
+ DESTINATION_OUT_OF_ORDER = 27,
+ INVALID_NUMBER_FORMAT = 28,
+ FACILITY_REJECTED = 29,
+ RESP_TO_STATUS_ENQUIRY = 30,
+ NORMAL_UNSPECIFIED = 31,
+ CONGESTION = 34,
+ NETWORK_OUT_OF_ORDER = 38,
+ TEMPORARY_FAILURE = 41,
+ SWITCHING_EQUIPMENT_CONGESTION = 42,
+ ACCESS_INFORMATION_DISCARDED = 43,
+ REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44,
+ RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47,
+ QOS_UNAVAILABLE = 49,
+ REQUESTED_FACILITY_NOT_SUBSCRIBED = 50,
+ INCOMING_CALLS_BARRED_WITHIN_CUG = 55,
+ BEARER_CAPABILITY_NOT_AUTHORIZED = 57,
+ BEARER_CAPABILITY_UNAVAILABLE = 58,
+ SERVICE_OPTION_NOT_AVAILABLE = 63,
+ BEARER_SERVICE_NOT_IMPLEMENTED = 65,
+ ACM_LIMIT_EXCEEDED = 68,
+ REQUESTED_FACILITY_NOT_IMPLEMENTED = 69,
+ ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70,
+ SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79,
+ INVALID_TRANSACTION_IDENTIFIER = 81,
+ USER_NOT_MEMBER_OF_CUG = 87,
+ INCOMPATIBLE_DESTINATION = 88,
+ INVALID_TRANSIT_NW_SELECTION = 91,
+ SEMANTICALLY_INCORRECT_MESSAGE = 95,
+ INVALID_MANDATORY_INFORMATION = 96,
+ MESSAGE_TYPE_NON_IMPLEMENTED = 97,
+ MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98,
+ INFORMATION_ELEMENT_NON_EXISTENT = 99,
+ CONDITIONAL_IE_ERROR = 100,
+ MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101,
+ RECOVERY_ON_TIMER_EXPIRED = 102,
+ PROTOCOL_ERROR_UNSPECIFIED = 111,
+ INTERWORKING_UNSPECIFIED = 127,
+ CALL_BARRED = 240,
+ FDN_BLOCKED = 241,
+ IMSI_UNKNOWN_IN_VLR = 242,
+ IMEI_NOT_ACCEPTED = 243,
+ /**
+ * STK Call Control
+ */
+ DIAL_MODIFIED_TO_USSD = 244,
+ DIAL_MODIFIED_TO_SS = 245,
+ DIAL_MODIFIED_TO_DIAL = 246,
+ /**
+ * Radio is off
+ */
+ RADIO_OFF = 247,
+ /**
+ * No cellular coverage
+ */
+ OUT_OF_SERVICE = 248,
+ /**
+ * No valid SIM is present
+ */
+ NO_VALID_SIM = 249,
+ /**
+ * Internal error at modem
+ */
+ RADIO_INTERNAL_ERROR = 250,
+ /**
+ * No response from network
+ */
+ NETWORK_RESP_TIMEOUT = 251,
+ /**
+ * Explicit network reject
+ */
+ NETWORK_REJECT = 252,
+ /**
+ * RRC connection failure. Eg.RACH
+ */
+ RADIO_ACCESS_FAILURE = 253,
+ /**
+ * Radio link failure
+ */
+ RADIO_LINK_FAILURE = 254,
+ /**
+ * Radio link lost due to poor coverage
+ */
+ RADIO_LINK_LOST = 255,
+ /**
+ * Radio uplink failure
+ */
+ RADIO_UPLINK_FAILURE = 256,
+ /**
+ * RRC connection setup failure
+ */
+ RADIO_SETUP_FAILURE = 257,
+ /**
+ * RRC connection release, normal
+ */
+ RADIO_RELEASE_NORMAL = 258,
+ /**
+ * RRC connection release, abnormal
+ */
+ RADIO_RELEASE_ABNORMAL = 259,
+ /**
+ * Access class barring
+ */
+ ACCESS_CLASS_BLOCKED = 260,
+ /**
+ * Explicit network detach
+ */
+ NETWORK_DETACH = 261,
+ CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
+ CDMA_DROP = 1001,
+ CDMA_INTERCEPT = 1002,
+ CDMA_REORDER = 1003,
+ CDMA_SO_REJECT = 1004,
+ CDMA_RETRY_ORDER = 1005,
+ CDMA_ACCESS_FAILURE = 1006,
+ CDMA_PREEMPTED = 1007,
+ /**
+ * For non-emergency number dialed during emergency callback mode
+ */
+ CDMA_NOT_EMERGENCY = 1008,
+ CDMA_ACCESS_BLOCKED = 1009,
+ /**
+ * OEM specific error codes. Used to distinguish error from
+ * CALL_FAIL_ERROR_UNSPECIFIED and help assist debugging
+ */
+ OEM_CAUSE_1 = 0xf001,
+ OEM_CAUSE_2 = 0xf002,
+ OEM_CAUSE_3 = 0xf003,
+ OEM_CAUSE_4 = 0xf004,
+ OEM_CAUSE_5 = 0xf005,
+ OEM_CAUSE_6 = 0xf006,
+ OEM_CAUSE_7 = 0xf007,
+ OEM_CAUSE_8 = 0xf008,
+ OEM_CAUSE_9 = 0xf009,
+ OEM_CAUSE_10 = 0xf00a,
+ OEM_CAUSE_11 = 0xf00b,
+ OEM_CAUSE_12 = 0xf00c,
+ OEM_CAUSE_13 = 0xf00d,
+ OEM_CAUSE_14 = 0xf00e,
+ OEM_CAUSE_15 = 0xf00f,
+ /**
+ * This error will be deprecated soon, vendor code must make sure to map error code to specific
+ * error
+ */
+ ERROR_UNSPECIFIED = 0xffff,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl b/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl
new file mode 100644
index 0000000..084bedd
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/LastCallFailCauseInfo.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.LastCallFailCause;
+
+@VintfStability
+parcelable LastCallFailCauseInfo {
+ LastCallFailCause causeCode;
+ String vendorCause;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/SrvccState.aidl b/radio/aidl/android/hardware/radio/voice/SrvccState.aidl
new file mode 100644
index 0000000..ddf75db
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/SrvccState.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+@Backing(type="int")
+enum SrvccState {
+ HANDOVER_STARTED,
+ HANDOVER_COMPLETED,
+ HANDOVER_FAILED,
+ HANDOVER_CANCELED,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl
new file mode 100644
index 0000000..40af393
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/SsInfoData.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+parcelable SsInfoData {
+ /**
+ * 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
+ */
+ int[] ssInfo;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl b/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl
new file mode 100644
index 0000000..be1b611
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/StkCcUnsolSsResult.aidl
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.RadioError;
+import android.hardware.radio.voice.CfData;
+import android.hardware.radio.voice.SsInfoData;
+
+@VintfStability
+parcelable StkCcUnsolSsResult {
+ const int REQUEST_TYPE_ACTIVATION = 0;
+ const int REQUEST_TYPE_DEACTIVATION = 1;
+ const int REQUEST_TYPE_INTERROGATION = 2;
+ const int REQUEST_TYPE_REGISTRATION = 3;
+ const int REQUEST_TYPE_ERASURE = 4;
+
+ const int SERVICE_TYPE_CFU = 0;
+ const int SERVICE_TYPE_CF_BUSY = 1;
+ const int SERVICE_TYPE_CF_NO_REPLY = 2;
+ const int SERVICE_TYPE_CF_NOT_REACHABLE = 3;
+ const int SERVICE_TYPE_CF_ALL = 4;
+ const int SERVICE_TYPE_CF_ALL_CONDITIONAL = 5;
+ const int SERVICE_TYPE_CLIP = 6;
+ const int SERVICE_TYPE_CLIR = 7;
+ const int SERVICE_TYPE_COLP = 8;
+ const int SERVICE_TYPE_COLR = 9;
+ const int SERVICE_TYPE_WAIT = 10;
+ const int SERVICE_TYPE_BAOC = 11;
+ const int SERVICE_TYPE_BAOIC = 12;
+ const int SERVICE_TYPE_BAOIC_EXC_HOME = 13;
+ const int SERVICE_TYPE_BAIC = 14;
+ const int SERVICE_TYPE_BAIC_ROAMING = 15;
+ const int SERVICE_TYPE_ALL_BARRING = 16;
+ const int SERVICE_TYPE_OUTGOING_BARRING = 17;
+ const int SERVICE_TYPE_INCOMING_BARRING = 18;
+
+ const int TELESERVICE_TYPE_ALL_TELE_AND_BEARER_SERVICES = 0;
+ const int TELESERVICE_TYPE_ALL_TELESEVICES = 1;
+ const int TELESERVICE_TYPE_TELEPHONY = 2;
+ const int TELESERVICE_TYPE_ALL_DATA_TELESERVICES = 3;
+ const int TELESERVICE_TYPE_SMS_SERVICES = 4;
+ const int TELESERVICE_TYPE_ALL_TELESERVICES_EXCEPT_SMS = 5;
+
+ const int SUPP_SERVICE_CLASS_NONE = 0;
+ const int SUPP_SERVICE_CLASS_VOICE = 1 << 0;
+ const int SUPP_SERVICE_CLASS_DATA = 1 << 1;
+ const int SUPP_SERVICE_CLASS_FAX = 1 << 2;
+ const int SUPP_SERVICE_CLASS_SMS = 1 << 3;
+ const int SUPP_SERVICE_CLASS_DATA_SYNC = 1 << 4;
+ const int SUPP_SERVICE_CLASS_DATA_ASYNC = 1 << 5;
+ const int SUPP_SERVICE_CLASS_PACKET = 1 << 6;
+ const int SUPP_SERVICE_CLASS_PAD = 1 << 7;
+ const int SUPP_SERVICE_CLASS_MAX = 1 << 7;
+
+ /**
+ * Values are SERVICE_TYPE_
+ */
+ int serviceType;
+ /**
+ * Values are REQUEST_TYPE_
+ */
+ int requestType;
+ /**
+ * Values are TELESERVICE_TYPE_
+ */
+ int teleserviceType;
+ /**
+ * Values are a bitfield of SUPP_SERVICE_CLASS_
+ */
+ int serviceClass;
+ RadioError result;
+ /**
+ * Valid only for all serviceType except SERVICE_TYPE_CF_* else empty.
+ * Only one of ssInfo and cfData may contain values and the other must be empty.
+ */
+ SsInfoData[] ssInfo;
+ /**
+ * Valid for serviceType SERVICE_TYPE_CF_* else empty
+ * Only one of ssInfo and cfData may contain values and the other must be empty.
+ */
+ CfData[] cfData;
+}
diff --git a/radio/aidl/android/hardware/radio/voice/TtyMode.aidl b/radio/aidl/android/hardware/radio/voice/TtyMode.aidl
new file mode 100644
index 0000000..81a846b
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/TtyMode.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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;
+
+@VintfStability
+@Backing(type="int")
+enum TtyMode {
+ OFF,
+ FULL,
+ /**
+ * Hearing carryover
+ */
+ HCO,
+ /**
+ * Voice carryover
+ */
+ VCO,
+}
diff --git a/radio/aidl/android/hardware/radio/voice/UusInfo.aidl b/radio/aidl/android/hardware/radio/voice/UusInfo.aidl
new file mode 100644
index 0000000..19e73f7
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/UusInfo.aidl
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+/**
+ * User-to-User Signaling Information defined in 3GPP 23.087 v8.0
+ */
+@VintfStability
+parcelable UusInfo {
+ /**
+ * User specified protocol
+ */
+ const int UUS_DCS_USP = 0;
+ /**
+ * OSI higher layer protocol
+ */
+ const int UUS_DCS_OSIHLP = 1;
+ /**
+ * X.244
+ */
+ const int UUS_DCS_X244 = 2;
+ /**
+ * Reserved for system management
+ */
+ const int UUS_DCS_RMCF = 3;
+ /**
+ * IA5 characters
+ */
+ const int UUS_DCS_IA5C = 4;
+
+ const int UUS_TYPE_TYPE1_IMPLICIT = 0;
+ const int UUS_TYPE_TYPE1_REQUIRED = 1;
+ const int UUS_TYPE_TYPE1_NOT_REQUIRED = 2;
+ const int UUS_TYPE_TYPE2_REQUIRED = 3;
+ const int UUS_TYPE_TYPE2_NOT_REQUIRED = 4;
+ const int UUS_TYPE_TYPE3_REQUIRED = 5;
+ const int UUS_TYPE_TYPE3_NOT_REQUIRED = 6;
+
+ /**
+ * User-to-User Signaling Information activation types derived from 3GPP 23.087 v8.0
+ * Values are UUS_TYPE_
+ */
+ int uusType;
+ /**
+ * User-to-User Signaling Information data coding schemes. Possible values for Octet 3 (Protocol
+ * Discriminator field) in the UUIE. The values have been specified in section 10.5.4.25 of
+ * 3GPP TS 24.008
+ * Values are UUS_DCS_
+ */
+ int uusDcs;
+ /**
+ * UUS data
+ */
+ String uusData;
+}
diff --git a/radio/aidl/include/android/hardware/radio/translate-ndk.h b/radio/aidl/include/android/hardware/radio/translate-ndk.h
deleted file mode 100644
index b136029..0000000
--- a/radio/aidl/include/android/hardware/radio/translate-ndk.h
+++ /dev/null
@@ -1,699 +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.
- */
-
-#pragma once
-
-#include <limits>
-#include "aidl/android/hardware/radio/AccessNetwork.h"
-#include "aidl/android/hardware/radio/ActivityStatsInfo.h"
-#include "aidl/android/hardware/radio/AddressProperty.h"
-#include "aidl/android/hardware/radio/ApnAuthType.h"
-#include "aidl/android/hardware/radio/ApnTypes.h"
-#include "aidl/android/hardware/radio/AppState.h"
-#include "aidl/android/hardware/radio/AppStatus.h"
-#include "aidl/android/hardware/radio/AppType.h"
-#include "aidl/android/hardware/radio/AudioQuality.h"
-#include "aidl/android/hardware/radio/BarringInfo.h"
-#include "aidl/android/hardware/radio/BarringInfoBarringType.h"
-#include "aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.h"
-#include "aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.h"
-#include "aidl/android/hardware/radio/BarringInfoServiceType.h"
-#include "aidl/android/hardware/radio/Call.h"
-#include "aidl/android/hardware/radio/CallForwardInfo.h"
-#include "aidl/android/hardware/radio/CallForwardInfoStatus.h"
-#include "aidl/android/hardware/radio/CallPresentation.h"
-#include "aidl/android/hardware/radio/CallState.h"
-#include "aidl/android/hardware/radio/CardPowerState.h"
-#include "aidl/android/hardware/radio/CardState.h"
-#include "aidl/android/hardware/radio/CardStatus.h"
-#include "aidl/android/hardware/radio/Carrier.h"
-#include "aidl/android/hardware/radio/CarrierMatchType.h"
-#include "aidl/android/hardware/radio/CarrierRestrictions.h"
-#include "aidl/android/hardware/radio/CarrierRestrictionsWithPriority.h"
-#include "aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.h"
-#include "aidl/android/hardware/radio/CdmaCallWaiting.h"
-#include "aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.h"
-#include "aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.h"
-#include "aidl/android/hardware/radio/CdmaCallWaitingNumberType.h"
-#include "aidl/android/hardware/radio/CdmaDisplayInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaInfoRecName.h"
-#include "aidl/android/hardware/radio/CdmaInformationRecord.h"
-#include "aidl/android/hardware/radio/CdmaInformationRecords.h"
-#include "aidl/android/hardware/radio/CdmaLineControlInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaNumberInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaOtaProvisionStatus.h"
-#include "aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaRedirectingReason.h"
-#include "aidl/android/hardware/radio/CdmaRoamingType.h"
-#include "aidl/android/hardware/radio/CdmaSignalInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaSignalStrength.h"
-#include "aidl/android/hardware/radio/CdmaSmsAck.h"
-#include "aidl/android/hardware/radio/CdmaSmsAddress.h"
-#include "aidl/android/hardware/radio/CdmaSmsDigitMode.h"
-#include "aidl/android/hardware/radio/CdmaSmsErrorClass.h"
-#include "aidl/android/hardware/radio/CdmaSmsMessage.h"
-#include "aidl/android/hardware/radio/CdmaSmsNumberMode.h"
-#include "aidl/android/hardware/radio/CdmaSmsNumberPlan.h"
-#include "aidl/android/hardware/radio/CdmaSmsNumberType.h"
-#include "aidl/android/hardware/radio/CdmaSmsSubaddress.h"
-#include "aidl/android/hardware/radio/CdmaSmsSubaddressType.h"
-#include "aidl/android/hardware/radio/CdmaSmsWriteArgs.h"
-#include "aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.h"
-#include "aidl/android/hardware/radio/CdmaSubscriptionSource.h"
-#include "aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.h"
-#include "aidl/android/hardware/radio/CdmaT53ClirInfoRecord.h"
-#include "aidl/android/hardware/radio/CellConfigLte.h"
-#include "aidl/android/hardware/radio/CellConnectionStatus.h"
-#include "aidl/android/hardware/radio/CellIdentity.h"
-#include "aidl/android/hardware/radio/CellIdentityCdma.h"
-#include "aidl/android/hardware/radio/CellIdentityGsm.h"
-#include "aidl/android/hardware/radio/CellIdentityLte.h"
-#include "aidl/android/hardware/radio/CellIdentityNr.h"
-#include "aidl/android/hardware/radio/CellIdentityOperatorNames.h"
-#include "aidl/android/hardware/radio/CellIdentityTdscdma.h"
-#include "aidl/android/hardware/radio/CellIdentityWcdma.h"
-#include "aidl/android/hardware/radio/CellInfo.h"
-#include "aidl/android/hardware/radio/CellInfoCdma.h"
-#include "aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.h"
-#include "aidl/android/hardware/radio/CellInfoGsm.h"
-#include "aidl/android/hardware/radio/CellInfoInfo.h"
-#include "aidl/android/hardware/radio/CellInfoLte.h"
-#include "aidl/android/hardware/radio/CellInfoNr.h"
-#include "aidl/android/hardware/radio/CellInfoTdscdma.h"
-#include "aidl/android/hardware/radio/CellInfoType.h"
-#include "aidl/android/hardware/radio/CellInfoWcdma.h"
-#include "aidl/android/hardware/radio/CfData.h"
-#include "aidl/android/hardware/radio/ClipStatus.h"
-#include "aidl/android/hardware/radio/Clir.h"
-#include "aidl/android/hardware/radio/ClosedSubscriberGroupInfo.h"
-#include "aidl/android/hardware/radio/DataCallFailCause.h"
-#include "aidl/android/hardware/radio/DataConnActiveStatus.h"
-#include "aidl/android/hardware/radio/DataProfileId.h"
-#include "aidl/android/hardware/radio/DataProfileInfo.h"
-#include "aidl/android/hardware/radio/DataProfileInfoType.h"
-#include "aidl/android/hardware/radio/DataRegStateResult.h"
-#include "aidl/android/hardware/radio/DataRegStateResultVopsInfo.h"
-#include "aidl/android/hardware/radio/DataRequestReason.h"
-#include "aidl/android/hardware/radio/DataThrottlingAction.h"
-#include "aidl/android/hardware/radio/DeviceStateType.h"
-#include "aidl/android/hardware/radio/Dial.h"
-#include "aidl/android/hardware/radio/Domain.h"
-#include "aidl/android/hardware/radio/EmcIndicator.h"
-#include "aidl/android/hardware/radio/EmergencyCallRouting.h"
-#include "aidl/android/hardware/radio/EmergencyNumber.h"
-#include "aidl/android/hardware/radio/EmergencyNumberSource.h"
-#include "aidl/android/hardware/radio/EmergencyServiceCategory.h"
-#include "aidl/android/hardware/radio/EmfIndicator.h"
-#include "aidl/android/hardware/radio/EpsQos.h"
-#include "aidl/android/hardware/radio/EutranBands.h"
-#include "aidl/android/hardware/radio/EvdoSignalStrength.h"
-#include "aidl/android/hardware/radio/FrequencyRange.h"
-#include "aidl/android/hardware/radio/GeranBands.h"
-#include "aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.h"
-#include "aidl/android/hardware/radio/GsmSignalStrength.h"
-#include "aidl/android/hardware/radio/GsmSmsMessage.h"
-#include "aidl/android/hardware/radio/HandoverFailureMode.h"
-#include "aidl/android/hardware/radio/HardwareConfig.h"
-#include "aidl/android/hardware/radio/HardwareConfigModem.h"
-#include "aidl/android/hardware/radio/HardwareConfigSim.h"
-#include "aidl/android/hardware/radio/HardwareConfigState.h"
-#include "aidl/android/hardware/radio/HardwareConfigType.h"
-#include "aidl/android/hardware/radio/IccIo.h"
-#include "aidl/android/hardware/radio/IccIoResult.h"
-#include "aidl/android/hardware/radio/ImsSmsMessage.h"
-#include "aidl/android/hardware/radio/ImsiEncryptionInfo.h"
-#include "aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.h"
-#include "aidl/android/hardware/radio/IndicationFilter.h"
-#include "aidl/android/hardware/radio/KeepaliveRequest.h"
-#include "aidl/android/hardware/radio/KeepaliveStatus.h"
-#include "aidl/android/hardware/radio/KeepaliveStatusCode.h"
-#include "aidl/android/hardware/radio/KeepaliveType.h"
-#include "aidl/android/hardware/radio/LastCallFailCause.h"
-#include "aidl/android/hardware/radio/LastCallFailCauseInfo.h"
-#include "aidl/android/hardware/radio/LceDataInfo.h"
-#include "aidl/android/hardware/radio/LceStatus.h"
-#include "aidl/android/hardware/radio/LceStatusInfo.h"
-#include "aidl/android/hardware/radio/LinkAddress.h"
-#include "aidl/android/hardware/radio/LinkCapacityEstimate.h"
-#include "aidl/android/hardware/radio/LteSignalStrength.h"
-#include "aidl/android/hardware/radio/LteVopsInfo.h"
-#include "aidl/android/hardware/radio/MaxSearchTimeRange.h"
-#include "aidl/android/hardware/radio/MaybePort.h"
-#include "aidl/android/hardware/radio/MvnoType.h"
-#include "aidl/android/hardware/radio/NeighboringCell.h"
-#include "aidl/android/hardware/radio/NetworkScanRequest.h"
-#include "aidl/android/hardware/radio/NetworkScanResult.h"
-#include "aidl/android/hardware/radio/NgranBands.h"
-#include "aidl/android/hardware/radio/NrDualConnectivityState.h"
-#include "aidl/android/hardware/radio/NrIndicators.h"
-#include "aidl/android/hardware/radio/NrQos.h"
-#include "aidl/android/hardware/radio/NrSignalStrength.h"
-#include "aidl/android/hardware/radio/NrVopsInfo.h"
-#include "aidl/android/hardware/radio/NvItem.h"
-#include "aidl/android/hardware/radio/NvWriteItem.h"
-#include "aidl/android/hardware/radio/OperatorInfo.h"
-#include "aidl/android/hardware/radio/OperatorStatus.h"
-#include "aidl/android/hardware/radio/OptionalCsgInfo.h"
-#include "aidl/android/hardware/radio/OptionalDnn.h"
-#include "aidl/android/hardware/radio/OptionalOsAppId.h"
-#include "aidl/android/hardware/radio/OptionalPdpProtocolType.h"
-#include "aidl/android/hardware/radio/OptionalSliceInfo.h"
-#include "aidl/android/hardware/radio/OptionalSscMode.h"
-#include "aidl/android/hardware/radio/OptionalTrafficDescriptor.h"
-#include "aidl/android/hardware/radio/OsAppId.h"
-#include "aidl/android/hardware/radio/P2Constant.h"
-#include "aidl/android/hardware/radio/PbReceivedStatus.h"
-#include "aidl/android/hardware/radio/PcoDataInfo.h"
-#include "aidl/android/hardware/radio/PdpProtocolType.h"
-#include "aidl/android/hardware/radio/PersoSubstate.h"
-#include "aidl/android/hardware/radio/PhoneRestrictedState.h"
-#include "aidl/android/hardware/radio/PhonebookCapacity.h"
-#include "aidl/android/hardware/radio/PhonebookRecordInfo.h"
-#include "aidl/android/hardware/radio/PhysicalChannelConfig.h"
-#include "aidl/android/hardware/radio/PhysicalChannelConfigBand.h"
-#include "aidl/android/hardware/radio/PinState.h"
-#include "aidl/android/hardware/radio/PortRange.h"
-#include "aidl/android/hardware/radio/PreferredNetworkType.h"
-#include "aidl/android/hardware/radio/PrlIndicator.h"
-#include "aidl/android/hardware/radio/PublicKeyType.h"
-#include "aidl/android/hardware/radio/Qos.h"
-#include "aidl/android/hardware/radio/QosBandwidth.h"
-#include "aidl/android/hardware/radio/QosFilter.h"
-#include "aidl/android/hardware/radio/QosFilterDirection.h"
-#include "aidl/android/hardware/radio/QosFilterIpsecSpi.h"
-#include "aidl/android/hardware/radio/QosFilterIpv6FlowLabel.h"
-#include "aidl/android/hardware/radio/QosFilterTypeOfService.h"
-#include "aidl/android/hardware/radio/QosFlowIdRange.h"
-#include "aidl/android/hardware/radio/QosPortRange.h"
-#include "aidl/android/hardware/radio/QosProtocol.h"
-#include "aidl/android/hardware/radio/QosSession.h"
-#include "aidl/android/hardware/radio/RadioAccessFamily.h"
-#include "aidl/android/hardware/radio/RadioAccessNetworks.h"
-#include "aidl/android/hardware/radio/RadioAccessSpecifier.h"
-#include "aidl/android/hardware/radio/RadioAccessSpecifierBands.h"
-#include "aidl/android/hardware/radio/RadioBandMode.h"
-#include "aidl/android/hardware/radio/RadioCapability.h"
-#include "aidl/android/hardware/radio/RadioCapabilityPhase.h"
-#include "aidl/android/hardware/radio/RadioCapabilityStatus.h"
-#include "aidl/android/hardware/radio/RadioCdmaSmsConst.h"
-#include "aidl/android/hardware/radio/RadioConst.h"
-#include "aidl/android/hardware/radio/RadioError.h"
-#include "aidl/android/hardware/radio/RadioFrequencyInfo.h"
-#include "aidl/android/hardware/radio/RadioIndicationType.h"
-#include "aidl/android/hardware/radio/RadioResponseInfo.h"
-#include "aidl/android/hardware/radio/RadioResponseInfoModem.h"
-#include "aidl/android/hardware/radio/RadioResponseType.h"
-#include "aidl/android/hardware/radio/RadioState.h"
-#include "aidl/android/hardware/radio/RadioTechnology.h"
-#include "aidl/android/hardware/radio/RadioTechnologyFamily.h"
-#include "aidl/android/hardware/radio/RegState.h"
-#include "aidl/android/hardware/radio/RegStateResult.h"
-#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.h"
-#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.h"
-#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.h"
-#include "aidl/android/hardware/radio/RegistrationFailCause.h"
-#include "aidl/android/hardware/radio/ResetNvType.h"
-#include "aidl/android/hardware/radio/RestrictedState.h"
-#include "aidl/android/hardware/radio/RouteSelectionDescriptor.h"
-#include "aidl/android/hardware/radio/SapApduType.h"
-#include "aidl/android/hardware/radio/SapConnectRsp.h"
-#include "aidl/android/hardware/radio/SapDisconnectType.h"
-#include "aidl/android/hardware/radio/SapResultCode.h"
-#include "aidl/android/hardware/radio/SapStatus.h"
-#include "aidl/android/hardware/radio/SapTransferProtocol.h"
-#include "aidl/android/hardware/radio/ScanIntervalRange.h"
-#include "aidl/android/hardware/radio/ScanStatus.h"
-#include "aidl/android/hardware/radio/ScanType.h"
-#include "aidl/android/hardware/radio/SelectUiccSub.h"
-#include "aidl/android/hardware/radio/SendSmsResult.h"
-#include "aidl/android/hardware/radio/SetupDataCallResult.h"
-#include "aidl/android/hardware/radio/SignalMeasurementType.h"
-#include "aidl/android/hardware/radio/SignalStrength.h"
-#include "aidl/android/hardware/radio/SignalThresholdInfo.h"
-#include "aidl/android/hardware/radio/SimApdu.h"
-#include "aidl/android/hardware/radio/SimLockMultiSimPolicy.h"
-#include "aidl/android/hardware/radio/SimRefreshResult.h"
-#include "aidl/android/hardware/radio/SimRefreshType.h"
-#include "aidl/android/hardware/radio/SliceInfo.h"
-#include "aidl/android/hardware/radio/SliceServiceType.h"
-#include "aidl/android/hardware/radio/SliceStatus.h"
-#include "aidl/android/hardware/radio/SlicingConfig.h"
-#include "aidl/android/hardware/radio/SmsAcknowledgeFailCause.h"
-#include "aidl/android/hardware/radio/SmsWriteArgs.h"
-#include "aidl/android/hardware/radio/SmsWriteArgsStatus.h"
-#include "aidl/android/hardware/radio/SrvccState.h"
-#include "aidl/android/hardware/radio/SsInfoData.h"
-#include "aidl/android/hardware/radio/SsRequestType.h"
-#include "aidl/android/hardware/radio/SsServiceType.h"
-#include "aidl/android/hardware/radio/SsTeleserviceType.h"
-#include "aidl/android/hardware/radio/SscMode.h"
-#include "aidl/android/hardware/radio/StkCcUnsolSsResult.h"
-#include "aidl/android/hardware/radio/SubscriptionType.h"
-#include "aidl/android/hardware/radio/SuppServiceClass.h"
-#include "aidl/android/hardware/radio/SuppSvcNotification.h"
-#include "aidl/android/hardware/radio/TdscdmaSignalStrength.h"
-#include "aidl/android/hardware/radio/TimeStampType.h"
-#include "aidl/android/hardware/radio/TrafficDescriptor.h"
-#include "aidl/android/hardware/radio/TtyMode.h"
-#include "aidl/android/hardware/radio/UiccSubActStatus.h"
-#include "aidl/android/hardware/radio/UrspRule.h"
-#include "aidl/android/hardware/radio/UssdModeType.h"
-#include "aidl/android/hardware/radio/UtranBands.h"
-#include "aidl/android/hardware/radio/UusDcs.h"
-#include "aidl/android/hardware/radio/UusInfo.h"
-#include "aidl/android/hardware/radio/UusType.h"
-#include "aidl/android/hardware/radio/VoiceRegStateResult.h"
-#include "aidl/android/hardware/radio/VopsIndicator.h"
-#include "aidl/android/hardware/radio/WcdmaSignalStrength.h"
-#include "android/hardware/radio/1.0/types.h"
-#include "android/hardware/radio/1.1/types.h"
-#include "android/hardware/radio/1.2/types.h"
-#include "android/hardware/radio/1.3/types.h"
-#include "android/hardware/radio/1.4/types.h"
-#include "android/hardware/radio/1.5/types.h"
-#include "android/hardware/radio/1.6/types.h"
-
-namespace android::h2a {
-
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::IccIo& in,
- aidl::android::hardware::radio::IccIo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::NeighboringCell& in,
- aidl::android::hardware::radio::NeighboringCell* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::UusInfo& in,
- aidl::android::hardware::radio::UusInfo* out);
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_0::Dial& in,
- aidl::android::hardware::radio::Dial* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LastCallFailCauseInfo& in,
- aidl::android::hardware::radio::LastCallFailCauseInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmSignalStrength& in,
- aidl::android::hardware::radio::GsmSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSignalStrength& in,
- aidl::android::hardware::radio::CdmaSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::EvdoSignalStrength& in,
- aidl::android::hardware::radio::EvdoSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SendSmsResult& in,
- aidl::android::hardware::radio::SendSmsResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::IccIoResult& in,
- aidl::android::hardware::radio::IccIoResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CallForwardInfo& in,
- aidl::android::hardware::radio::CallForwardInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::OperatorInfo& in,
- aidl::android::hardware::radio::OperatorInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SmsWriteArgs& in,
- aidl::android::hardware::radio::SmsWriteArgs* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsAddress& in,
- aidl::android::hardware::radio::CdmaSmsAddress* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsSubaddress& in,
- aidl::android::hardware::radio::CdmaSmsSubaddress* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsMessage& in,
- aidl::android::hardware::radio::CdmaSmsMessage* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsAck& in,
- aidl::android::hardware::radio::CdmaSmsAck* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo& in,
- aidl::android::hardware::radio::CdmaBroadcastSmsConfigInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSmsWriteArgs& in,
- aidl::android::hardware::radio::CdmaSmsWriteArgs* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo& in,
- aidl::android::hardware::radio::GsmBroadcastSmsConfigInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::GsmSmsMessage& in,
- aidl::android::hardware::radio::GsmSmsMessage* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::ImsSmsMessage& in,
- aidl::android::hardware::radio::ImsSmsMessage* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SimApdu& in,
- aidl::android::hardware::radio::SimApdu* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::NvWriteItem& in,
- aidl::android::hardware::radio::NvWriteItem* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SelectUiccSub& in,
- aidl::android::hardware::radio::SelectUiccSub* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfigModem& in,
- aidl::android::hardware::radio::HardwareConfigModem* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfigSim& in,
- aidl::android::hardware::radio::HardwareConfigSim* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::HardwareConfig& in,
- aidl::android::hardware::radio::HardwareConfig* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LceStatusInfo& in,
- aidl::android::hardware::radio::LceStatusInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::LceDataInfo& in,
- aidl::android::hardware::radio::LceDataInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::ActivityStatsInfo& in,
- aidl::android::hardware::radio::ActivityStatsInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::Carrier& in,
- aidl::android::hardware::radio::Carrier* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CarrierRestrictions& in,
- aidl::android::hardware::radio::CarrierRestrictions* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SuppSvcNotification& in,
- aidl::android::hardware::radio::SuppSvcNotification* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SimRefreshResult& in,
- aidl::android::hardware::radio::SimRefreshResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaSignalInfoRecord& in,
- aidl::android::hardware::radio::CdmaSignalInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaCallWaiting& in,
- aidl::android::hardware::radio::CdmaCallWaiting* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaDisplayInfoRecord& in,
- aidl::android::hardware::radio::CdmaDisplayInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaNumberInfoRecord& in,
- aidl::android::hardware::radio::CdmaNumberInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaRedirectingNumberInfoRecord& in,
- aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaLineControlInfoRecord& in,
- aidl::android::hardware::radio::CdmaLineControlInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaT53ClirInfoRecord& in,
- aidl::android::hardware::radio::CdmaT53ClirInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaT53AudioControlInfoRecord& in,
- aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaInformationRecord& in,
- aidl::android::hardware::radio::CdmaInformationRecord* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CdmaInformationRecords& in,
- aidl::android::hardware::radio::CdmaInformationRecords* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::CfData& in,
- aidl::android::hardware::radio::CfData* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::SsInfoData& in,
- aidl::android::hardware::radio::SsInfoData* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::StkCcUnsolSsResult& in,
- aidl::android::hardware::radio::StkCcUnsolSsResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_0::PcoDataInfo& in,
- aidl::android::hardware::radio::PcoDataInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_1::KeepaliveRequest& in,
- aidl::android::hardware::radio::KeepaliveRequest* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_1::KeepaliveStatus& in,
- aidl::android::hardware::radio::KeepaliveStatus* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellIdentityOperatorNames& in,
- aidl::android::hardware::radio::CellIdentityOperatorNames* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellIdentityCdma& in,
- aidl::android::hardware::radio::CellIdentityCdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::CellInfoCdma& in,
- aidl::android::hardware::radio::CellInfoCdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::WcdmaSignalStrength& in,
- aidl::android::hardware::radio::WcdmaSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::TdscdmaSignalStrength& in,
- aidl::android::hardware::radio::TdscdmaSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_2::VoiceRegStateResult& in,
- aidl::android::hardware::radio::VoiceRegStateResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_3::RadioResponseInfoModem& in,
- aidl::android::hardware::radio::RadioResponseInfoModem* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::EmergencyNumber& in,
- aidl::android::hardware::radio::EmergencyNumber* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::RadioFrequencyInfo& in,
- aidl::android::hardware::radio::RadioFrequencyInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::LteVopsInfo& in,
- aidl::android::hardware::radio::LteVopsInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::NrIndicators& in,
- aidl::android::hardware::radio::NrIndicators* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::DataRegStateResult& in,
- aidl::android::hardware::radio::DataRegStateResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo& in,
- aidl::android::hardware::radio::DataRegStateResultVopsInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CellConfigLte& in,
- aidl::android::hardware::radio::CellConfigLte* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CellInfo::Info& in,
- aidl::android::hardware::radio::CellInfoInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::RadioCapability& in,
- aidl::android::hardware::radio::RadioCapability* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority& in,
- aidl::android::hardware::radio::CarrierRestrictionsWithPriority* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RadioAccessSpecifier& in,
- aidl::android::hardware::radio::RadioAccessSpecifier* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands& in,
- aidl::android::hardware::radio::RadioAccessSpecifierBands* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::SignalThresholdInfo& in,
- aidl::android::hardware::radio::SignalThresholdInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::NetworkScanRequest& in,
- aidl::android::hardware::radio::NetworkScanRequest* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::DataProfileInfo& in,
- aidl::android::hardware::radio::DataProfileInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::LinkAddress& in,
- aidl::android::hardware::radio::LinkAddress* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::ClosedSubscriberGroupInfo& in,
- aidl::android::hardware::radio::ClosedSubscriberGroupInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::OptionalCsgInfo& in,
- aidl::android::hardware::radio::OptionalCsgInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityGsm& in,
- aidl::android::hardware::radio::CellIdentityGsm* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityWcdma& in,
- aidl::android::hardware::radio::CellIdentityWcdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityTdscdma& in,
- aidl::android::hardware::radio::CellIdentityTdscdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityLte& in,
- aidl::android::hardware::radio::CellIdentityLte* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentityNr& in,
- aidl::android::hardware::radio::CellIdentityNr* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoGsm& in,
- aidl::android::hardware::radio::CellInfoGsm* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoWcdma& in,
- aidl::android::hardware::radio::CellInfoWcdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellInfoTdscdma& in,
- aidl::android::hardware::radio::CellInfoTdscdma* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CellIdentity& in,
- aidl::android::hardware::radio::CellIdentity* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo& in,
- aidl::android::hardware::radio::BarringInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::Conditional&
- in,
- aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo& in,
- aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo::
- Cdma2000RegistrationInfo& in,
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo::
- EutranRegistrationInfo& in,
- aidl::android::hardware::radio::
- RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::AppStatus& in,
- aidl::android::hardware::radio::AppStatus* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_5::CardStatus& in,
- aidl::android::hardware::radio::CardStatus* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosBandwidth& in,
- aidl::android::hardware::radio::QosBandwidth* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::EpsQos& in,
- aidl::android::hardware::radio::EpsQos* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrQos& in,
- aidl::android::hardware::radio::NrQos* out);
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Qos& in,
- aidl::android::hardware::radio::Qos* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RadioResponseInfo& in,
- aidl::android::hardware::radio::RadioResponseInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PortRange& in,
- aidl::android::hardware::radio::PortRange* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::MaybePort& in,
- aidl::android::hardware::radio::MaybePort* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter& in,
- aidl::android::hardware::radio::QosFilter* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::TypeOfService& in,
- aidl::android::hardware::radio::QosFilterTypeOfService* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel& in,
- aidl::android::hardware::radio::QosFilterIpv6FlowLabel* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosFilter::IpsecSpi& in,
- aidl::android::hardware::radio::QosFilterIpsecSpi* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::QosSession& in,
- aidl::android::hardware::radio::QosSession* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SetupDataCallResult& in,
- aidl::android::hardware::radio::SetupDataCallResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::LinkCapacityEstimate& in,
- aidl::android::hardware::radio::LinkCapacityEstimate* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrVopsInfo& in,
- aidl::android::hardware::radio::NrVopsInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::LteSignalStrength& in,
- aidl::android::hardware::radio::LteSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NrSignalStrength& in,
- aidl::android::hardware::radio::NrSignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SignalStrength& in,
- aidl::android::hardware::radio::SignalStrength* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfoLte& in,
- aidl::android::hardware::radio::CellInfoLte* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfoNr& in,
- aidl::android::hardware::radio::CellInfoNr* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfo& in,
- aidl::android::hardware::radio::CellInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo& in,
- aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::NetworkScanResult& in,
- aidl::android::hardware::radio::NetworkScanResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RegStateResult& in,
- aidl::android::hardware::radio::RegStateResult* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo& in,
- aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo* out);
-__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Call& in,
- aidl::android::hardware::radio::Call* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhysicalChannelConfig& in,
- aidl::android::hardware::radio::PhysicalChannelConfig* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band& in,
- aidl::android::hardware::radio::PhysicalChannelConfigBand* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalSliceInfo& in,
- aidl::android::hardware::radio::OptionalSliceInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SliceInfo& in,
- aidl::android::hardware::radio::SliceInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalDnn& in,
- aidl::android::hardware::radio::OptionalDnn* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalOsAppId& in,
- aidl::android::hardware::radio::OptionalOsAppId* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalTrafficDescriptor& in,
- aidl::android::hardware::radio::OptionalTrafficDescriptor* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::TrafficDescriptor& in,
- aidl::android::hardware::radio::TrafficDescriptor* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OsAppId& in,
- aidl::android::hardware::radio::OsAppId* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::SlicingConfig& in,
- aidl::android::hardware::radio::SlicingConfig* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::UrspRule& in,
- aidl::android::hardware::radio::UrspRule* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::RouteSelectionDescriptor& in,
- aidl::android::hardware::radio::RouteSelectionDescriptor* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalPdpProtocolType& in,
- aidl::android::hardware::radio::OptionalPdpProtocolType* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::OptionalSscMode& in,
- aidl::android::hardware::radio::OptionalSscMode* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::ImsiEncryptionInfo& in,
- aidl::android::hardware::radio::ImsiEncryptionInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhonebookRecordInfo& in,
- aidl::android::hardware::radio::PhonebookRecordInfo* out);
-__attribute__((warn_unused_result)) bool translate(
- const ::android::hardware::radio::V1_6::PhonebookCapacity& in,
- aidl::android::hardware::radio::PhonebookCapacity* out);
-
-} // namespace android::h2a
diff --git a/radio/config/1.1/vts/functional/radio_config_hidl_hal_api.cpp b/radio/config/1.1/vts/functional/radio_config_hidl_hal_api.cpp
index 49c7aad..40069bf 100644
--- a/radio/config/1.1/vts/functional/radio_config_hidl_hal_api.cpp
+++ b/radio/config/1.1/vts/functional/radio_config_hidl_hal_api.cpp
@@ -58,7 +58,16 @@
TEST_P(RadioConfigHidlTest, setModemsConfig_goodRequest) {
serial = GetRandomSerialNumber();
ModemsConfig* mConfig = new ModemsConfig();
- mConfig->numOfLiveModems = 1;
+ if (isSsSsEnabled()) {
+ mConfig->numOfLiveModems = 1;
+ } else if (isDsDsEnabled()) {
+ mConfig->numOfLiveModems = 2;
+ } else if (isTsTsEnabled()) {
+ mConfig->numOfLiveModems = 3;
+ } else {
+ ALOGI("Skipping setModemsConfig_goodRequest, unsupported multisim number");
+ return;
+ }
Return<void> res = radioConfig->setModemsConfig(serial, *mConfig);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
diff --git a/secure_element/1.0/vts/functional/OWNERS b/secure_element/1.0/vts/functional/OWNERS
new file mode 100644
index 0000000..a7ee7e9
--- /dev/null
+++ b/secure_element/1.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 456592
+jackcwyu@google.com
diff --git a/secure_element/1.1/vts/functional/OWNERS b/secure_element/1.1/vts/functional/OWNERS
new file mode 100644
index 0000000..a7ee7e9
--- /dev/null
+++ b/secure_element/1.1/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 456592
+jackcwyu@google.com
diff --git a/secure_element/1.2/vts/functional/OWNERS b/secure_element/1.2/vts/functional/OWNERS
new file mode 100644
index 0000000..a7ee7e9
--- /dev/null
+++ b/secure_element/1.2/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 456592
+jackcwyu@google.com
diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
index 2032411..37acfa9 100644
--- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
+++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
@@ -77,12 +77,18 @@
std::unordered_set<SecurityLevel> levels_seen;
for (auto& entry : key_characteristics) {
- if (entry.authorizations.empty()) return false;
+ if (entry.authorizations.empty()) {
+ GTEST_LOG_(ERROR) << "empty authorizations for " << entry.securityLevel;
+ return false;
+ }
// Just ignore the SecurityLevel::KEYSTORE as the KM won't do any enforcement on this.
if (entry.securityLevel == SecurityLevel::KEYSTORE) continue;
- if (levels_seen.find(entry.securityLevel) != levels_seen.end()) return false;
+ if (levels_seen.find(entry.securityLevel) != levels_seen.end()) {
+ GTEST_LOG_(ERROR) << "duplicate authorizations for " << entry.securityLevel;
+ return false;
+ }
levels_seen.insert(entry.securityLevel);
// Generally, we should only have one entry, at the same security level as the KM
@@ -92,7 +98,10 @@
(secLevel == SecurityLevel::STRONGBOX &&
entry.securityLevel == SecurityLevel::TRUSTED_ENVIRONMENT);
- if (!isExpectedSecurityLevel) return false;
+ if (!isExpectedSecurityLevel) {
+ GTEST_LOG_(ERROR) << "Unexpected security level " << entry.securityLevel;
+ return false;
+ }
}
return true;
}
@@ -1356,11 +1365,16 @@
att_hw_enforced[i].tag == TAG_VENDOR_PATCHLEVEL) {
std::string date =
std::to_string(att_hw_enforced[i].value.get<KeyParameterValue::integer>());
+
// strptime seems to require delimiters, but the tag value will
// be YYYYMMDD
+ if (date.size() != 8) {
+ ADD_FAILURE() << "Tag " << att_hw_enforced[i].tag
+ << " with invalid format (not YYYYMMDD): " << date;
+ return false;
+ }
date.insert(6, "-");
date.insert(4, "-");
- EXPECT_EQ(date.size(), 10);
struct tm time;
strptime(date.c_str(), "%Y-%m-%d", &time);
diff --git a/security/keymint/aidl/vts/functional/KeyMintTest.cpp b/security/keymint/aidl/vts/functional/KeyMintTest.cpp
index 651b21f..fe8b48f 100644
--- a/security/keymint/aidl/vts/functional/KeyMintTest.cpp
+++ b/security/keymint/aidl/vts/functional/KeyMintTest.cpp
@@ -69,8 +69,6 @@
namespace {
-bool check_patchLevels = false;
-
// The maximum number of times we'll attempt to verify that corruption
// of an ecrypted blob results in an error. Retries are necessary as there
// is a small (roughly 1/256) chance that corrupting ciphertext still results
@@ -529,14 +527,12 @@
EXPECT_TRUE(os_pl);
EXPECT_EQ(*os_pl, os_patch_level());
- if (check_patchLevels) {
- // Should include vendor and boot patchlevels.
- auto vendor_pl = auths.GetTagValue(TAG_VENDOR_PATCHLEVEL);
- EXPECT_TRUE(vendor_pl);
- EXPECT_EQ(*vendor_pl, vendor_patch_level());
- auto boot_pl = auths.GetTagValue(TAG_BOOT_PATCHLEVEL);
- EXPECT_TRUE(boot_pl);
- }
+ // Should include vendor and boot patchlevels.
+ auto vendor_pl = auths.GetTagValue(TAG_VENDOR_PATCHLEVEL);
+ EXPECT_TRUE(vendor_pl);
+ EXPECT_EQ(*vendor_pl, vendor_patch_level());
+ auto boot_pl = auths.GetTagValue(TAG_BOOT_PATCHLEVEL);
+ EXPECT_TRUE(boot_pl);
return auths;
}
@@ -951,8 +947,12 @@
*
* Verifies that keymint can generate all required RSA key sizes, using an attestation key
* that has been generated using an associate IRemotelyProvisionedComponent.
+ *
+ * This test is disabled because the KeyMint specification does not require that implementations
+ * of the first version of KeyMint have to also implement IRemotelyProvisionedComponent.
+ * However, the test is kept in the code because KeyMint v2 will impose this requirement.
*/
-TEST_P(NewKeyGenerationTest, RsaWithRpkAttestation) {
+TEST_P(NewKeyGenerationTest, DISABLED_RsaWithRpkAttestation) {
// There should be an IRemotelyProvisionedComponent instance associated with the KeyMint
// instance.
std::shared_ptr<IRemotelyProvisionedComponent> rp;
@@ -4678,6 +4678,49 @@
}
/*
+ * EncryptionOperationsTest.AesCbcZeroInputSuccessb
+ *
+ * Verifies that keymaster generates correct output on zero-input with
+ * NonePadding mode
+ */
+TEST_P(EncryptionOperationsTest, AesCbcZeroInputSuccess) {
+ ASSERT_EQ(ErrorCode::OK, GenerateKey(AuthorizationSetBuilder()
+ .Authorization(TAG_NO_AUTH_REQUIRED)
+ .AesEncryptionKey(128)
+ .BlockMode(BlockMode::CBC)
+ .Padding(PaddingMode::NONE, PaddingMode::PKCS7)));
+
+ // Zero input message
+ string message = "";
+ for (auto padding : {PaddingMode::NONE, PaddingMode::PKCS7}) {
+ auto params = AuthorizationSetBuilder().BlockMode(BlockMode::CBC).Padding(padding);
+ AuthorizationSet out_params;
+ string ciphertext1 = EncryptMessage(message, params, &out_params);
+ vector<uint8_t> iv1 = CopyIv(out_params);
+ if (padding == PaddingMode::NONE)
+ EXPECT_EQ(message.size(), ciphertext1.size()) << "PaddingMode: " << padding;
+ else
+ EXPECT_EQ(message.size(), ciphertext1.size() - 16) << "PaddingMode: " << padding;
+
+ out_params.Clear();
+
+ string ciphertext2 = EncryptMessage(message, params, &out_params);
+ vector<uint8_t> iv2 = CopyIv(out_params);
+ if (padding == PaddingMode::NONE)
+ EXPECT_EQ(message.size(), ciphertext2.size()) << "PaddingMode: " << padding;
+ else
+ EXPECT_EQ(message.size(), ciphertext2.size() - 16) << "PaddingMode: " << padding;
+
+ // IVs should be random
+ EXPECT_NE(iv1, iv2) << "PaddingMode: " << padding;
+
+ params.push_back(TAG_NONCE, iv1);
+ string plaintext = DecryptMessage(ciphertext1, params);
+ EXPECT_EQ(message, plaintext) << "PaddingMode: " << padding;
+ }
+}
+
+/*
* EncryptionOperationsTest.AesCallerNonce
*
* Verifies that AES caller-provided nonces work correctly.
@@ -6673,10 +6716,6 @@
} else {
std::cout << "NOT dumping attestations" << std::endl;
}
- // TODO(drysdale): Remove this flag when available KeyMint devices comply with spec
- if (std::string(argv[i]) == "--check_patchLevels") {
- aidl::android::hardware::security::keymint::test::check_patchLevels = true;
- }
}
}
return RUN_ALL_TESTS();
diff --git a/security/secureclock/aidl/android/hardware/security/secureclock/ISecureClock.aidl b/security/secureclock/aidl/android/hardware/security/secureclock/ISecureClock.aidl
index a742ff0..e6d63c8 100644
--- a/security/secureclock/aidl/android/hardware/security/secureclock/ISecureClock.aidl
+++ b/security/secureclock/aidl/android/hardware/security/secureclock/ISecureClock.aidl
@@ -25,6 +25,10 @@
* secret. The shared secret must be available to secure clock service by implementing
* ISharedSecret aidl. Note: ISecureClock depends on the shared secret, without which the secure
* time stamp token cannot be generated.
+ *
+ * The timer must be the same that is used for HardwareAuthTokens. The ISecureClock interface is
+ * used to convey a fresh timestamp to those components that do not share a timer with the
+ * authenticators.
* @hide
*/
@VintfStability
diff --git a/sensors/2.1/default/Android.bp b/sensors/2.1/default/Android.bp
index 0be81e1..e11316b 100644
--- a/sensors/2.1/default/Android.bp
+++ b/sensors/2.1/default/Android.bp
@@ -22,6 +22,11 @@
default_applicable_licenses: ["hardware_interfaces_license"],
}
+filegroup {
+ name: "android.hardware.sensors@2.1.xml",
+ srcs: ["android.hardware.sensors@2.1.xml"],
+}
+
cc_binary {
name: "android.hardware.sensors@2.1-service.mock",
defaults: ["hidl_defaults"],
@@ -50,5 +55,5 @@
"android.hardware.sensors@1.0-convert",
"android.hardware.sensors@2.X-shared-impl",
],
- vintf_fragments: ["android.hardware.sensors@2.1.xml"],
+ vintf_fragments: [":android.hardware.sensors@2.1.xml"],
}
diff --git a/sensors/2.1/default/apex/Android.bp b/sensors/2.1/default/apex/Android.bp
new file mode 100644
index 0000000..3345b92
--- /dev/null
+++ b/sensors/2.1/default/apex/Android.bp
@@ -0,0 +1,46 @@
+package {
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+apex_key {
+ name: "com.android.hardware.sensors.key",
+ public_key: "com.android.hardware.sensors.avbpubkey",
+ private_key: "com.android.hardware.sensors.pem",
+}
+
+android_app_certificate {
+ name: "com.android.hardware.sensors.certificate",
+ certificate: "com.android.hardware.sensors",
+}
+
+prebuilt_etc {
+ name: "com.android.hardware.sensors.rc",
+ src: "com.android.hardware.sensors.rc",
+ installable: false,
+}
+
+// Default vendor APEX for android.hardware.sensors.
+// Custom implementations may use override_apex based on this APEX.
+apex {
+ name: "com.android.hardware.sensors",
+ manifest: "apex_manifest.json",
+ key: "com.android.hardware.sensors.key",
+ certificate: ":com.android.hardware.sensors.certificate",
+ file_contexts: "file_contexts",
+ use_vndk_as_stable: true,
+ updatable: false,
+ // Install the apex in /vendor/apex
+ soc_specific: true,
+ binaries: ["android.hardware.sensors@2.1-service.mock"],
+ prebuilts: [
+ "com.android.hardware.sensors.rc",
+ "android.hardware.sensor.ambient_temperature.prebuilt.xml",
+ "android.hardware.sensor.barometer.prebuilt.xml",
+ "android.hardware.sensor.gyroscope.prebuilt.xml",
+ "android.hardware.sensor.hinge_angle.prebuilt.xml",
+ "android.hardware.sensor.light.prebuilt.xml",
+ "android.hardware.sensor.proximity.prebuilt.xml",
+ "android.hardware.sensor.relative_humidity.prebuilt.xml",
+ ],
+ vintf_fragments: [":android.hardware.sensors@2.1.xml"],
+}
diff --git a/sensors/2.1/default/apex/apex_manifest.json b/sensors/2.1/default/apex/apex_manifest.json
new file mode 100644
index 0000000..47e45ee
--- /dev/null
+++ b/sensors/2.1/default/apex/apex_manifest.json
@@ -0,0 +1,4 @@
+{
+ "name": "com.android.hardware.sensors",
+ "version": 1
+}
diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey b/sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey
new file mode 100644
index 0000000..98dfb71
--- /dev/null
+++ b/sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey
Binary files differ
diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.pem b/sensors/2.1/default/apex/com.android.hardware.sensors.pem
new file mode 100644
index 0000000..a2f1833
--- /dev/null
+++ b/sensors/2.1/default/apex/com.android.hardware.sensors.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKAIBAAKCAgEArUwl9rjXtNrSqJ2rfEryTnVEte7uhZlsn42rXRHFZtuV8N03
+AKAFDDkhJIT+FqmVJLW1Whrno+goaKzA23BodZcSo/xOJuTopgQ/TVqIO2QZ2WUS
+1NiYT3+kydZgtBHhfS+ek9h6aTLgJUn/XBX2xgEA6kp/NkcLpGkqj9Xs7XUpG+n/
+KnyYg+/YFqooEKHTTi4dT9YgRblgzv5zhCKxjB9gqy8dmhwDTpbPGavNiMIZvnSs
+aQzXh7+UMwte+V4QdaEqonoVWm85vEh6rsPpvvmxvlkVnUstRWRwsvbA183gvwZg
+f7OmAgpVu0kEkSHpoJJWpDUhzxmTdxmwvmL92eCJqQUjvxLqak4uBt+epUgbgxcA
+nS7rNg6PsNlHhYl5wRArPP17iW/QK3qnoz8rKgJCtdxPPD13byA13eY9q+Fdwb2H
+uHxGu1iYlRxUAzptvb6pIED/v9MMw/g3yMJkR89WG+pBLbUXHko6H0qOVchYrd8C
+OtcGo7GBBPbJmj9ZGZDX7p5YBSdTZs8f9wWqJmXkfVR60zZE0dOnOchzL44c8oUh
+uwEZMee7Ae/2LfWnfIe5KBNTvvH1CzU8KbQUJJVbATbb3j/eYExgsbnk0WgFi6i4
+osuJZZmfC44tAg18gXozcji+xYuW3MIMV2+drdc3xXn7LXKn5JZCLVJ6n+cCAwEA
+AQKCAgATT6P/XVO0NJo67e75F8Tul0TD3U85FgKzuO66nUtZDekkgRIrAKnvVcJq
+tmM2FUmoYJNH6i2b5zfxiianjVwmlmIeYfQ3g1Slg12megsqSxpSTmAN1eELItcz
+Iq9+AWwWLiNGqF3jsSanIRrSoSPxppT6hrisTLhwZsO2aYlQYLjnAmlLy7yXHzf+
+NpHmYJISaTMc/Wh1PJYcGuC2fcM5MRntmX9799kqfcWwP6PUtIR347p+rk6qMuAJ
+3B+GPEQrR31fw6jzfed6Ir2BEhXPETYMVxMAhysRS4L/fl247pk30Dcao+NA4PPy
+vc1Devr0yLnc7IrK8DetkvBOFuvgl53gHPZ4f7ge2PQMPghwjBaFuXklcfY96PVw
+Yo/CyAN+VEANThFFcKUzovtHI6m3sNTlxE6F+AYvx5dE/WZKmE5/cYCSJ8bhLPJl
+G68VkdeNv0LMZ/7rf1OEWP/YWw/5/tQ7MJ0IO5GShjE2EAGG0SZgK8/fwHZZJFES
+oYVWlriGtGDfiYjPLqVIjdZI6iOo6BMQh6pl0TPIJpn3ODqtRy8gN3TMvG6VcTJy
+QE3Z+br7UsK4gXSw0+MNLC3VKhX2bjT5q9lVpVnLv4L7q1ad4kwHblFAo686ZbWt
+eKTUv7QTI3fFqYeZEgCqRBQZ3UoKyWOBg0MAbf26hZFTFFpbEQKCAQEA2JdW6wDM
+iO1haR168l497nUC382/f/fJA8vzFdJ7cHVM95Tx/5JNYNJSL30XDyux9RJNqnFu
+tByec4c5CVuX/Gv/B4Q++xaaI7OVT9hTl/aoTShObGRJGbVh8xZagb7on7dAfD6G
+1SzTaahxQT5neoiki13GvJ6teL+0ZbCxRDMfPyy79lRzH5d0mw+EQvtc0Vvkweyj
+zf/Mn0yMZHO19oCKjJo8QkciseOqaS2mpgtOiRDc01uuaFAcw6taiERrR86xK2Yl
+OowIx6Yu8n7jRyTGUfr2Oz97a/zDVMVRi3BuyePOyCD9PfUmoj9JyCFbQSS1Lq3N
+AWacnNwQpkDDiQKCAQEAzNQ3/hKhjrLyEm2ktQk1Tzyk4eGu/NElxSKM7uJTeU0k
+xxKuMNMQCJbZmklJKojVYZ0fsh6AyLEpBMV6mWTmVo0qA/A09jKD2tsKu52KGCMt
+vgrN4Gi5JJJACNbtpG7uSJstAYuUGYQSTuS/xCE+urgMVbWBTocsf0bEeEe0FRWX
+txhS/zdj6wspTd6lJ0SSahWG/BsV7990zaRDGYv0N1+SwF8/C0Ml99WbyRof6oP9
+jx0esKA+giWc5lSk+Ag2gpsTIH36aF53lQnDBZL3hqSgqP0ollKa9Uyjfmp65D1m
+TwoENrKnVNO5ZKteTM3SGQ+zsHxBPpinK7T2BPe77wKCAQBdS+Nu2ys/mDErnD1H
+hXzb6J9SVEg3ET8PWZzeO4pciMqcoxYS5qxaFn68Yf+60zGWxUmbL71l7CX80bSp
+6UBwxPxX+ok+kx/WXRbmC+MGRIN+qOwPGKu8XTtSAMD/voJpugAXBMADt4lhq+MN
+HZppV865Ea33tco3hyxn2VKic/rztYtJslrcstrRqD9qsufqbtD9D7gHljZIMCsR
+Yh5xjjEgG5f1XLr/MXhIUhfE0n4D4LWefZGE8W1Sg889f2tOxSPf8+H5dDSb+2Oh
+pTK1hIvA6H+ESfYaMAjbzRsxGz89y9lYr40mUSFRJj3b7TJnvy4ka00xW0f+8XRi
+iOcxAoIBAB0o8Te4i0t3akL5XQNw5if7qDWIHZNcaxYfjxTLH7sbIms825OT2KqA
+X0Y5vLLTfB1Dcym2cfsgTYiiXIvN84TK3/pjjgamtmLH4EVJbkl1aKOvghO6lPEB
+6R/ZCUfpiv7HKKcZqeHgDYMxyaMwYG/Ql+Dz0A7P66PK/VlqS9bclha43cf7qLvj
+gOPXGIf4mSeFHQxzBrJ5i3VjNzJB3GitsIS2ipEd5B/eRylgEL8gP07KhH38silx
+FV8tGbc95BS/4v8zMBz/peKP2zXF8Hs4oK6uK8MKy4i0emoa2pf3rcL+2A65bF0F
+L1WHmAszGf/7Xkd3yQoSTWpJfuTCJ/0CggEBAJjkBaEoiRYp0RBq1Ty0wa+xbPHp
+gAcpco+VC3T8uqniKBDrf5QsMDm7+P9IZRYrfgyy0KFeG4mHrTt61JgOLnhSTOyz
+EEChc8SOn6+vqMB36FmSSqVb6CdLEZhv5dtTzzHgyd3xS3cwga9Mf2SCoG/l34HJ
+XzfoQyLKvqF0kWOq/76k+kBM5QwWIGc2fVXcpJpWaAuPWKDQJnkvTcPp8XPyEADv
+z2YbSDDqqcwczX2DWepf2t2RU1fdyjS5wS6pNDvsuyd6gwUTQT1P5ODHbIdAwcdi
+5Gxui8voJmzvrfabIsN6H73ZS4Lw20ZB+ejYyiwxZcb0os45C1coicMJ9wQ=
+-----END RSA PRIVATE KEY-----
diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.pk8 b/sensors/2.1/default/apex/com.android.hardware.sensors.pk8
new file mode 100644
index 0000000..7a1cca0
--- /dev/null
+++ b/sensors/2.1/default/apex/com.android.hardware.sensors.pk8
Binary files differ
diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.rc b/sensors/2.1/default/apex/com.android.hardware.sensors.rc
new file mode 100644
index 0000000..bd245b4
--- /dev/null
+++ b/sensors/2.1/default/apex/com.android.hardware.sensors.rc
@@ -0,0 +1,7 @@
+service vendor.sensors-hal-2-1-mock /apex/com.android.hardware.sensors/bin/hw/android.hardware.sensors@2.1-service.mock
+ interface android.hardware.sensors@2.0::ISensors default
+ interface android.hardware.sensors@2.1::ISensors default
+ class hal
+ user system
+ group system
+ rlimit rtprio 10 10
diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem b/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem
new file mode 100644
index 0000000..20a06f9
--- /dev/null
+++ b/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF3TCCA8UCFAbIl4RS714WSLo4k64MHsINz4VEMA0GCSqGSIb3DQEBCwUAMIGp
+MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91
+bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi
+MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTElMCMGA1UEAwwcY29t
+LmFuZHJvaWQuaGFyZHdhcmUuc2Vuc29yczAgFw0yMTA5MDMxNjEyNDNaGA80NzU5
+MDczMTE2MTI0M1owgakxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh
+MRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lkMRAwDgYD
+VQQLDAdBbmRyb2lkMSIwIAYJKoZIhvcNAQkBFhNhbmRyb2lkQGFuZHJvaWQuY29t
+MSUwIwYDVQQDDBxjb20uYW5kcm9pZC5oYXJkd2FyZS5zZW5zb3JzMIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnluNTPcq4pDEeb5gEYszRYQCawq8czUY
+J+x2b0i7qO2wLidX45CX6BLZ9N7c5veoV3FvC1wMTRR6lGAyg7UbD80vVmPdmr6R
+vw2AdIqrghXinvAEv6gxQQPVQa8UHkCL4lULLXo2gdmoCBM8VJHihjO/2F8ZLsP/
+nKhYx9Nr6w9LEyalmHTkXOgNyrNprpbJwugdk3hDXbAK+j5nF9fsz/iWFoXnPuNe
+oqdWj21YhXKDAbewBXaM6l3qmTdGsVVJL4HmVURGUY2f2UZwMWTEjpy9UDzyfqqg
+CSdH1RLmGVAINyfNI3Zswo0CjnOCf0jW6mq9/6mfGYu8hBCrky/rOH8reDwYZTGe
+H6JbNj0dhEN5HzQcxGEQQ43L1nmH7XlnuPO0xPSsw5binPVuUvURivR3PSsFgpPl
+0Uche62XgLAXCXhNV2uUQtZLVFGug7JcGgS4O3GoKr6w35Q+W9SEXanXFMW6X+wN
+hkbhB4MDSuKTZrjEnZEyxMOLG8ILN9i7osa+yjWONTn9bZc6q3Y9jyu3u84o8kC8
+KDcvr8YZEL63nQsQXO44GiQmqBptuB+ehcAC6uRCKkY9tQ95EQ7laGQ3C85d3gPj
+NcGjT7SSuUir7n+LI9pZsotedd9+rGhiiyT8CM4sVWiYJFnA2UX/bsnkZyAOq9Po
+jz1aMdHc4wUCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEATEPN2SZk8pJc4DaWmhyR
+MUklzVeuN0J0Mij1mHuVmID7Q5IhBBXxtVmwRIo208rHSvFLAo7Z4FnuZCV3A/c9
+TlXT3S2t+iYG5eOyXSsoSc/uerJ7kIBcOe27qIrO9GwcK5CQlTaXP+CG1gbLp1nl
+IaqKAT+eb/ji5wmFxMI77wo3uKLPTCfpaptFNaYlRqvxiXdJsCZwCPgmCtXJUeeZ
+R/HKOA4PcS2QB+HwhYePY5kUJPwt6MwJEyno72oenfl49FrGHj0BzVmQ7KMfiYjZ
+eRSB2Wbo50xfiICkPlUcvWD8rRNg7N9CM/Q5O0MW3ivAe42aGap/8qfXUa+L5vu4
+9vaxgQvBVcPXE/pyeCYM8beB84Us+FOYPC7gIUhcctBqGYAQmHzp3sXvIg0DVxz7
+0aqolFGpjRFqbgheS9WRkDHFpYrhR1XMVOQjussHqWEyRcvliqeFlZr8+JNkJNi+
+lmGMdnEAWZs8PL0/AEf+8y0Nr/w0k3Y6IZCDcwpxbpJQOU5pAbkfUzEJHkxMfuvW
+ZshvqIMOaLWCGxZaxlbLRxWGuarWYzfmDY3n9TwJmAIUdMLiswv3UsCmLBJO1XGX
+SUWfgi4fyG1/phfzhdU3efMvmN+XT16/ykMrY8P5S+ghwK12IZ3DgTl0ooLFABUj
+zYeQ8LLz3SP9LNgeLnPP/po=
+-----END CERTIFICATE-----
diff --git a/sensors/2.1/default/apex/file_contexts b/sensors/2.1/default/apex/file_contexts
new file mode 100644
index 0000000..d0095c0
--- /dev/null
+++ b/sensors/2.1/default/apex/file_contexts
@@ -0,0 +1,5 @@
+(/.*)? u:object_r:vendor_file:s0
+# Permission XMLs
+/etc/permissions(/.*)? u:object_r:vendor_configs_file:s0
+# Service binary
+/bin/hw/android\.hardware\.sensors@2\.1-service\.mock u:object_r:hal_sensors_default_exec:s0
diff --git a/sensors/common/vts/OWNERS b/sensors/common/vts/OWNERS
index 892da15..1b9a2f8 100644
--- a/sensors/common/vts/OWNERS
+++ b/sensors/common/vts/OWNERS
@@ -1,8 +1,5 @@
+# Bug component: 62965
# Sensors team
arthuri@google.com
bduddie@google.com
stange@google.com
-
-# VTS team
-trong@google.com
-yim@google.com
diff --git a/soundtrigger/2.0/vts/functional/OWNERS b/soundtrigger/2.0/vts/functional/OWNERS
new file mode 100644
index 0000000..3c24468
--- /dev/null
+++ b/soundtrigger/2.0/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 48436
+elaurent@google.com
+mdooley@google.com
+ytai@google.com
diff --git a/soundtrigger/2.1/vts/functional/OWNERS b/soundtrigger/2.1/vts/functional/OWNERS
new file mode 100644
index 0000000..3c24468
--- /dev/null
+++ b/soundtrigger/2.1/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 48436
+elaurent@google.com
+mdooley@google.com
+ytai@google.com
diff --git a/soundtrigger/2.3/vts/functional/OWNERS b/soundtrigger/2.3/vts/functional/OWNERS
new file mode 100644
index 0000000..3c24468
--- /dev/null
+++ b/soundtrigger/2.3/vts/functional/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 48436
+elaurent@google.com
+mdooley@google.com
+ytai@google.com
diff --git a/thermal/2.0/vts/functional/OWNERS b/thermal/2.0/vts/functional/OWNERS
new file mode 100644
index 0000000..0c282a0
--- /dev/null
+++ b/thermal/2.0/vts/functional/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 623506
+wvw@google.com
diff --git a/uwb/aidl/default/uwb_chip.cpp b/uwb/aidl/default/uwb_chip.cpp
index 727bcf1..fe64fa7 100644
--- a/uwb/aidl/default/uwb_chip.cpp
+++ b/uwb/aidl/default/uwb_chip.cpp
@@ -16,13 +16,17 @@
#include "uwb.h"
+namespace {
+constexpr static int kVendorUciVersion = 1;
+}
+
namespace android {
namespace hardware {
namespace uwb {
namespace impl {
using namespace ::aidl::android::hardware::uwb;
-UwbChip::UwbChip(const std::string& name) : name_(name) {}
+UwbChip::UwbChip(const std::string& name) : name_(name), mClientCallback(nullptr) {}
UwbChip::~UwbChip() {}
::ndk::ScopedAStatus UwbChip::getName(std::string* name) {
@@ -30,25 +34,30 @@
return ndk::ScopedAStatus::ok();
}
-::ndk::ScopedAStatus UwbChip::open(
- const std::shared_ptr<IUwbClientCallback>& /* clientCallback */) {
- return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+::ndk::ScopedAStatus UwbChip::open(const std::shared_ptr<IUwbClientCallback>& clientCallback) {
+ mClientCallback = clientCallback;
+ mClientCallback->onHalEvent(UwbEvent::OPEN_CPLT, UwbStatus::OK);
+ return ndk::ScopedAStatus::ok();
}
::ndk::ScopedAStatus UwbChip::close() {
- return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+ mClientCallback->onHalEvent(UwbEvent::CLOSE_CPLT, UwbStatus::OK);
+ mClientCallback = nullptr;
+ return ndk::ScopedAStatus::ok();
}
::ndk::ScopedAStatus UwbChip::coreInit() {
- return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+ return ndk::ScopedAStatus::ok();
}
-::ndk::ScopedAStatus UwbChip::getSupportedVendorUciVersion(int32_t* /* version */) {
- return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+::ndk::ScopedAStatus UwbChip::getSupportedVendorUciVersion(int32_t* version) {
+ *version = kVendorUciVersion;
+ return ndk::ScopedAStatus::ok();
}
::ndk::ScopedAStatus UwbChip::sendUciMessage(const std::vector<uint8_t>& /* data */,
int32_t* /* bytes_written */) {
+ // TODO(b/195992658): Need emulator support for UCI stack.
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}
} // namespace impl
diff --git a/uwb/aidl/default/uwb_chip.h b/uwb/aidl/default/uwb_chip.h
index 5d3f55c..ef1d5b6 100644
--- a/uwb/aidl/default/uwb_chip.h
+++ b/uwb/aidl/default/uwb_chip.h
@@ -43,6 +43,7 @@
private:
std::string name_;
+ std::shared_ptr<IUwbClientCallback> mClientCallback;
};
} // namespace impl
} // namespace uwb
diff --git a/uwb/aidl/vts/Android.bp b/uwb/aidl/vts/Android.bp
new file mode 100644
index 0000000..4d9f653
--- /dev/null
+++ b/uwb/aidl/vts/Android.bp
@@ -0,0 +1,28 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_test {
+ name: "VtsHalUwbTargetTest",
+ defaults: [
+ "VtsHalTargetTestDefaults",
+ "use_libaidlvintf_gtest_helper_static",
+ ],
+ srcs: ["VtsHalUwbTargetTest.cpp"],
+ shared_libs: [
+ "libbinder",
+ "libbinder_ndk",
+ ],
+ static_libs: [
+ "android.hardware.uwb-V1-ndk",
+ ],
+ test_suites: [
+ "general-tests",
+ "vts",
+ ],
+}
diff --git a/uwb/aidl/vts/OWNERS b/uwb/aidl/vts/OWNERS
new file mode 100644
index 0000000..c4ad416
--- /dev/null
+++ b/uwb/aidl/vts/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 1042770
+include platform/packages/modules/Uwb:/OWNERS
diff --git a/uwb/aidl/vts/VtsHalUwbTargetTest.cpp b/uwb/aidl/vts/VtsHalUwbTargetTest.cpp
new file mode 100644
index 0000000..9ac2678
--- /dev/null
+++ b/uwb/aidl/vts/VtsHalUwbTargetTest.cpp
@@ -0,0 +1,210 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the std::shared_ptrecific language governing permissions and
+ * limitations under the License.
+ */
+#include <aidl/Gtest.h>
+#include <aidl/Vintf.h>
+#include <aidl/android/hardware/uwb/BnUwbClientCallback.h>
+#include <aidl/android/hardware/uwb/IUwb.h>
+#include <aidl/android/hardware/uwb/IUwbChip.h>
+#include <aidl/android/hardware/uwb/IUwbClientCallback.h>
+#include <android/binder_auto_utils.h>
+#include <android/binder_manager.h>
+#include <binder/IServiceManager.h>
+#include <binder/ProcessState.h>
+
+#include <future>
+
+using aidl::android::hardware::uwb::BnUwbClientCallback;
+using aidl::android::hardware::uwb::IUwb;
+using aidl::android::hardware::uwb::IUwbChip;
+using aidl::android::hardware::uwb::IUwbClientCallback;
+using aidl::android::hardware::uwb::UwbEvent;
+using aidl::android::hardware::uwb::UwbStatus;
+using android::ProcessState;
+using android::String16;
+using ndk::ScopedAStatus;
+using ndk::SpAIBinder;
+
+namespace {
+constexpr static int kCallbackTimeoutMs = 250;
+} // namespace
+
+class UwbClientCallback : public BnUwbClientCallback {
+ public:
+ UwbClientCallback(const std::function<void(const std::vector<uint8_t>&)>& on_uci_message_cb,
+ const std::function<void(UwbEvent, UwbStatus)>& on_hal_event_cb)
+ : on_uci_message_cb_(on_uci_message_cb), on_hal_event_cb_(on_hal_event_cb) {}
+
+ ScopedAStatus onUciMessage(const std::vector<uint8_t>& data) override {
+ on_uci_message_cb_(data);
+ return ScopedAStatus::ok();
+ }
+
+ ScopedAStatus onHalEvent(UwbEvent uwb_event, UwbStatus uwb_status) override {
+ on_hal_event_cb_(uwb_event, uwb_status);
+ return ScopedAStatus::ok();
+ }
+
+ private:
+ std::function<void(const std::vector<uint8_t>&)> on_uci_message_cb_;
+ std::function<void(UwbEvent, UwbStatus)> on_hal_event_cb_;
+};
+
+class UwbAidl : public testing::TestWithParam<std::string> {
+ public:
+ virtual void SetUp() override {
+ iuwb_ = IUwb::fromBinder(SpAIBinder(AServiceManager_waitForService(GetParam().c_str())));
+ ASSERT_NE(iuwb_, nullptr);
+ }
+ std::shared_ptr<IUwb> iuwb_;
+
+ // TODO (b/197638976): We pick the first chip here. Need to fix this
+ // for supporting multiple chips in the future.
+ std::string getAnyChipName() {
+ std::vector<std::string> chip_names;
+ ScopedAStatus status = iuwb_->getChips(&chip_names);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_FALSE(chip_names.empty());
+ return chip_names[0];
+ }
+
+ // TODO (b/197638976): We pick the first chip here. Need to fix this
+ // for supporting multiple chips in the future.
+ std::shared_ptr<IUwbChip> getAnyChip() {
+ std::shared_ptr<IUwbChip> iuwb_chip;
+ ScopedAStatus status = iuwb_->getChip(getAnyChipName(), &iuwb_chip);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_NE(iuwb_chip, nullptr);
+ return iuwb_chip;
+ }
+
+ std::shared_ptr<IUwbChip> getAnyChipAndOpen() {
+ std::promise<void> open_cb_promise;
+ std::future<void> open_cb_future{open_cb_promise.get_future()};
+ std::shared_ptr<UwbClientCallback> callback = ndk::SharedRefBase::make<UwbClientCallback>(
+ [](auto /* data */) {},
+ [&open_cb_promise](auto event, auto /* status */) {
+ if (event == UwbEvent::OPEN_CPLT) {
+ open_cb_promise.set_value();
+ }
+ });
+ std::chrono::milliseconds timeout{kCallbackTimeoutMs};
+ const auto iuwb_chip = getAnyChip();
+ EXPECT_TRUE(iuwb_chip->open(callback).isOk());
+ EXPECT_EQ(open_cb_future.wait_for(timeout), std::future_status::ready);
+ return iuwb_chip;
+ }
+};
+
+TEST_P(UwbAidl, GetChips) {
+ std::vector<std::string> chip_names;
+ ScopedAStatus status = iuwb_->getChips(&chip_names);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_FALSE(chip_names.empty());
+}
+
+TEST_P(UwbAidl, GetChip) {
+ std::shared_ptr<IUwbChip> iuwb_chip;
+ ScopedAStatus status = iuwb_->getChip(getAnyChipName(), &iuwb_chip);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_NE(iuwb_chip, nullptr);
+}
+
+TEST_P(UwbAidl, ChipOpen) {
+ std::promise<void> open_cb_promise;
+ std::future<void> open_cb_future{open_cb_promise.get_future()};
+ std::shared_ptr<UwbClientCallback> callback = ndk::SharedRefBase::make<UwbClientCallback>(
+ [](auto /* data */) {},
+ [&open_cb_promise](auto event, auto /* status */) {
+ if (event == UwbEvent::OPEN_CPLT) {
+ open_cb_promise.set_value();
+ }
+ });
+ std::chrono::milliseconds timeout{kCallbackTimeoutMs};
+ const auto iuwb_chip = getAnyChip();
+ EXPECT_TRUE(iuwb_chip->open(callback).isOk());
+ EXPECT_EQ(open_cb_future.wait_for(timeout), std::future_status::ready);
+}
+
+TEST_P(UwbAidl, ChipClose) {
+ std::promise<void> open_cb_promise;
+ std::future<void> open_cb_future{open_cb_promise.get_future()};
+ std::promise<void> close_cb_promise;
+ std::future<void> close_cb_future{close_cb_promise.get_future()};
+ std::shared_ptr<UwbClientCallback> callback = ndk::SharedRefBase::make<UwbClientCallback>(
+ [](auto /* data */) {},
+ [&open_cb_promise, &close_cb_promise](auto event, auto /* status */) {
+ if (event == UwbEvent::OPEN_CPLT) {
+ open_cb_promise.set_value();
+ }
+ if (event == UwbEvent::CLOSE_CPLT) {
+ close_cb_promise.set_value();
+ }
+ });
+ std::chrono::milliseconds timeout{kCallbackTimeoutMs};
+ const auto iuwb_chip = getAnyChip();
+ EXPECT_TRUE(iuwb_chip->open(callback).isOk());
+ EXPECT_EQ(open_cb_future.wait_for(timeout), std::future_status::ready);
+ EXPECT_TRUE(iuwb_chip->close().isOk());
+ EXPECT_EQ(close_cb_future.wait_for(timeout), std::future_status::ready);
+}
+
+TEST_P(UwbAidl, ChipCoreInit) {
+ const auto iuwb_chip = getAnyChipAndOpen();
+ EXPECT_TRUE(iuwb_chip->coreInit().isOk());
+}
+
+TEST_P(UwbAidl, ChipGetSupportedVendorUciVersion) {
+ const auto iuwb_chip = getAnyChipAndOpen();
+ EXPECT_TRUE(iuwb_chip->coreInit().isOk());
+
+ int version;
+ EXPECT_TRUE(iuwb_chip->getSupportedVendorUciVersion(&version).isOk());
+ EXPECT_GT(version, 0);
+}
+
+TEST_P(UwbAidl, ChipGetName) {
+ std::string chip_name = getAnyChipName();
+ std::shared_ptr<IUwbChip> iuwb_chip;
+ ScopedAStatus status = iuwb_->getChip(chip_name, &iuwb_chip);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_NE(iuwb_chip, nullptr);
+
+ std::string retrieved_chip_name;
+ status = iuwb_chip->getName(&retrieved_chip_name);
+ EXPECT_TRUE(status.isOk());
+ EXPECT_EQ(retrieved_chip_name, chip_name);
+}
+
+/**
+TEST_P(UwbAidl, ChipSendUciMessage_GetDeviceInfo) {
+const auto iuwb_chip = getAnyChipAndOpen(callback);
+EXPECT_TRUE(iuwb_chip->coreInit(callback).isOk());
+
+const std::vector<uint8_t>
+EXPECT_TRUE(iuwb_chip->sendUciMessage().isOk());
+} */
+
+GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(UwbAidl);
+INSTANTIATE_TEST_SUITE_P(Uwb, UwbAidl,
+ testing::ValuesIn(android::getAidlHalInstanceNames(IUwb::descriptor)),
+ android::PrintInstanceNameToString);
+
+int main(int argc, char** argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ ProcessState::self()->setThreadPoolMaxThreadCount(1);
+ ProcessState::self()->startThreadPool();
+ return RUN_ALL_TESTS();
+}
diff --git a/vibrator/aidl/android/hardware/vibrator/ActivePwle.aidl b/vibrator/aidl/android/hardware/vibrator/ActivePwle.aidl
index fd5f8d1..6757476 100644
--- a/vibrator/aidl/android/hardware/vibrator/ActivePwle.aidl
+++ b/vibrator/aidl/android/hardware/vibrator/ActivePwle.aidl
@@ -22,26 +22,50 @@
* Amplitude ranging from 0.0 (inclusive) to 1.0 (inclusive)
* in units of output acceleration amplitude, not voltage amplitude.
*
+ * Values should fall within the range of 0.0 (inclusive) to the maximum defined
+ * by the corresponding entries in IVibrator#getBandwidthAmplitudeMap (inclusive).
+ * If startFrequency falls between two entries, the value will not exceed the
+ * largest amplitude of the two bounding frequencies.
+ *
* 0.0 represents no output acceleration amplitude
- * 1.0 represents maximum output acceleration amplitude at resonant frequency
+ * 1.0 represents maximum output acceleration amplitude
+ * across all supported frequencies
*/
float startAmplitude;
+
/**
* Absolute frequency point in the units of hertz
+ *
+ * Values are within the continuous inclusive frequency range defined by
+ * IVibrator#getBandwidthAmplitudeMap, and not limited by the
+ * IVibrator#getFrequencyResolution.
*/
float startFrequency;
+
/**
* Amplitude ranging from 0.0 (inclusive) to 1.0 (inclusive)
* in units of output acceleration amplitude, not voltage amplitude.
*
+ * Values should fall within the range of 0.0 (inclusive) to the maximum defined
+ * by the corresponding entries in IVibrator#getBandwidthAmplitudeMap (inclusive).
+ * If endFrequency falls between two entries, the value will not exceed the
+ * largest amplitude of the two bounding frequencies.
+ *
* 0.0 represents no output acceleration amplitude
- * 1.0 represents maximum output acceleration amplitude at resonant frequency
+ * 1.0 represents maximum output acceleration amplitude
+ * across all supported frequencies
*/
float endAmplitude;
+
/**
* Absolute frequency point in the units of hertz
+ *
+ * Values are within the continuous inclusive frequency range defined by
+ * IVibrator#getBandwidthAmplitudeMap, and not limited by the
+ * IVibrator#getFrequencyResolution.
*/
float endFrequency;
+
/**
* Total duration from start point to end point in the units of milliseconds
*/
diff --git a/vibrator/aidl/android/hardware/vibrator/IVibrator.aidl b/vibrator/aidl/android/hardware/vibrator/IVibrator.aidl
index 592d151..b4e7e44 100644
--- a/vibrator/aidl/android/hardware/vibrator/IVibrator.aidl
+++ b/vibrator/aidl/android/hardware/vibrator/IVibrator.aidl
@@ -305,6 +305,10 @@
* of getFrequencyResolution(). The value returned by getResonantFrequency() must be
* represented in the returned list.
*
+ * The amplitude values represent the maximum output acceleration amplitude supported for each
+ * given frequency. Equal amplitude values for different frequencies represent equal output
+ * accelerations.
+ *
* @return The maximum output acceleration amplitude for each supported frequency,
* starting at getMinimumFrequency()
*/
diff --git a/vibrator/aidl/default/Android.bp b/vibrator/aidl/default/Android.bp
index 5a65e75..2e12dfb 100644
--- a/vibrator/aidl/default/Android.bp
+++ b/vibrator/aidl/default/Android.bp
@@ -26,11 +26,16 @@
],
}
+filegroup {
+ name: "android.hardware.vibrator.xml",
+ srcs: ["android.hardware.vibrator.xml"],
+}
+
cc_binary {
name: "android.hardware.vibrator-service.example",
relative_install_path: "hw",
init_rc: ["vibrator-default.rc"],
- vintf_fragments: ["vibrator-default.xml"],
+ vintf_fragments: [":android.hardware.vibrator.xml"],
vendor: true,
shared_libs: [
"libbase",
diff --git a/vibrator/aidl/default/vibrator-default.xml b/vibrator/aidl/default/android.hardware.vibrator.xml
similarity index 100%
rename from vibrator/aidl/default/vibrator-default.xml
rename to vibrator/aidl/default/android.hardware.vibrator.xml
diff --git a/vibrator/aidl/default/apex/Android.bp b/vibrator/aidl/default/apex/Android.bp
new file mode 100644
index 0000000..7949057
--- /dev/null
+++ b/vibrator/aidl/default/apex/Android.bp
@@ -0,0 +1,41 @@
+package {
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+apex_key {
+ name: "com.android.hardware.vibrator.key",
+ public_key: "com.android.hardware.vibrator.avbpubkey",
+ private_key: "com.android.hardware.vibrator.pem",
+}
+
+android_app_certificate {
+ name: "com.android.hardware.vibrator.certificate",
+ certificate: "com.android.hardware.vibrator",
+}
+
+prebuilt_etc {
+ name: "com.android.hardware.vibrator.rc",
+ src: "com.android.hardware.vibrator.rc",
+ installable: false,
+}
+
+apex {
+ name: "com.android.hardware.vibrator",
+ manifest: "apex_manifest.json",
+ key: "com.android.hardware.vibrator.key",
+ certificate: ":com.android.hardware.vibrator.certificate",
+ file_contexts: "file_contexts",
+ use_vndk_as_stable: true,
+ updatable: false,
+ // Install the apex in /vendor/apex
+ soc_specific: true,
+ binaries: [
+ "android.hardware.vibrator-service.example",
+ ],
+ prebuilts: [
+ "com.android.hardware.vibrator.rc",
+ ],
+ vintf_fragments: [":android.hardware.vibrator.xml"],
+ // vibrator.default.so is not needed by the AIDL service binary.
+ overrides: ["vibrator.default"],
+}
diff --git a/vibrator/aidl/default/apex/apex_manifest.json b/vibrator/aidl/default/apex/apex_manifest.json
new file mode 100644
index 0000000..3f395c0
--- /dev/null
+++ b/vibrator/aidl/default/apex/apex_manifest.json
@@ -0,0 +1,4 @@
+{
+ "name": "com.android.hardware.vibrator",
+ "version": 1
+}
diff --git a/vibrator/aidl/default/apex/com.android.hardware.vibrator.avbpubkey b/vibrator/aidl/default/apex/com.android.hardware.vibrator.avbpubkey
new file mode 100644
index 0000000..a6ca630
--- /dev/null
+++ b/vibrator/aidl/default/apex/com.android.hardware.vibrator.avbpubkey
Binary files differ
diff --git a/vibrator/aidl/default/apex/com.android.hardware.vibrator.pem b/vibrator/aidl/default/apex/com.android.hardware.vibrator.pem
new file mode 100644
index 0000000..c0f5c50
--- /dev/null
+++ b/vibrator/aidl/default/apex/com.android.hardware.vibrator.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKAIBAAKCAgEAnIEo7HGpVc62cFPmwT3MOiHQANHVbawHpbp//x3xK7acK6So
+rUu8XJnsO0kAA/Vwtfqqo5GgmBVUr4ahW+MJ/W/X7NP5hAetQWQcGFc0Yhqmoi1g
+vTDRon2i6+mhfUFJqqy8t3vLFehqgkQCe8gGiEVl43+PODtfIae+AaPbTl8R9ErQ
+l3ESBfRElkMQo2beC7e8k5joLEA3q85Q7rdSFUdhoUSXMVRHmBVJxezYI/3SLFtj
+7ULKaGtOgUFlj5R9akr9y8+sG9NBJI5HJZgqz46l+ZuNkdkPlDK6arD5eL9lkpxt
+GeXhtwBPdgZIuSTe/tFeYU65MmwLxVnStDJ67k3AFKC0Zg7ISVemCRofSOEhyUm3
+DoB1G9UiBj3pNmhwPNYiohW3pFZuLgBArAT8nTi4txmCBMNStz7kNVW8sv8nlBEz
+D+nOuoB8tGAF7+fsaBKVQI6yJd2tgkpRM5E8NNrLYL+ignRztzfHjNDtw5Xn4QHA
+Ds1GrNqq25uBxvrH5cDa2HFvZryuejlzvGp6YAkPUwZrYJ/ij7i+98EvXowgED/7
+gFnXmkkyW1LQ0BUxJtKKEjnSno8leGbcospSUDt8uiBF7Vnn3atokRpl6rr2k0qa
+5ELx+vrQT+LUUo0MuZkAW9qKfYLBF8UOCiK1Ytvs9bxK3Jb93E+lJAe/HQkCAwEA
+AQKCAgADnZA+dhm9W7snOSj5id3v8dwGSNKvZ+v9TiOq1xw9MEjHUVR8PGWrlfq5
+G+SeMstZyOKsSK73FHcSXv/XSZVvf2fzlqoK/Mpp2lAz17/kDE2RLY8wj7IoGNLs
+tEcAx8NV6AusCXYVmXrsa3nLNkHAYCoMaWP7npOCCYgALbLhSpz1kczj0r7h2FTF
+S+NUgwnaJ3J5zmx+qTUgCPIhsaZ5y15cBWOgxhupTcSYh/IuUqzKTYovbv2SD/iO
+T95yxLFpBTZ7wN5u/iBhIdBO9Ab5KIh5Dbjlh6guekWINXJt8a39BxQWJxNh0OYF
+CfwgGtPz+w49HT52Bbz34C1X8FqaoXxJUHaJ7e83Y/1qzENNPOsmdscMuzrjlVox
+gyQPIS5HzASD2NktnShwE2QUMhZcovkPIhFxos7JDMvOTXf6LVMXKWGa4HZqb4Z2
+dBp/bZzuV+OOHXq9emCkRwO5aor2qfefSf+xcycDWzaWTJfvnEXulFXYtqiGOEL7
+hyvr38Tll6dOLO8KkwvHaf51wZl/jCTo+7akdpokUh0Klg3/KKRiaScHQotkrVuD
+MGL+kWSZqZ6sZKs8z3xh4oj2d6P1qHEeu85+DY/GyHJ2Ek4athcT0jmqb4A/0Tq9
+1zr5IXo+ps20YjW5bFvXbvKVZYggsJyacw6WhTFD9eN8fn+UoQKCAQEAzwrs/QWv
+yWoWLOaF39bL6JSdq8juynswdb2NjcHV/b7dzhgf0aDnA6WtJcHlfRcnA8haeoEQ
+n0qzPAirexz2AtWfJm41gYTqWTwaaNkbwxGMMvLV/IQebk3pHdAdONFYpLloJvlt
+4ys8W1gdMKwzSRvR4VPYwIfIqb/vYxZhme0JBF0X5iPFkID9Q1cJeaRx9PhCvX4o
+LBb6impUkeTIhxbGgbuudGyhcyvKrPdcx1ts69r6NOme2hvBhrbZGVaUEtlHvEu0
+1JvNvPJyK2XvHI3EtERzjUPm3s+Gh5REvdXXaz1GC4HUSFZkOG8/HgSZoEYVkSJH
+QoCnfXc4VG4jrQKCAQEAwYL4KvpltG85DNoYava71adQfYwitQah8omGU+dqWjjQ
+m8WLKo1cjEO6tfIp7UFSz4mJvwhxj9aqdwu2RyGoeZHKOhxluZIH9mcoPggL7Kgj
+xEJfkwy5zbReujM71n5FOhR2zOltXXa5YrN9983fZeZK8FRchEBDwyUf73dkwRri
+uvyY793OIqYjuJXO/9dtSyK1jEmDUTLoquM610RLLK4j8hXQ9C/sMlDfHzlUzXff
+ZsvWL5U4D3e6cL55cP7lr8cYR1z+AcZsjd7eNlNXO1v4o50B7bOayr7/zsTlfXss
+ZoP7yJcYeXEpcIx5KPS44CAaDeZfQkOFcz7DzFQqTQKCAQEAx2aQZAdsC6GehdPm
+r3PhorgvOlkkkeIfA+ZxREug2udOG8VkL7K1iu+vWKPrb5QywRPfAAj5h1CcWn9H
+GCUGUiiHRK3z3i+yvAqErOIcOLzXt+HkcXSVEkr67vmWizgkFVFzm8WyLY1gbeDp
+DA1sv0aJ1me4Y4Tin4n49geCLIr7mjZGZCGjjs6MHKTgvUTBc9r9/B5adkwTM+fA
+V1puPpySxjOJixtsSs2sPvVlZ6MHvgeB3h/6G7mLo0DKyfp2Vcjpq9GF8RW1Cfq+
+NknQBkILZkpet3jkC0b3G/CSW/ptpBy5Ly/00U5S639I3JI1mwSklMjctJHPvahq
+mfYRaQKCAQAnMzzKmAbaUl2gON4RbQIH+ejYRfcR7NIJq8pGXO6ycCfyJkZWzGQf
+FelQykmsAjugRyBcTn2Swc2uZ/T429yhI+NveikxOl/ajnMcfczMmBMGwttRkpZh
+EVTPK2nHvbSQW2zlfbPl5xMO54VxGYdTwR8VKEHFmK8hbPfXLrx+Uc/0SQ9CKBCF
+/FnoHpDcSuuc+N8GGC492K5BT96vlOoVlwE5HSpDDSIv3yoTzS1cohfjXw94fCXr
+HDnsdOls9nXY8d/9NN1Pxr5ezvL81k0pfSwVGM03Ndb5k0+Gt2Q10ynfaoUq0VDn
+6QCYCBzTKx/4ZwhgIHbTmZIDEoffcH1RAoIBACIpqVGAa2/t3c0BCN7PLPGIsC/w
+5YwxqVNUM0FK220RoO0vbSEGvba8NJyBKSaokgPwhmNlmVE+r17B78oLfP8GFtAx
+Jz52WkjVULNb07WSIHCUxeoNZf9qEANdvfMwW4effjkrmxEtVLHdGC72Lg+am30s
+QaJqLmKsRZeE6Js2+ZXeRKoXN8wLLGp/CDVnDdLUEK6SdsujI4jXEq3DT+9eGh6X
+mXl7vWFzbPrAGcHM4Ad8uY2BHznCGxvJn4E4u+EH+l4OX334Q4gM+gOIRt0xkHVG
+9OXFRrjPVCWZCH1dOdkC5DomKCgyKBHLObtBv3dHXXDtEbeZ8fGbJFuoBhA=
+-----END RSA PRIVATE KEY-----
diff --git a/vibrator/aidl/default/apex/com.android.hardware.vibrator.pk8 b/vibrator/aidl/default/apex/com.android.hardware.vibrator.pk8
new file mode 100644
index 0000000..d20cc33
--- /dev/null
+++ b/vibrator/aidl/default/apex/com.android.hardware.vibrator.pk8
Binary files differ
diff --git a/vibrator/aidl/default/apex/com.android.hardware.vibrator.rc b/vibrator/aidl/default/apex/com.android.hardware.vibrator.rc
new file mode 100644
index 0000000..42615ad
--- /dev/null
+++ b/vibrator/aidl/default/apex/com.android.hardware.vibrator.rc
@@ -0,0 +1,4 @@
+service vendor.vibrator-default /apex/com.android.hardware.vibrator/bin/hw/android.hardware.vibrator-service.example
+ class hal
+ user nobody
+ group nobody
diff --git a/vibrator/aidl/default/apex/com.android.hardware.vibrator.x509.pem b/vibrator/aidl/default/apex/com.android.hardware.vibrator.x509.pem
new file mode 100644
index 0000000..993245b
--- /dev/null
+++ b/vibrator/aidl/default/apex/com.android.hardware.vibrator.x509.pem
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF3zCCA8cCFBJmLB9vGtl8nENMVa8g51Y2vRhPMA0GCSqGSIb3DQEBCwUAMIGq
+MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91
+bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi
+MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTEmMCQGA1UEAwwdY29t
+LmFuZHJvaWQuaGFyZHdhcmUudmlicmF0b3IwIBcNMjEwOTE2MTcyOTA5WhgPNDc1
+OTA4MTMxNzI5MDlaMIGqMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5p
+YTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4G
+A1UECwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNv
+bTEmMCQGA1UEAwwdY29tLmFuZHJvaWQuaGFyZHdhcmUudmlicmF0b3IwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDV857uzUSXWQNWIuiNRwt1zd/eSB8P
+iVNq0qTexlZvamXr6h5VwX45iJeDVCxlx3uktXXP2NH7U01A5gl8Hix6iodNe3sJ
+fFIhzUiqdMfAn+6RWcJcb3v6J58D6R+htgtaSgv8WOLkIZyhbmU3NToc7dNe2j0U
+wh6xfYhpj/s0RManSTZW19C2H8g5eNfhEZgDT+KOUIgepv/x6Y5IR147JPh8Ha7g
+vxM87ceErSvr3e8uXDWUZtQ6IDfF2NkxJJGJos4IAteXbkG60q76V8pmWLCqIsMM
+tRcIpTEJUIbnbxAqSu+crZqQowu9HrJMYnqunlmXASeluxXdl8VKOVNMZHy3ipj7
+HjoTUJoiEVDLYeT7db76k2lDFH/JRtnoe3BBinUEKvGT3rOjy55C4E2DSMSM1Laz
+zkRcJ4hlzFQLXD5/iwWgW6me1lmnOEqFJZolc1fEc+VfEdZdwJmZF6Clm5av2hDm
+Oq09qL02nXy0OyAoCI6IcrrAlFFolgel32nWp1R7c+N2+6vLMP3KR50TgSiwHNNQ
+weZhpP1GrXDyVj+ilL5T/2ionvjIvDBgOi8B0IwiqeHY7lqsSyMOuKTi5WPrJ86E
+GNJ+PlivA/P9MAatem4kzCT2t3DbVC+dtybiUAmVFb2Ls+dVK4nHcbGTW9AuBijD
+COEHQgi4Xs6lnwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQDGvq99QUxMh+DaI2Pd
+s4fQ9MmYxGDxULhjqgGAjDbL3jQMG2FxPTu1Z2VJgg4n+PTNsgsqgn1JgQM3gvFp
+8FKhoxtzM5V8pPxphCG7U/f3ZsmXdLl69sbVkMRhorhQ8H54q0O/T3Ig/ULZgblE
+xCRT1REB693tUQOCYgWgnsOpvySfujYhNBirl48Hw9zrRmQNTsO20dKwkZUvkVow
+/pawucYrHibgwgKWz8kB3Dl4DODiLybek0hGzr59Joul9eMsxTuQsHAIUv0KO2Ny
+5WT7GIX6qYc+VrnXsO+PHtx5GTUjrJiue3aggoW6X7gu3Z6KuIOiVTVLVp6wSJtt
+VHv90HTu2lYxtPyPSOpFfwFOTicN+5VmLTQwPvPRqsnCaYc+K2iWyEhN/PnSfFNc
+t/TX9HT3ljXq9yfshQmQJ27pdUiYs9Avt7fEXpJjQ0Tn9w8jRS5gsrnTUXTG6HXf
+I4lsMSAApFZa112PwU7xAIIaipBauuMjQCabD/thBzB6d29Rlbz3cjBzoky9h2vb
+XNIVo5O2Jiz7OJQ/7mubvJqIBngiaDK78n2hSdYglI1hgcf0KaQIJUridzmjt0kp
+xXcwIz7nJxhNpbsYnDnqwqz9en8a4N+KeoQleYROo2kEtE434AJkzdABV4IKRafj
+cbPWuY6F2faWAjkSOEhBfGOKOw==
+-----END CERTIFICATE-----
diff --git a/vibrator/aidl/default/apex/file_contexts b/vibrator/aidl/default/apex/file_contexts
new file mode 100644
index 0000000..f811656
--- /dev/null
+++ b/vibrator/aidl/default/apex/file_contexts
@@ -0,0 +1,3 @@
+(/.*)? u:object_r:vendor_file:s0
+/bin/hw/android\.hardware\.vibrator-service\.example u:object_r:hal_vibrator_default_exec:s0
+
diff --git a/vibrator/aidl/default/vibrator-default.rc b/vibrator/aidl/default/vibrator-default.rc
index d17f468..9e6def3 100644
--- a/vibrator/aidl/default/vibrator-default.rc
+++ b/vibrator/aidl/default/vibrator-default.rc
@@ -1,4 +1,4 @@
service vendor.vibrator-default /vendor/bin/hw/android.hardware.vibrator-service.example
class hal
- user system
- group system
+ user nobody
+ group nobody
diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
index 553d7f0..53f8c0e 100644
--- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
+++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp
@@ -717,27 +717,33 @@
TEST_P(VibratorAidl, ComposeValidPwle) {
if (capabilities & IVibrator::CAP_COMPOSE_PWLE_EFFECTS) {
- ActivePwle active = composeValidActivePwle(vibrator, capabilities);
+ ActivePwle firstActive = composeValidActivePwle(vibrator, capabilities);
std::vector<Braking> supported;
ASSERT_TRUE(vibrator->getSupportedBraking(&supported).isOk());
bool isClabSupported =
std::find(supported.begin(), supported.end(), Braking::CLAB) != supported.end();
- BrakingPwle braking;
- braking.braking = isClabSupported ? Braking::CLAB : Braking::NONE;
- braking.duration = 100;
+ BrakingPwle firstBraking;
+ firstBraking.braking = isClabSupported ? Braking::CLAB : Braking::NONE;
+ firstBraking.duration = 100;
- std::vector<PrimitivePwle> pwleQueue;
- PrimitivePwle pwle;
- pwle = active;
- pwleQueue.emplace_back(std::move(pwle));
- pwle = braking;
- pwleQueue.emplace_back(std::move(pwle));
- pwle = active;
- pwleQueue.emplace_back(std::move(pwle));
+ ActivePwle secondActive = composeValidActivePwle(vibrator, capabilities);
+ if (capabilities & IVibrator::CAP_FREQUENCY_CONTROL) {
+ float minFrequencyHz = getFrequencyMinimumHz(vibrator, capabilities);
+ float maxFrequencyHz = getFrequencyMaximumHz(vibrator, capabilities);
+ float freqResolutionHz = getFrequencyResolutionHz(vibrator, capabilities);
+ secondActive.startFrequency = minFrequencyHz + (freqResolutionHz / 2.0f);
+ secondActive.endFrequency = maxFrequencyHz - (freqResolutionHz / 3.0f);
+ }
+ BrakingPwle secondBraking;
+ secondBraking.braking = Braking::NONE;
+ secondBraking.duration = 10;
+
+ auto pwleQueue =
+ std::vector<PrimitivePwle>{firstActive, firstBraking, secondActive, secondBraking};
EXPECT_EQ(Status::EX_NONE, vibrator->composePwle(pwleQueue, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
}
}
@@ -765,14 +771,7 @@
braking.braking = isClabSupported ? Braking::CLAB : Braking::NONE;
braking.duration = 100;
- std::vector<PrimitivePwle> pwleQueue;
- PrimitivePwle pwle;
- pwle = active;
- pwleQueue.emplace_back(std::move(pwle));
- pwle = braking;
- pwleQueue.emplace_back(std::move(pwle));
- pwle = active;
- pwleQueue.emplace_back(std::move(pwle));
+ auto pwleQueue = std::vector<PrimitivePwle>{active, braking, active};
EXPECT_TRUE(vibrator->composePwle(pwleQueue, callback).isOk());
EXPECT_EQ(completionFuture.wait_for(timeout), std::future_status::ready);
@@ -785,7 +784,7 @@
// test empty queue
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueue, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
ActivePwle active = composeValidActivePwle(vibrator, capabilities);
@@ -801,7 +800,7 @@
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueue, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
}
}
@@ -811,25 +810,20 @@
active.startAmplitude = getAmplitudeMax() + 1.0; // Amplitude greater than allowed
active.endAmplitude = getAmplitudeMax() + 1.0; // Amplitude greater than allowed
- std::vector<PrimitivePwle> pwleQueueGreater;
- PrimitivePwle pwle;
- pwle = active;
- pwleQueueGreater.emplace_back(std::move(pwle));
+ auto pwleQueueGreater = std::vector<PrimitivePwle>{active};
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueueGreater, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
active.startAmplitude = getAmplitudeMin() - 1.0; // Amplitude less than allowed
active.endAmplitude = getAmplitudeMin() - 1.0; // Amplitude less than allowed
- std::vector<PrimitivePwle> pwleQueueLess;
- pwle = active;
- pwleQueueLess.emplace_back(std::move(pwle));
+ auto pwleQueueLess = std::vector<PrimitivePwle>{active};
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueueLess, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
}
}
@@ -845,25 +839,20 @@
freqMaximumHz + freqResolutionHz; // Frequency greater than allowed
active.endFrequency = freqMaximumHz + freqResolutionHz; // Frequency greater than allowed
- std::vector<PrimitivePwle> pwleQueueGreater;
- PrimitivePwle pwle;
- pwle = active;
- pwleQueueGreater.emplace_back(std::move(pwle));
+ auto pwleQueueGreater = std::vector<PrimitivePwle>{active};
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueueGreater, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
active.startFrequency = freqMinimumHz - freqResolutionHz; // Frequency less than allowed
active.endFrequency = freqMinimumHz - freqResolutionHz; // Frequency less than allowed
- std::vector<PrimitivePwle> pwleQueueLess;
- pwle = active;
- pwleQueueLess.emplace_back(std::move(pwle));
+ auto pwleQueueLess = std::vector<PrimitivePwle>{active};
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueueLess, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
}
}
@@ -875,14 +864,11 @@
vibrator->getPwlePrimitiveDurationMax(&segmentDurationMaxMs);
active.duration = segmentDurationMaxMs + 10; // Segment duration greater than allowed
- std::vector<PrimitivePwle> pwleQueue;
- PrimitivePwle pwle;
- pwle = active;
- pwleQueue.emplace_back(std::move(pwle));
+ auto pwleQueue = std::vector<PrimitivePwle>{active};
EXPECT_EQ(Status::EX_ILLEGAL_ARGUMENT,
vibrator->composePwle(pwleQueue, nullptr).exceptionCode());
- vibrator->off();
+ EXPECT_TRUE(vibrator->off().isOk());
}
}
diff --git a/wifi/hostapd/aidl/Android.bp b/wifi/hostapd/aidl/Android.bp
new file mode 100644
index 0000000..fcd06ff
--- /dev/null
+++ b/wifi/hostapd/aidl/Android.bp
@@ -0,0 +1,46 @@
+// Copyright (C) 2021 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+aidl_interface {
+ name: "android.hardware.wifi.hostapd",
+ vendor_available: true,
+ srcs: [
+ "android/hardware/wifi/hostapd/*.aidl",
+ ],
+ stability: "vintf",
+ backend: {
+ java: {
+ sdk_version: "module_current",
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.wifi",
+ ],
+ min_sdk_version: "30",
+ },
+ ndk: {
+ vndk: {
+ enabled: true,
+ },
+ },
+ },
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ApInfo.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ApInfo.aidl
new file mode 100644
index 0000000..bdbaadd
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ApInfo.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable ApInfo {
+ String ifaceName;
+ String apIfaceInstance;
+ int freqMhz;
+ android.hardware.wifi.hostapd.Bandwidth bandwidth;
+ android.hardware.wifi.hostapd.Generation generation;
+ byte[] apIfaceInstanceMacAddress;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/BandMask.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/BandMask.aidl
new file mode 100644
index 0000000..b1e7f66
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/BandMask.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum BandMask {
+ BAND_2_GHZ = 1,
+ BAND_5_GHZ = 2,
+ BAND_6_GHZ = 4,
+ BAND_60_GHZ = 8,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Bandwidth.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Bandwidth.aidl
new file mode 100644
index 0000000..890d986
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Bandwidth.aidl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum Bandwidth {
+ BANDWIDTH_INVALID = 0,
+ BANDWIDTH_20_NOHT = 1,
+ BANDWIDTH_20 = 2,
+ BANDWIDTH_40 = 3,
+ BANDWIDTH_80 = 4,
+ BANDWIDTH_80P80 = 5,
+ BANDWIDTH_160 = 6,
+ BANDWIDTH_2160 = 7,
+ BANDWIDTH_4320 = 8,
+ BANDWIDTH_6480 = 9,
+ BANDWIDTH_8640 = 10,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ChannelParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ChannelParams.aidl
new file mode 100644
index 0000000..43a9ada
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ChannelParams.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable ChannelParams {
+ android.hardware.wifi.hostapd.BandMask bandMask;
+ android.hardware.wifi.hostapd.FrequencyRange[] acsChannelFreqRangesMhz;
+ boolean enableAcs;
+ boolean acsShouldExcludeDfs;
+ int channel;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ClientInfo.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ClientInfo.aidl
new file mode 100644
index 0000000..c4d62b6
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ClientInfo.aidl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable ClientInfo {
+ String ifaceName;
+ String apIfaceInstance;
+ byte[] clientAddress;
+ boolean isConnected;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/DebugLevel.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/DebugLevel.aidl
new file mode 100644
index 0000000..9795211
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/DebugLevel.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum DebugLevel {
+ EXCESSIVE = 0,
+ MSGDUMP = 1,
+ DEBUG = 2,
+ INFO = 3,
+ WARNING = 4,
+ ERROR = 5,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/EncryptionType.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/EncryptionType.aidl
new file mode 100644
index 0000000..cec0c14
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/EncryptionType.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum EncryptionType {
+ NONE = 0,
+ WPA = 1,
+ WPA2 = 2,
+ WPA3_SAE_TRANSITION = 3,
+ WPA3_SAE = 4,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/FrequencyRange.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/FrequencyRange.aidl
new file mode 100644
index 0000000..1185143
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/FrequencyRange.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable FrequencyRange {
+ int startMhz;
+ int endMhz;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Generation.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Generation.aidl
new file mode 100644
index 0000000..6b60d17
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Generation.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum Generation {
+ WIFI_STANDARD_UNKNOWN = -1,
+ WIFI_STANDARD_LEGACY = 0,
+ WIFI_STANDARD_11N = 1,
+ WIFI_STANDARD_11AC = 2,
+ WIFI_STANDARD_11AX = 3,
+ WIFI_STANDARD_11AD = 4,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HostapdStatusCode.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HostapdStatusCode.aidl
new file mode 100644
index 0000000..548e497
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HostapdStatusCode.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum HostapdStatusCode {
+ SUCCESS = 0,
+ FAILURE_UNKNOWN = 1,
+ FAILURE_ARGS_INVALID = 2,
+ FAILURE_IFACE_UNKNOWN = 3,
+ FAILURE_IFACE_EXISTS = 4,
+ FAILURE_CLIENT_UNKNOWN = 5,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HwModeParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HwModeParams.aidl
new file mode 100644
index 0000000..844c838
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/HwModeParams.aidl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable HwModeParams {
+ boolean enable80211N;
+ boolean enable80211AC;
+ boolean enable80211AX;
+ boolean enable6GhzBand;
+ boolean enableHeSingleUserBeamformer;
+ boolean enableHeSingleUserBeamformee;
+ boolean enableHeMultiUserBeamformer;
+ boolean enableHeTargetWakeTime;
+ boolean enableEdmg;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapd.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapd.aidl
new file mode 100644
index 0000000..ff941fd
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapd.aidl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+interface IHostapd {
+ void addAccessPoint(in android.hardware.wifi.hostapd.IfaceParams ifaceParams, in android.hardware.wifi.hostapd.NetworkParams nwParams);
+ void forceClientDisconnect(in String ifaceName, in byte[] clientAddress, in android.hardware.wifi.hostapd.Ieee80211ReasonCode reasonCode);
+ void registerCallback(in android.hardware.wifi.hostapd.IHostapdCallback callback);
+ void removeAccessPoint(in String ifaceName);
+ void setDebugParams(in android.hardware.wifi.hostapd.DebugLevel level);
+ oneway void terminate();
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapdCallback.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapdCallback.aidl
new file mode 100644
index 0000000..36d2104
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IHostapdCallback.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+interface IHostapdCallback {
+ oneway void onApInstanceInfoChanged(in android.hardware.wifi.hostapd.ApInfo apInfo);
+ oneway void onConnectedClientsChanged(in android.hardware.wifi.hostapd.ClientInfo clientInfo);
+ oneway void onFailure(in String ifaceName);
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl
new file mode 100644
index 0000000..99879b5
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum Ieee80211ReasonCode {
+ WLAN_REASON_UNSPECIFIED = 1,
+ WLAN_REASON_PREV_AUTH_NOT_VALID = 2,
+ WLAN_REASON_DISASSOC_AP_BUSY = 5,
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IfaceParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IfaceParams.aidl
new file mode 100644
index 0000000..0c88a39
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/IfaceParams.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable IfaceParams {
+ String name;
+ android.hardware.wifi.hostapd.HwModeParams hwModeParams;
+ android.hardware.wifi.hostapd.ChannelParams[] channelParams;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/NetworkParams.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/NetworkParams.aidl
new file mode 100644
index 0000000..ffe2f33
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/NetworkParams.aidl
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@VintfStability
+parcelable NetworkParams {
+ byte[] ssid;
+ boolean isHidden;
+ android.hardware.wifi.hostapd.EncryptionType encryptionType;
+ String passphrase;
+ boolean isMetered;
+}
diff --git a/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ParamSizeLimits.aidl b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ParamSizeLimits.aidl
new file mode 100644
index 0000000..70f94c1
--- /dev/null
+++ b/wifi/hostapd/aidl/aidl_api/android.hardware.wifi.hostapd/current/android/hardware/wifi/hostapd/ParamSizeLimits.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+// the interface (from the latest frozen version), the build system will
+// prompt you to update this file with `m <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.wifi.hostapd;
+@Backing(type="int") @VintfStability
+enum ParamSizeLimits {
+ SSID_MAX_LEN_IN_BYTES = 32,
+ WPA2_PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8,
+ WPA2_PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ApInfo.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ApInfo.aidl
new file mode 100644
index 0000000..bf506b2
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ApInfo.aidl
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.Bandwidth;
+import android.hardware.wifi.hostapd.Generation;
+
+/**
+ * Parameters to control the channel selection for the interface.
+ */
+@VintfStability
+parcelable ApInfo {
+ /**
+ * Name of the interface which was added via |IHostapd.addAccessPoint|.
+ */
+ String ifaceName;
+
+ /**
+ * The identity of the AP instance. The interface will have two instances
+ * (e.g. 2.4 Ghz AP and 5 GHz AP) in dual AP mode.
+ * The apIfaceInstance can be used to identify which instance the callback
+ * is from.
+ * Note: The apIfaceInstance must be same as ifaceName in single AP mode.
+ */
+ String apIfaceInstance;
+
+ /**
+ * The operational frequency of the AP in Mhz.
+ */
+ int freqMhz;
+
+ /**
+ * The operational bandwidth of the AP.
+ */
+ Bandwidth bandwidth;
+
+ /**
+ * The operational mode of the AP (e.g. 11ac, 11ax).
+ */
+ Generation generation;
+
+ /**
+ * MAC Address of the apIfaceInstance.
+ */
+ byte[] apIfaceInstanceMacAddress;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/BandMask.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/BandMask.aidl
new file mode 100644
index 0000000..0c64bd1
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/BandMask.aidl
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+@VintfStability
+@Backing(type="int")
+enum BandMask {
+ /**
+ * 2.4 GHz band.
+ */
+ BAND_2_GHZ = 1 << 0,
+ /**
+ * 5 GHz band.
+ */
+ BAND_5_GHZ = 1 << 1,
+ /**
+ * 6 GHz band.
+ */
+ BAND_6_GHZ = 1 << 2,
+ /**
+ * 60 GHz band.
+ */
+ BAND_60_GHZ = 1 << 3,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Bandwidth.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Bandwidth.aidl
new file mode 100644
index 0000000..c982402
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Bandwidth.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * The channel bandwidth of the AP.
+ */
+@VintfStability
+@Backing(type="int")
+enum Bandwidth {
+ BANDWIDTH_INVALID = 0,
+ BANDWIDTH_20_NOHT = 1,
+ BANDWIDTH_20 = 2,
+ BANDWIDTH_40 = 3,
+ BANDWIDTH_80 = 4,
+ BANDWIDTH_80P80 = 5,
+ BANDWIDTH_160 = 6,
+ BANDWIDTH_2160 = 7,
+ BANDWIDTH_4320 = 8,
+ BANDWIDTH_6480 = 9,
+ BANDWIDTH_8640 = 10,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ChannelParams.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ChannelParams.aidl
new file mode 100644
index 0000000..b2e0c81
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ChannelParams.aidl
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.BandMask;
+import android.hardware.wifi.hostapd.FrequencyRange;
+
+/**
+ * Parameters to control the channel selection for the interface.
+ */
+@VintfStability
+parcelable ChannelParams {
+ /**
+ * Band to use for the SoftAp operations.
+ */
+ BandMask bandMask;
+ /**
+ * This option can be used to specify the channel frequencies (in MHz) selected by ACS.
+ * If this is an empty list, all channels allowed in selected HW mode
+ * are specified implicitly.
+ * Note: channels may be overridden by firmware.
+ * Note: this option is ignored if ACS is disabled.
+ */
+ FrequencyRange[] acsChannelFreqRangesMhz;
+ /**
+ * Whether to enable ACS (Automatic Channel Selection) or not.
+ * The channel can be selected automatically at run time by setting
+ * this flag, which must enable the ACS survey based algorithm.
+ */
+ boolean enableAcs;
+ /**
+ * This option can be used to exclude all DFS channels from the ACS
+ * channel list in cases where the driver supports DFS channels.
+ **/
+ boolean acsShouldExcludeDfs;
+ /**
+ * Channel number (IEEE 802.11) to use for the interface.
+ * If ACS is enabled, this field is ignored.
+ *
+ * If |enableEdmg| is true, the channel must be set. Refer to
+ * P802.11ay_D4.0 29.3.4.
+ */
+ int channel;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ClientInfo.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ClientInfo.aidl
new file mode 100644
index 0000000..7bed658
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ClientInfo.aidl
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Parameters to control the channel selection for the interface.
+ */
+@VintfStability
+parcelable ClientInfo {
+ /**
+ * Name of the interface which was added via |IHostapd.addAccessPoint|.
+ */
+ String ifaceName;
+
+ /**
+ * The identity of the AP instance. The interface will have two instances in dual AP mode.
+ * The apIfaceInstance can be used to identify which instance the callback is from.
+ * Note: The apIfaceInstance must be same as ifaceName in single AP mode.
+ */
+ String apIfaceInstance;
+
+ /**
+ * MAC Address of hotspot client.
+ */
+ byte[] clientAddress;
+
+ /**
+ * True when client connected, false when client disconnected.
+ */
+ boolean isConnected;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/DebugLevel.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/DebugLevel.aidl
new file mode 100644
index 0000000..5187729
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/DebugLevel.aidl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Debug levels for the hostapd.
+ * Only log messages with a level greater than the set level
+ * (via |setDebugParams|) will be logged.
+ */
+@VintfStability
+@Backing(type="int")
+enum DebugLevel {
+ EXCESSIVE = 0,
+ MSGDUMP = 1,
+ DEBUG = 2,
+ INFO = 3,
+ WARNING = 4,
+ ERROR = 5,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/EncryptionType.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/EncryptionType.aidl
new file mode 100644
index 0000000..bfc634d
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/EncryptionType.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.EncryptionType;
+
+/**
+ * Possible Security types.
+ */
+@VintfStability
+@Backing(type="int")
+enum EncryptionType {
+ NONE,
+ WPA,
+ WPA2,
+ WPA3_SAE_TRANSITION,
+ WPA3_SAE,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/FrequencyRange.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/FrequencyRange.aidl
new file mode 100644
index 0000000..81f6744
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/FrequencyRange.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Parameters to specify the channel frequency range.
+ */
+@VintfStability
+parcelable FrequencyRange {
+ /**
+ * Channel Frequency (in MHz) at the start of the range.
+ */
+ int startMhz;
+ /**
+ * Channel Frequency (in MHz) at the end of the range.
+ */
+ int endMhz;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Generation.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Generation.aidl
new file mode 100644
index 0000000..2cda55b
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Generation.aidl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * The wifi operational mode of the AP.
+ * It depends on hw mode and HT/VHT capabilities in hostapd.
+ *
+ * WIFI_STANDARD_LEGACY = (hw_mode is HOSTAPD_MODE_IEEE80211B) or
+ * (hw_mode is HOSTAPD_MODE_IEEE80211G and HT is 0).
+ * WIFI_STANDARD_11N = [hw_mode is HOSTAPD_MODE_IEEE80211G and (HT is 1 or HT40 is 1)] or
+ * [hw_mode is HOSTAPD_MODE_IEEE80211A and VHT is 0].
+ * WIFI_STANDARD_11AC = hw_mode is HOSTAPD_MODE_IEEE80211A and VHT is 1.
+ * WIFI_STANDARD_11AX = hw_mode is HOSTAPD_MODE_IEEE80211A and High Efficiency supported.
+ * WIFI_STANDARD_11AD = hw_mode is HOSTAPD_MODE_IEEE80211AD.
+ */
+@VintfStability
+@Backing(type="int")
+enum Generation {
+ WIFI_STANDARD_UNKNOWN = -1,
+ WIFI_STANDARD_LEGACY = 0,
+ WIFI_STANDARD_11N = 1,
+ WIFI_STANDARD_11AC = 2,
+ WIFI_STANDARD_11AX = 3,
+ WIFI_STANDARD_11AD = 4,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HostapdStatusCode.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HostapdStatusCode.aidl
new file mode 100644
index 0000000..87f1453
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HostapdStatusCode.aidl
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Enum values indicating the status of any hostapd operation.
+ */
+@VintfStability
+@Backing(type="int")
+enum HostapdStatusCode {
+ /**
+ * No errors.
+ */
+ SUCCESS,
+ /**
+ * Unknown failure occurred.
+ */
+ FAILURE_UNKNOWN,
+ /**
+ * One or more of the incoming args is invalid.
+ */
+ FAILURE_ARGS_INVALID,
+ /**
+ * Interface with the provided name does not exist.
+ */
+ FAILURE_IFACE_UNKNOWN,
+ /**
+ * Interface with the provided name already exists.
+ */
+ FAILURE_IFACE_EXISTS,
+ /**
+ * Failure because the client is unknown.
+ */
+ FAILURE_CLIENT_UNKNOWN,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HwModeParams.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HwModeParams.aidl
new file mode 100644
index 0000000..210e99f
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/HwModeParams.aidl
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Parameters to control the HW mode for the interface.
+ */
+@VintfStability
+parcelable HwModeParams {
+ /**
+ * Whether IEEE 802.11n (HT) is enabled or not.
+ * Note: hwMode=G (2.4 GHz) and hwMode=A (5 GHz) is used to specify
+ * the band.
+ */
+ boolean enable80211N;
+ /**
+ * Whether IEEE 802.11ac (VHT) is enabled or not.
+ * Note: hw_mode=a is used to specify that 5 GHz band is used with VHT.
+ */
+ boolean enable80211AC;
+ /**
+ * Whether IEEE 802.11ax (High Efficiency) is enabled or not.
+ * Note: hw_mode=a is used to specify that 5 GHz band or 6 GHz band is
+ * used with High Efficiency.
+ */
+ boolean enable80211AX;
+ /**
+ * Whether 6GHz band enabled or not on softAp.
+ * Note: hw_mode=a is used to specify that 5 GHz band or 6 GHz band is
+ * used.
+ */
+ boolean enable6GhzBand;
+ /**
+ * Whether High Efficiency single user beamformer in enabled or not on softAp.
+ * Note: this is only applicable if 802.11ax is supported for softAp
+ */
+ boolean enableHeSingleUserBeamformer;
+ /**
+ * Whether High Efficiency single user beamformee is enabled or not on softAp.
+ * Note: this is only applicable if 802.11ax is supported for softAp
+ */
+ boolean enableHeSingleUserBeamformee;
+ /**
+ * Whether High Efficiency multiple user beamformer is enabled or not on softAp.
+ * Note: this is only applicable if 802.11ax is supported for softAp
+ */
+ boolean enableHeMultiUserBeamformer;
+ /**
+ * Whether High Efficiency Target Wait Time (TWT) is enabled or not on softAp.
+ * Note: this is only applicable if 802.11ax is supported for softAp
+ */
+ boolean enableHeTargetWakeTime;
+ /**
+ * Enable EDMG (802.11ay), this option is only allowed for the 60GHz band.
+ */
+ boolean enableEdmg;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapd.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapd.aidl
new file mode 100644
index 0000000..d2f4795
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapd.aidl
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.BandMask;
+import android.hardware.wifi.hostapd.ChannelParams;
+import android.hardware.wifi.hostapd.DebugLevel;
+import android.hardware.wifi.hostapd.HwModeParams;
+import android.hardware.wifi.hostapd.IHostapdCallback;
+import android.hardware.wifi.hostapd.Ieee80211ReasonCode;
+import android.hardware.wifi.hostapd.IfaceParams;
+import android.hardware.wifi.hostapd.NetworkParams;
+
+/**
+ * Top-level interface for managing SoftAPs.
+ */
+@VintfStability
+interface IHostapd {
+ /**
+ * Adds a new access point for hostapd to control.
+ *
+ * This should trigger the setup of an access point with the specified
+ * interface and network params.
+ *
+ * @param ifaceParams AccessPoint Params for the access point.
+ * @param nwParams Network Params for the access point.
+ * @throws ServiceSpecificException with one of the following values:
+ * |HostapdStatusCode.FAILURE_ARGS_INVALID|,
+ * |HostapdStatusCode.FAILURE_UNKNOWN|,
+ * |HostapdStatusCode.FAILURE_IFACE_EXISTS|
+ */
+ void addAccessPoint(in IfaceParams ifaceParams, in NetworkParams nwParams);
+
+ /**
+ * Force one of the hotspot clients to disconnect.
+ *
+ * @param ifaceName Name of the interface.
+ * @param clientAddress MAC Address of the hotspot client.
+ * @param reasonCode One of disconnect reason code defined by 802.11.
+ * @throws ServiceSpecificException with one of the following values:
+ * |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|,
+ * |HostapdStatusCode.FAILURE_CLIENT_UNKNOWN|
+ */
+ void forceClientDisconnect(
+ in String ifaceName, in byte[] clientAddress, in Ieee80211ReasonCode reasonCode);
+
+ /**
+ * Register for callbacks from the hostapd service.
+ *
+ * These callbacks are invoked for global events that are not specific
+ * to any interface or network. Registration of multiple callback
+ * objects is supported. These objects must be deleted when the corresponding
+ * client process is dead.
+ *
+ * @param callback An instance of the |IHostapdCallback| AIDL interface
+ * object.
+ * @throws ServiceSpecificException with one of the following values:
+ * |HostapdStatusCode.FAILURE_UNKNOWN|
+ */
+ void registerCallback(in IHostapdCallback callback);
+
+ /**
+ * Removes an existing access point from hostapd.
+ *
+ * This must bring down the access point previously set up on the
+ * interface.
+ *
+ * @param ifaceName Name of the interface.
+ * @throws ServiceSpecificException with one of the following values:
+ * |HostapdStatusCode.FAILURE_UNKNOWN|,
+ * |HostapdStatusCode.FAILURE_IFACE_UNKNOWN|
+ */
+ void removeAccessPoint(in String ifaceName);
+
+ /**
+ * Set debug parameters for the hostapd.
+ *
+ * @param level Debug logging level for the hostapd.
+ * (one of |DebugLevel| values).
+ * @throws ServiceSpecificException with one of the following values:
+ * |HostapdStatusCode.FAILURE_UNKNOWN|
+ */
+ void setDebugParams(in DebugLevel level);
+
+ /**
+ * Terminate the service.
+ * This must de-register the service and clear all states. If this HAL
+ * supports the lazy HAL protocol, then this may trigger daemon to exit and
+ * wait to be restarted.
+ */
+ oneway void terminate();
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapdCallback.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapdCallback.aidl
new file mode 100644
index 0000000..7b04944
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IHostapdCallback.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.ApInfo;
+import android.hardware.wifi.hostapd.ClientInfo;
+
+/**
+ * Top-level callback interface for managing SoftAPs.
+ */
+@VintfStability
+interface IHostapdCallback {
+ /**
+ * Invoked when information changes for one of the AP instances.
+ *
+ * @param apInfo AP information of the instance changed.
+ */
+ oneway void onApInstanceInfoChanged(in ApInfo apInfo);
+
+ /**
+ * Invoked when a client connects/disconnects from the hotspot.
+ *
+ */
+ oneway void onConnectedClientsChanged(in ClientInfo clientInfo);
+
+ /**
+ * Invoked when an asynchronous failure is encountered in one of the access
+ * points added via |IHostapd.addAccessPoint|.
+ *
+ * @param ifaceName Name of the interface.
+ */
+ oneway void onFailure(in String ifaceName);
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl
new file mode 100644
index 0000000..a11f44a
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/Ieee80211ReasonCode.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Enum values indicating the reason code for disconnect packet.
+ * Reason codes (IEEE Std 802.11-2016, 9.4.1.7, Table 9-45).
+ */
+@VintfStability
+@Backing(type="int")
+enum Ieee80211ReasonCode {
+ WLAN_REASON_UNSPECIFIED = 1,
+ WLAN_REASON_PREV_AUTH_NOT_VALID = 2,
+ WLAN_REASON_DISASSOC_AP_BUSY = 5,
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IfaceParams.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IfaceParams.aidl
new file mode 100644
index 0000000..a8abec3
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/IfaceParams.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.ChannelParams;
+import android.hardware.wifi.hostapd.HwModeParams;
+
+/**
+ * Parameters to use for setting up the dual access point interfaces.
+ */
+@VintfStability
+parcelable IfaceParams {
+ /**
+ * Name of the interface
+ */
+ String name;
+ /**
+ * Additional hardware mode params for the interface
+ */
+ HwModeParams hwModeParams;
+ /**
+ * The list of the channel params for the dual interfaces.
+ */
+ ChannelParams[] channelParams;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/NetworkParams.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/NetworkParams.aidl
new file mode 100644
index 0000000..df84eca
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/NetworkParams.aidl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+import android.hardware.wifi.hostapd.EncryptionType;
+
+/**
+ * Parameters to use for setting up the access point network.
+ */
+@VintfStability
+parcelable NetworkParams {
+ /**
+ * SSID to set for the network
+ */
+ byte[] ssid;
+ /**
+ * Whether the network needs to be hidden or not.
+ */
+ boolean isHidden;
+ /**
+ * Key management mask for the replace encryptionType.
+ */
+ EncryptionType encryptionType;
+ /**
+ * Passphrase for WPA3_SAE network, WPA3_SAE_TRANSITION and WPA2_PSK.
+ */
+ String passphrase;
+ /**
+ * Enable the interworking service and set access network type to
+ * CHARGEABLE_PUBLIC_NETWORK when set to true.
+ */
+ boolean isMetered;
+}
diff --git a/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ParamSizeLimits.aidl b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ParamSizeLimits.aidl
new file mode 100644
index 0000000..bf34c34
--- /dev/null
+++ b/wifi/hostapd/aidl/android/hardware/wifi/hostapd/ParamSizeLimits.aidl
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.wifi.hostapd;
+
+/**
+ * Size limits for some of the params used in this interface.
+ */
+@VintfStability
+@Backing(type="int")
+enum ParamSizeLimits {
+ /**
+ * Max length of SSID param.
+ */
+ SSID_MAX_LEN_IN_BYTES = 32,
+ /**
+ * Min length of PSK passphrase param.
+ */
+ WPA2_PSK_PASSPHRASE_MIN_LEN_IN_BYTES = 8,
+ /**
+ * Max length of PSK passphrase param.
+ */
+ WPA2_PSK_PASSPHRASE_MAX_LEN_IN_BYTES = 63,
+}
diff --git a/wifi/hostapd/aidl/vts/OWNERS b/wifi/hostapd/aidl/vts/OWNERS
new file mode 100644
index 0000000..2a7a7b0
--- /dev/null
+++ b/wifi/hostapd/aidl/vts/OWNERS
@@ -0,0 +1,2 @@
+etancohen@google.com
+lzye@google.com
diff --git a/wifi/hostapd/aidl/vts/functional/Android.bp b/wifi/hostapd/aidl/vts/functional/Android.bp
new file mode 100644
index 0000000..d37da08
--- /dev/null
+++ b/wifi/hostapd/aidl/vts/functional/Android.bp
@@ -0,0 +1,27 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "hardware_interfaces_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ default_applicable_licenses: ["hardware_interfaces_license"],
+}
+
+cc_test {
+ name: "VtsHalHostapdTargetTest",
+ defaults: [
+ "VtsHalTargetTestDefaults",
+ "use_libaidlvintf_gtest_helper_static",
+ ],
+ srcs: ["VtsHalHostapdTargetTest.cpp"],
+ shared_libs: [
+ "libbinder",
+ ],
+ static_libs: [
+ "android.hardware.wifi.hostapd-V1-cpp",
+ ],
+ test_suites: [
+ "general-tests",
+ "vts",
+ ],
+}
diff --git a/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp b/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp
new file mode 100644
index 0000000..92fbf50
--- /dev/null
+++ b/wifi/hostapd/aidl/vts/functional/VtsHalHostapdTargetTest.cpp
@@ -0,0 +1,417 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <VtsCoreUtil.h>
+
+#include <aidl/Gtest.h>
+#include <aidl/Vintf.h>
+#include <android/hardware/wifi/hostapd/BnHostapd.h>
+#include <binder/IServiceManager.h>
+#include <binder/ProcessState.h>
+
+using android::ProcessState;
+using android::sp;
+using android::String16;
+using android::hardware::wifi::hostapd::BandMask;
+using android::hardware::wifi::hostapd::ChannelParams;
+using android::hardware::wifi::hostapd::DebugLevel;
+using android::hardware::wifi::hostapd::EncryptionType;
+using android::hardware::wifi::hostapd::FrequencyRange;
+using android::hardware::wifi::hostapd::Ieee80211ReasonCode;
+using android::hardware::wifi::hostapd::IfaceParams;
+using android::hardware::wifi::hostapd::IHostapd;
+using android::hardware::wifi::hostapd::NetworkParams;
+
+namespace {
+const unsigned char kNwSsid[] = {'t', 'e', 's', 't', '1', '2', '3', '4', '5'};
+const String16 kIfaceName = String16("wlan0");
+const String16 kPassphrase = String16("test12345");
+const String16 kInvalidMinPassphrase = String16("test");
+const String16 kInvalidMaxPassphrase = String16(
+ "0123456789012345678901234567890123456789012345678901234567890123456789");
+const int kIfaceChannel = 6;
+const int kIfaceInvalidChannel = 567;
+const std::vector<uint8_t> kTestZeroMacAddr(6, 0x0);
+const Ieee80211ReasonCode kTestDisconnectReasonCode =
+ Ieee80211ReasonCode::WLAN_REASON_UNSPECIFIED;
+
+inline BandMask operator|(BandMask a, BandMask b) {
+ return static_cast<BandMask>(static_cast<int32_t>(a) |
+ static_cast<int32_t>(b));
+}
+} // namespace
+
+class HostapdAidl : public testing::TestWithParam<std::string> {
+ public:
+ virtual void SetUp() override {
+ hostapd = android::waitForDeclaredService<IHostapd>(
+ String16(GetParam().c_str()));
+ ASSERT_NE(hostapd, nullptr);
+ EXPECT_TRUE(hostapd->setDebugParams(DebugLevel::EXCESSIVE).isOk());
+ isAcsSupport = testing::checkSubstringInCommandOutput(
+ "/system/bin/cmd wifi get-softap-supported-features",
+ "wifi_softap_acs_supported");
+ isWpa3SaeSupport = testing::checkSubstringInCommandOutput(
+ "/system/bin/cmd wifi get-softap-supported-features",
+ "wifi_softap_wpa3_sae_supported");
+ isBridgedSupport = testing::checkSubstringInCommandOutput(
+ "/system/bin/cmd wifi get-softap-supported-features",
+ "wifi_softap_bridged_ap_supported");
+ }
+
+ virtual void TearDown() override {
+ hostapd->terminate();
+ // Wait 3 seconds to allow terminate to complete
+ sleep(3);
+ }
+
+ sp<IHostapd> hostapd;
+ bool isAcsSupport;
+ bool isWpa3SaeSupport;
+ bool isBridgedSupport;
+
+ IfaceParams getIfaceParamsWithoutAcs(String16 iface_name) {
+ IfaceParams iface_params;
+ ChannelParams channelParams;
+ std::vector<ChannelParams> vec_channelParams;
+
+ iface_params.name = iface_name;
+ iface_params.hwModeParams.enable80211N = true;
+ iface_params.hwModeParams.enable80211AC = false;
+ iface_params.hwModeParams.enable80211AX = false;
+ iface_params.hwModeParams.enable6GhzBand = false;
+
+ channelParams.enableAcs = false;
+ channelParams.acsShouldExcludeDfs = false;
+ channelParams.channel = kIfaceChannel;
+ channelParams.bandMask = BandMask::BAND_2_GHZ;
+
+ vec_channelParams.push_back(channelParams);
+ iface_params.channelParams = vec_channelParams;
+ return iface_params;
+ }
+
+ IfaceParams getIfaceParamsWithBridgedModeACS(String16 iface_name) {
+ IfaceParams iface_params = getIfaceParamsWithoutAcs(iface_name);
+ iface_params.channelParams[0].enableAcs = true;
+ iface_params.channelParams[0].acsShouldExcludeDfs = true;
+
+ std::vector<ChannelParams> vec_channelParams;
+ vec_channelParams.push_back(iface_params.channelParams[0]);
+
+ ChannelParams second_channelParams;
+ second_channelParams.channel = 0;
+ second_channelParams.enableAcs = true;
+ second_channelParams.bandMask = BandMask::BAND_5_GHZ;
+ vec_channelParams.push_back(second_channelParams);
+
+ iface_params.channelParams = vec_channelParams;
+ return iface_params;
+ }
+
+ IfaceParams getIfaceParamsWithAcs(String16 iface_name) {
+ IfaceParams iface_params = getIfaceParamsWithoutAcs(iface_name);
+ iface_params.channelParams[0].enableAcs = true;
+ iface_params.channelParams[0].acsShouldExcludeDfs = true;
+ iface_params.channelParams[0].channel = 0;
+ iface_params.channelParams[0].bandMask =
+ iface_params.channelParams[0].bandMask | BandMask::BAND_5_GHZ;
+ return iface_params;
+ }
+
+ IfaceParams getIfaceParamsWithAcsAndFreqRange(String16 iface_name) {
+ IfaceParams iface_params = getIfaceParamsWithAcs(iface_name);
+ FrequencyRange freqRange;
+ freqRange.startMhz = 2412;
+ freqRange.endMhz = 2462;
+ std::vector<FrequencyRange> vec_FrequencyRange;
+ vec_FrequencyRange.push_back(freqRange);
+ iface_params.channelParams[0].acsChannelFreqRangesMhz =
+ vec_FrequencyRange;
+ return iface_params;
+ }
+
+ IfaceParams getIfaceParamsWithAcsAndInvalidFreqRange(String16 iface_name) {
+ IfaceParams iface_params =
+ getIfaceParamsWithAcsAndFreqRange(iface_name);
+ iface_params.channelParams[0].acsChannelFreqRangesMhz[0].startMhz =
+ 222;
+ iface_params.channelParams[0].acsChannelFreqRangesMhz[0].endMhz =
+ 999;
+ return iface_params;
+ }
+
+ IfaceParams getIfaceParamsWithInvalidChannel(String16 iface_name) {
+ IfaceParams iface_params = getIfaceParamsWithoutAcs(iface_name);
+ iface_params.channelParams[0].channel = kIfaceInvalidChannel;
+ return iface_params;
+ }
+
+ NetworkParams getOpenNwParams() {
+ NetworkParams nw_params;
+ nw_params.ssid =
+ std::vector<uint8_t>(kNwSsid, kNwSsid + sizeof(kNwSsid));
+ nw_params.isHidden = false;
+ nw_params.encryptionType = EncryptionType::NONE;
+ nw_params.isMetered = true;
+ return nw_params;
+ }
+
+ NetworkParams getPskNwParamsWithNonMetered() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA2;
+ nw_params.passphrase = kPassphrase;
+ nw_params.isMetered = false;
+ return nw_params;
+ }
+
+ NetworkParams getPskNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA2;
+ nw_params.passphrase = kPassphrase;
+ return nw_params;
+ }
+
+ NetworkParams getInvalidPskNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA2;
+ nw_params.passphrase = kInvalidMaxPassphrase;
+ return nw_params;
+ }
+
+ NetworkParams getSaeTransitionNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA3_SAE_TRANSITION;
+ nw_params.passphrase = kPassphrase;
+ return nw_params;
+ }
+
+ NetworkParams getInvalidSaeTransitionNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA2;
+ nw_params.passphrase = kInvalidMinPassphrase;
+ return nw_params;
+ }
+
+ NetworkParams getSaeNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA3_SAE;
+ nw_params.passphrase = kPassphrase;
+ return nw_params;
+ }
+
+ NetworkParams getInvalidSaeNwParams() {
+ NetworkParams nw_params = getOpenNwParams();
+ nw_params.encryptionType = EncryptionType::WPA3_SAE;
+ nw_params.passphrase = String16("");
+ return nw_params;
+ }
+};
+
+/**
+ * Adds an access point with PSK network config & ACS enabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithAcs) {
+ if (!isAcsSupport) GTEST_SKIP() << "Missing ACS support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithAcs(kIfaceName),
+ getPskNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with PSK network config, ACS enabled & frequency Range.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithAcsAndFreqRange) {
+ if (!isAcsSupport) GTEST_SKIP() << "Missing ACS support";
+ auto status = hostapd->addAccessPoint(
+ getIfaceParamsWithAcsAndFreqRange(kIfaceName), getPskNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with invalid channel range.
+ * Access point creation should fail.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithAcsAndInvalidFreqRange) {
+ if (!isAcsSupport) GTEST_SKIP() << "Missing ACS support";
+ auto status = hostapd->addAccessPoint(
+ getIfaceParamsWithAcsAndInvalidFreqRange(kIfaceName), getPskNwParams());
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * Adds an access point with Open network config & ACS enabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddOpenAccessPointWithAcs) {
+ if (!isAcsSupport) GTEST_SKIP() << "Missing ACS support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithAcs(kIfaceName),
+ getOpenNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with PSK network config & ACS disabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithoutAcs) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getPskNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with PSK network config, ACS disabled & Non metered.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithoutAcsAndNonMetered) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getPskNwParamsWithNonMetered());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with Open network config & ACS disabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddOpenAccessPointWithoutAcs) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getOpenNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with SAE Transition network config & ACS disabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddSaeTransitionAccessPointWithoutAcs) {
+ if (!isWpa3SaeSupport) GTEST_SKIP() << "Missing SAE support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getSaeTransitionNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds an access point with SAE network config & ACS disabled.
+ * Access point creation should pass.
+ */
+TEST_P(HostapdAidl, AddSAEAccessPointWithoutAcs) {
+ if (!isWpa3SaeSupport) GTEST_SKIP() << "Missing SAE support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getSaeNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+/**
+ * Adds & then removes an access point with PSK network config & ACS enabled.
+ * Access point creation & removal should pass.
+ */
+TEST_P(HostapdAidl, RemoveAccessPointWithAcs) {
+ if (!isAcsSupport) GTEST_SKIP() << "Missing ACS support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithAcs(kIfaceName),
+ getPskNwParams());
+ EXPECT_TRUE(status.isOk());
+ EXPECT_TRUE(hostapd->removeAccessPoint(kIfaceName).isOk());
+}
+
+/**
+ * Adds & then removes an access point with PSK network config & ACS disabled.
+ * Access point creation & removal should pass.
+ */
+TEST_P(HostapdAidl, RemoveAccessPointWithoutAcs) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getPskNwParams());
+ EXPECT_TRUE(status.isOk());
+ EXPECT_TRUE(hostapd->removeAccessPoint(kIfaceName).isOk());
+}
+
+/**
+ * Adds an access point with invalid channel.
+ * Access point creation should fail.
+ */
+TEST_P(HostapdAidl, AddPskAccessPointWithInvalidChannel) {
+ auto status = hostapd->addAccessPoint(
+ getIfaceParamsWithInvalidChannel(kIfaceName), getPskNwParams());
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * Adds an access point with invalid PSK network config.
+ * Access point creation should fail.
+ */
+TEST_P(HostapdAidl, AddInvalidPskAccessPointWithoutAcs) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getInvalidPskNwParams());
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * Adds an access point with invalid SAE transition network config.
+ * Access point creation should fail.
+ */
+TEST_P(HostapdAidl, AddInvalidSaeTransitionAccessPointWithoutAcs) {
+ if (!isWpa3SaeSupport) GTEST_SKIP() << "Missing SAE support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getInvalidSaeTransitionNwParams());
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * Adds an access point with invalid SAE network config.
+ * Access point creation should fail.
+ */
+TEST_P(HostapdAidl, AddInvalidSaeAccessPointWithoutAcs) {
+ if (!isWpa3SaeSupport) GTEST_SKIP() << "Missing SAE support";
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getInvalidSaeNwParams());
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * forceClientDisconnect should fail when hotspot interface available.
+ */
+TEST_P(HostapdAidl, DisconnectClientWhenIfacAvailable) {
+ auto status = hostapd->addAccessPoint(getIfaceParamsWithoutAcs(kIfaceName),
+ getOpenNwParams());
+ EXPECT_TRUE(status.isOk());
+
+ status = hostapd->forceClientDisconnect(kIfaceName, kTestZeroMacAddr,
+ kTestDisconnectReasonCode);
+ EXPECT_FALSE(status.isOk());
+}
+
+/**
+ * AddAccessPointWithDualBandConfig should pass
+ */
+TEST_P(HostapdAidl, AddAccessPointWithDualBandConfig) {
+ if (!isBridgedSupport) GTEST_SKIP() << "Missing Bridged AP support";
+ auto status = hostapd->addAccessPoint(
+ getIfaceParamsWithBridgedModeACS(kIfaceName), getOpenNwParams());
+ EXPECT_TRUE(status.isOk());
+}
+
+INSTANTIATE_TEST_SUITE_P(
+ Hostapd, HostapdAidl,
+ testing::ValuesIn(android::getAidlHalInstanceNames(IHostapd::descriptor)),
+ android::PrintInstanceNameToString);
+
+int main(int argc, char **argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ ProcessState::self()->setThreadPoolMaxThreadCount(1);
+ ProcessState::self()->startThreadPool();
+ return RUN_ALL_TESTS();
+}
diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test.cpp b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test.cpp
index ac39a24..eabbf1b 100644
--- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test.cpp
+++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test.cpp
@@ -38,12 +38,15 @@
: public ::testing::TestWithParam<std::tuple<std::string, std::string>> {
public:
virtual void SetUp() override {
+ // Stop Wi-Fi
+ ASSERT_TRUE(stopWifiFramework()); // stop & wait for wifi to shutdown.
+
wifi_instance_name_ = std::get<0>(GetParam());
supplicant_instance_name_ = std::get<1>(GetParam());
+ std::system("/system/bin/start");
+ ASSERT_TRUE(waitForFrameworkReady());
isP2pOn_ =
testing::deviceSupportsFeature("android.hardware.wifi.direct");
- // Stop Framework
- std::system("/system/bin/stop");
stopSupplicant(wifi_instance_name_);
startSupplicantAndWaitForHidlService(wifi_instance_name_,
supplicant_instance_name_);
@@ -53,8 +56,8 @@
virtual void TearDown() override {
stopSupplicant(wifi_instance_name_);
- // Start Framework
- std::system("/system/bin/start");
+ // Start Wi-Fi
+ startWifiFramework();
}
protected:
@@ -220,4 +223,4 @@
android::hardware::getAllHalInstanceNames(IWifi::descriptor)),
testing::ValuesIn(android::hardware::getAllHalInstanceNames(
ISupplicant::descriptor))),
- android::hardware::PrintInstanceTupleNameToString<>);
\ No newline at end of file
+ android::hardware::PrintInstanceTupleNameToString<>);
diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp
index be6aad9..8cb7e22 100644
--- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp
+++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.cpp
@@ -48,6 +48,26 @@
using ::android::wifi_system::SupplicantManager;
namespace {
+bool waitForSupplicantState(bool is_running) {
+ SupplicantManager supplicant_manager;
+ int count = 50; /* wait at most 5 seconds for completion */
+ while (count-- > 0) {
+ if (supplicant_manager.IsSupplicantRunning() == is_running) {
+ return true;
+ }
+ usleep(100000);
+ }
+ LOG(ERROR) << "Supplicant not " << is_running ? "running" : "stopped";
+ return false;
+}
+
+// Helper function to wait for supplicant to be started by framework on wifi
+// enable.
+bool waitForSupplicantStart() { return waitForSupplicantState(true); }
+
+// Helper function to wait for supplicant to be stopped by framework on wifi
+// disable.
+bool waitForSupplicantStop() { return waitForSupplicantState(false); }
// Helper function to initialize the driver and firmware to STA mode
// using the vendor HAL HIDL interface.
@@ -118,6 +138,18 @@
}
} // namespace
+bool startWifiFramework() {
+ std::system("svc wifi enable");
+ std::system("cmd wifi set-scan-always-available enabled");
+ return waitForSupplicantStart(); // wait for wifi to start.
+}
+
+bool stopWifiFramework() {
+ std::system("svc wifi disable");
+ std::system("cmd wifi set-scan-always-available disabled");
+ return waitForSupplicantStop(); // wait for wifi to shutdown.
+}
+
void stopSupplicant() { stopSupplicant(""); }
void stopSupplicant(const std::string& wifi_instance_name) {
diff --git a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.h b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.h
index 33945cc..22cea8c 100644
--- a/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.h
+++ b/wifi/supplicant/1.0/vts/functional/supplicant_hidl_test_utils.h
@@ -29,9 +29,11 @@
#include "wifi_hidl_test_utils.h"
+// Used to start the android wifi framework after every test.
+bool startWifiFramework();
+
// Used to stop the android wifi framework before every test.
-void stopWifiFramework(const std::string& wifi_instance_name);
-void startWifiFramework(const std::string& wifi_instance_name);
+bool stopWifiFramework();
void stopSupplicant(const std::string& wifi_instance_name);
// Used to configure the chip, driver and start wpa_supplicant before every
@@ -70,16 +72,16 @@
: public ::testing::TestWithParam<std::tuple<std::string, std::string>> {
public:
virtual void SetUp() override {
+ // Stop Wi-Fi
+ ASSERT_TRUE(stopWifiFramework()); // stop & wait for wifi to shutdown.
+
// should always be v1.0 wifi
wifi_v1_0_instance_name_ = std::get<0>(GetParam());
supplicant_instance_name_ = std::get<1>(GetParam());
std::system("/system/bin/start");
ASSERT_TRUE(waitForFrameworkReady());
-
isP2pOn_ =
testing::deviceSupportsFeature("android.hardware.wifi.direct");
- // Stop Framework
- std::system("/system/bin/stop");
stopSupplicant(wifi_v1_0_instance_name_);
startSupplicantAndWaitForHidlService(wifi_v1_0_instance_name_,
supplicant_instance_name_);
@@ -88,8 +90,8 @@
virtual void TearDown() override {
stopSupplicant(wifi_v1_0_instance_name_);
- // Start Framework
- std::system("/system/bin/start");
+ // Start Wi-Fi
+ startWifiFramework();
}
protected:
diff --git a/wifi/supplicant/1.3/vts/functional/Android.bp b/wifi/supplicant/1.3/vts/functional/Android.bp
index ec25de2..4b56336 100644
--- a/wifi/supplicant/1.3/vts/functional/Android.bp
+++ b/wifi/supplicant/1.3/vts/functional/Android.bp
@@ -74,5 +74,4 @@
"general-tests",
"vts",
],
- disable_framework: true,
}
diff --git a/wifi/supplicant/1.4/vts/functional/Android.bp b/wifi/supplicant/1.4/vts/functional/Android.bp
index 8cbe04f..57ee830 100644
--- a/wifi/supplicant/1.4/vts/functional/Android.bp
+++ b/wifi/supplicant/1.4/vts/functional/Android.bp
@@ -77,7 +77,6 @@
"general-tests",
"vts",
],
- disable_framework: true,
}
cc_test {
@@ -108,5 +107,4 @@
"general-tests",
"vts",
],
- disable_framework: true,
}
diff --git a/wifi/supplicant/1.4/vts/functional/supplicant_p2p_iface_hidl_test.cpp b/wifi/supplicant/1.4/vts/functional/supplicant_p2p_iface_hidl_test.cpp
index 4427c390..d68520a 100644
--- a/wifi/supplicant/1.4/vts/functional/supplicant_p2p_iface_hidl_test.cpp
+++ b/wifi/supplicant/1.4/vts/functional/supplicant_p2p_iface_hidl_test.cpp
@@ -49,6 +49,9 @@
public:
virtual void SetUp() override {
SupplicantHidlTestBaseV1_4::SetUp();
+ if (!isP2pOn_) {
+ GTEST_SKIP() << "Wi-Fi Direct is not supported, skip this test.";
+ }
p2p_iface_ = getSupplicantP2pIface_1_4(supplicant_);
ASSERT_NE(p2p_iface_.get(), nullptr);
}