Merge "wifi: Enhance tombstone folder dumping behavior" into main
diff --git a/automotive/vehicle/Android.bp b/automotive/vehicle/Android.bp
index f0abbcf..3549519 100644
--- a/automotive/vehicle/Android.bp
+++ b/automotive/vehicle/Android.bp
@@ -21,7 +21,7 @@
cc_defaults {
name: "VehicleHalInterfaceDefaults",
static_libs: [
- "android.hardware.automotive.vehicle-V2-ndk",
+ "android.hardware.automotive.vehicle-V3-ndk",
"android.hardware.automotive.vehicle.property-V3-ndk",
],
}
diff --git a/automotive/vehicle/aidl/Android.bp b/automotive/vehicle/aidl/Android.bp
index 3b93bca..3be0f28 100644
--- a/automotive/vehicle/aidl/Android.bp
+++ b/automotive/vehicle/aidl/Android.bp
@@ -27,7 +27,7 @@
srcs: [
"android/hardware/automotive/vehicle/*.aidl",
],
- frozen: true,
+ frozen: false,
stability: "vintf",
backend: {
cpp: {
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
index 6960894..3322769 100644
--- 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
@@ -42,4 +42,5 @@
float minFloatValue;
float maxFloatValue;
@nullable long[] supportedEnumValues;
+ android.hardware.automotive.vehicle.VehiclePropertyAccess access = android.hardware.automotive.vehicle.VehiclePropertyAccess.NONE;
}
diff --git a/automotive/vehicle/aidl/aidl_test/Android.bp b/automotive/vehicle/aidl/aidl_test/Android.bp
index b8f797f..bb976af 100644
--- a/automotive/vehicle/aidl/aidl_test/Android.bp
+++ b/automotive/vehicle/aidl/aidl_test/Android.bp
@@ -51,7 +51,7 @@
":IVehicleGeneratedJavaFiles",
],
static_libs: [
- "android.hardware.automotive.vehicle-V2-java",
+ "android.hardware.automotive.vehicle-V3-java",
"android.hardware.automotive.vehicle.property-V3-java",
"androidx.test.runner",
"truth",
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
index 20c046d..9fd9bda 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehicleAreaConfig.aidl
@@ -16,6 +16,8 @@
package android.hardware.automotive.vehicle;
+import android.hardware.automotive.vehicle.VehiclePropertyAccess;
+
@VintfStability
@JavaDerive(equals=true, toString=true)
parcelable VehicleAreaConfig {
@@ -47,4 +49,25 @@
* assumed all @data_enum values are supported unless specified through another mechanism.
*/
@nullable long[] supportedEnumValues;
+
+ /**
+ * Defines if the area ID for this property is READ, WRITE or READ_WRITE. This only applies if
+ * the property is defined in the framework as a READ_WRITE property. Access (if set) should be
+ * equal to, or a superset of, the VehiclePropConfig.access of the property.
+ *
+ * For example, if a property is defined as READ_WRITE, but the OEM wants to specify certain
+ * area Ids as READ-only, the corresponding areaIds should have an access set to READ, while the
+ * others must be set to READ_WRITE. We do not support setting specific area Ids to WRITE-only
+ * when the property is READ-WRITE.
+ *
+ * Exclusively one of VehiclePropConfig and the VehicleAreaConfigs should be specified for a
+ * single property. If VehiclePropConfig.access is populated, none of the
+ * VehicleAreaConfig.access values should be populated. If VehicleAreaConfig.access values are
+ * populated, VehiclePropConfig.access must not be populated.
+ *
+ * VehicleAreaConfigs should not be partially populated with access. If the OEM wants to specify
+ * access for one area Id, all other configs should be populated with their access levels as
+ * well.
+ */
+ VehiclePropertyAccess access = VehiclePropertyAccess.NONE;
}
diff --git a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
index 61b9369..1135b26 100644
--- a/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
+++ b/automotive/vehicle/aidl/android/hardware/automotive/vehicle/VehiclePropConfig.aidl
@@ -28,6 +28,10 @@
/**
* Defines if the property is read or write or both.
+ *
+ * If populating VehicleAreaConfig.access fields for this property, this field should not be
+ * populated. If the OEM decides to populate this field, none of the VehicleAreaConfig.access
+ * fields should be populated.
*/
VehiclePropertyAccess access = VehiclePropertyAccess.NONE;
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
index ddc64d9..04b7dd4 100644
--- a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
@@ -43,4 +43,5 @@
* assumed all @data_enum values are supported unless specified through another mechanism.
*/
repeated int64 supported_enum_values = 8;
+ int32 access = 9;
};
diff --git a/automotive/vehicle/vhal_static_cpp_lib.mk b/automotive/vehicle/vhal_static_cpp_lib.mk
index bffa076..6b3d486 100644
--- a/automotive/vehicle/vhal_static_cpp_lib.mk
+++ b/automotive/vehicle/vhal_static_cpp_lib.mk
@@ -16,5 +16,5 @@
# interface and VHAL properties.
LOCAL_STATIC_LIBRARIES += \
- android.hardware.automotive.vehicle-V2-ndk \
+ android.hardware.automotive.vehicle-V3-ndk \
android.hardware.automotive.vehicle.property-V3-ndk
diff --git a/gnss/aidl/aidl_api/android.hardware.gnss/current/android/hardware/gnss/IGnssNavigationMessageCallback.aidl b/gnss/aidl/aidl_api/android.hardware.gnss/current/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
index 57d0e68..f6a8fef 100644
--- a/gnss/aidl/aidl_api/android.hardware.gnss/current/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
+++ b/gnss/aidl/aidl_api/android.hardware.gnss/current/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
@@ -63,7 +63,12 @@
BDS_CNAV2 = 0x0504,
GAL_I = 0x0601,
GAL_F = 0x0602,
+ /**
+ * @deprecated Use IRN_L5 instead.
+ */
IRN_L5CA = 0x0701,
+ IRN_L5 = 0x0702,
+ IRN_L1 = 0x0703,
}
}
}
diff --git a/gnss/aidl/android/hardware/gnss/IGnssNavigationMessageCallback.aidl b/gnss/aidl/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
index 6990e19..b224b0b 100644
--- a/gnss/aidl/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
+++ b/gnss/aidl/android/hardware/gnss/IGnssNavigationMessageCallback.aidl
@@ -100,8 +100,17 @@
/** Galileo F/NAV message contained in the structure. */
GAL_F = 0x0602,
- /** IRNSS L5 C/A message contained in the structure. */
+ /**
+ * NavIC L5 C/A message contained in the structure.
+ * @deprecated Use IRN_L5 instead.
+ */
IRN_L5CA = 0x0701,
+
+ /** NavIC L5 message contained in the structure. */
+ IRN_L5 = 0x0702,
+
+ /** NavIC L1 message contained in the structure. */
+ IRN_L1 = 0x0703,
}
/**
@@ -156,9 +165,12 @@
*
* - For Beidou CNAV1 this refers to the page type number in the range of 1-63.
*
- * - For IRNSS L5 C/A subframe 3 and 4, this value corresponds to the Message Id of the
+ * - For NavIC L5 subframe 3 and 4, this value corresponds to the Message Id of the
* navigation message, in the range of 1-63. (Subframe 1 and 2 does not contain a message
* type id and this value can be set to -1.)
+ * - For NavIC L1 subframe 3, this value corresponds to the Message Id of the navigation
+ * message, in the range of 1-63. (Subframe 1 and 2 does not contain a message type id and
+ * this value can be set to -1.)
*/
int messageId;
@@ -187,8 +199,10 @@
*
* - For Beidou CNAV2, the submessage id corresponds to the message type, in the range 1-63.
*
- * - For IRNSS L5 C/A, the submessage id corresponds to the subframe number of the
- * navigation message, in the range of 1-4.
+ * - For NavIC L5, the submessage id corresponds to the subframe number of the navigation
+ * message, in the range of 1-4.
+ * - For NavIC L1, the submessage id corresponds to the subframe number of the navigation
+ * message, in the range of 1-3.
*/
int submessageId;
@@ -196,7 +210,7 @@
* The data of the reported GNSS message. The bytes (or words) are specified
* using big endian format (MSB first).
*
- * - For GNSS L1 C/A, Beidou D1 & Beidou D2, each subframe contains 10 30-bit
+ * - For GNSS L1 C/A, NavIC L5, Beidou D1 & Beidou D2, each subframe contains 10 30-bit
* words. Each word (30 bits) must fit into the last 30 bits in a
* 4-byte word (skip B31 and B32), with MSB first, for a total of 40
* bytes, covering a time period of 6, 6, and 0.6 seconds, respectively.
@@ -228,6 +242,10 @@
* - For Beidou CNAV2, each subframe consists of 288 data bits, that should be fit into 36
* bytes.
*
+ * - For NavIC L1, subframe #1 consists of 9 data bits that should be fit into 2 bytes (skip
+ * B10-B16). subframe #2 consists of 600 bits that should be fit into 75 bytes. subframe
+ * #3 consists of 274 data bits that should be fit into 35 bytes (skip B275-B280).
+ *
* The data reported here must be the raw data as demodulated by the GNSS receiver, not data
* received from an external source (i.e. not from a server download.)
*/
diff --git a/input/processor/aidl/default/Android.bp b/input/processor/aidl/default/Android.bp
index f485597..bdd27e2 100644
--- a/input/processor/aidl/default/Android.bp
+++ b/input/processor/aidl/default/Android.bp
@@ -28,27 +28,54 @@
],
}
-filegroup {
+prebuilt_etc {
name: "android.hardware.input.processor.xml",
- srcs: ["android.hardware.input.processor.xml"],
+ src: "android.hardware.input.processor.xml",
+ sub_dir: "vintf",
+ installable: false,
+}
+
+prebuilt_etc {
+ name: "inputprocessor-default.rc",
+ src: "inputprocessor-default.rc",
+ installable: false,
}
cc_binary {
name: "android.hardware.input.processor-service.example",
relative_install_path: "hw",
- init_rc: ["inputprocessor-default.rc"],
- vintf_fragments: [":android.hardware.input.processor.xml"],
vendor: true,
+ installable: false, // installed in APEX
+
+ stl: "c++_static",
shared_libs: [
- "libbase",
"libbinder_ndk",
"liblog",
- "libutils",
- "android.hardware.input.common-V1-ndk",
- "android.hardware.input.processor-V1-ndk",
],
static_libs: [
+ "android.hardware.input.common-V1-ndk",
+ "android.hardware.input.processor-V1-ndk",
+ "libbase",
"libinputprocessorexampleimpl",
+ "libutils",
],
srcs: ["main.cpp"],
}
+
+apex {
+ name: "com.android.hardware.input.processor",
+ file_contexts: "apex_file_contexts",
+ manifest: "apex_manifest.json",
+ key: "com.android.hardware.key",
+ certificate: ":com.android.hardware.certificate",
+ updatable: false,
+ vendor: true,
+
+ binaries: [
+ "android.hardware.input.processor-service.example",
+ ],
+ prebuilts: [
+ "android.hardware.input.processor.xml",
+ "inputprocessor-default.rc",
+ ],
+}
diff --git a/input/processor/aidl/default/apex_file_contexts b/input/processor/aidl/default/apex_file_contexts
new file mode 100644
index 0000000..bd2945a
--- /dev/null
+++ b/input/processor/aidl/default/apex_file_contexts
@@ -0,0 +1,3 @@
+(/.*)? u:object_r:vendor_file:s0
+/etc(/.*)? u:object_r:vendor_configs_file:s0
+/bin/hw/android\.hardware\.input\.processor-service\.example u:object_r:hal_input_processor_default_exec:s0
diff --git a/input/processor/aidl/default/apex_manifest.json b/input/processor/aidl/default/apex_manifest.json
new file mode 100644
index 0000000..2fe0a1d
--- /dev/null
+++ b/input/processor/aidl/default/apex_manifest.json
@@ -0,0 +1,4 @@
+{
+ "name": "com.android.hardware.input.processor",
+ "version": 1
+}
\ No newline at end of file
diff --git a/input/processor/aidl/default/inputprocessor-default.rc b/input/processor/aidl/default/inputprocessor-default.rc
index bcc6c02..ade0f11 100644
--- a/input/processor/aidl/default/inputprocessor-default.rc
+++ b/input/processor/aidl/default/inputprocessor-default.rc
@@ -1,4 +1,4 @@
-service vendor.inputprocessor-default /vendor/bin/hw/android.hardware.input.processor-service.example
+service vendor.inputprocessor-default /apex/com.android.hardware.input.processor/bin/hw/android.hardware.input.processor-service.example
class hal
user nobody
group nobody
\ No newline at end of file