Mỗi thuộc tính được hỗ trợ được chỉ định bằng một cấu hình thuộc tính được xác định thông qua cấu trúc VehiclePropConfig
và có các trường sau.
Trường | Mô tả |
---|---|
prop |
Mã cơ sở lưu trú. Đây phải là một trong các thuộc tính hệ thống được xác định trong Thuộc tính hệ thống được hỗ trợ hoặc thuộc tính của nhà cung cấp. Mã tài sản được tạo bằng cách sử dụng bit-or của các trường sau (từ phải sang trái):
Ví dụ: |
access |
Chế độ truy cập cho tài sản. Phải là một trong các giá trị READ , WRITE hoặc READ_WRITE . Giá trị này phải bằng chế độ truy cập được xác định trong Tính năng hệ thống được hỗ trợ. |
changeMode |
|
configArray |
Một mảng không bắt buộc để chứa cấu hình dành riêng cho thuộc tính. Có thể để trống. |
configString |
Chuỗi tuỳ chọn để chứa cấu hình dành riêng cho thuộc tính. Có thể để trống. |
minSampleRate và maxSampleRate
Tốc độ lấy mẫu tối thiểu và tối đa được hỗ trợ cho thuộc tính liên tục. Không được sử dụng nếu thuộc tính không liên tục. |
Loại cơ sở lưu trú
Được xác định là enum trong VehiclePropertyType.aidl
. Các loại thuộc tính được hỗ trợ được liệt kê trong bảng sau.
Loại tài sản | Giá trị | Mô tả |
---|---|---|
STRING | 0x00100000 | Thuộc tính chuỗi sử dụng trường stringValue trong Giá trị thuộc tính xe. |
BOOLEAN | 0x00200000 | Thuộc tính Boolean, sử dụng phần tử đầu tiên trong trường int32Values trong Giá trị thuộc tính xe.
0 có nghĩa là false , None 0 có nghĩa là true . |
INT32 | 0x00400000 | Thuộc tính số nguyên, sử dụng phần tử đầu tiên trong trường int32Values trong Giá trị thuộc tính xe. |
INT32_VEC | 0x00410000 | Thuộc tính Integer[], sử dụng các phần tử trong trường int32Values trong Giá trị thuộc tính xe. |
INT64 | 0x00500000 | Thuộc tính dài, sử dụng phần tử đầu tiên trong trường int64Values trong Giá trị thuộc tính xe. |
INT64_VEC | 0x00510000 | Tài sản Long[] , sử dụng các phần tử trong trường int64Values trong
Giá trị của tài sản xe. |
FLOAT | 0x00600000 | Thuộc tính Float, sử dụng phần tử đầu tiên trong trường floatValues trong Giá trị thuộc tính xe. |
FLOAT_VEC | 0x00610000 | Thuộc tính Float[], sử dụng các phần tử trong trường floatValues trong Giá trị thuộc tính xe. |
BYTES | 0x00700000 | Thuộc tính byte[], sử dụng các phần tử trong trường byteValues trong Giá trị thuộc tính xe. |
HỖN HỢP | 0x00e00000 | Thuộc tính kiểu hỗn hợp. Bất kỳ tổ hợp kiểu vectơ hoặc đại lượng vô hướng nào. Bạn phải cung cấp định dạng chính xác trong mảng cấu hình trong cấu hình tài sản.
Đối với các thuộc tính loại MIXED của nhà cung cấp, bạn cần định dạng configArray theo cấu trúc sau:
Ví dụ: |
Định cấu hình mã khu vực
Mỗi cấu hình tài sản cũng có thể chứa danh sách cấu hình mã khu vực. Danh sách này là không bắt buộc đối với tài sản chung và bắt buộc đối với tài sản theo khu vực (tài sản có nhiều khu vực được hỗ trợ). Mỗi cấu hình mã khu vực có các trường sau.
Trường | Mô tả |
---|---|
areaId |
Mã nhận dạng cho khu vực này. Xem Mã khu vực. |
minInt32Value và maxInt32Value |
|
minInt64Value và maxInt64Value |
|
minFloatValue và maxFloatValue |
|
(Tính năng mới trong Android 14)supportedEnumValues |
|
Loại khu vực
Được xác định là enum trong VehicleArea.aidl
. Dưới đây là danh sách các loại khu vực được hỗ trợ.
Loại khu vực | Giá trị | Mô tả |
---|---|---|
TOÀN CẦU | 0x01000000 | Cơ sở lưu trú này là một cơ sở lưu trú toàn cầu và không có nhiều khu vực. |
CỬA SỔ | 0x03000000 | Khu vực dựa trên cửa sổ, sử dụng enum VehicleAreaWindow . |
MIRROR | 0x04000000 | Khu vực dựa trên gương, sử dụng enum VehicleAreaMirror . |
CHỖ NGỒI | 0x05000000 | Khu vực dựa trên số ghế, sử dụng enum VehicleAreaSeat . |
CỬA | 0x06000000 | Khu vực dựa trên cửa, dùng enum VehicleAreaDoor . |
VÒNG ĐU QUAY | 0x07000000 | Khu vực dựa trên bánh xe, sử dụng enum VehicleAreaWheel . |
Mỗi cơ sở lưu trú được phân vùng phải sử dụng một loại khu vực được xác định trước. Mỗi loại khu vực có một tập hợp các cờ bit được xác định trong một enum cho loại khu vực đó. Ví dụ: khu vực Ghế xác định các enum VehicleAreaSeat
:
ROW_1_LEFT = 0x0001
ROW_1_CENTER = 0x0002
ROW_1_RIGHT = 0x0004
ROW_2_LEFT = 0x0010
ROW_2_CENTER = 0x0020
ROW_2_RIGHT = 0x0040
ROW_3_LEFT = 0x0100
...
Mã khu vực
Các tài sản được phân vùng được xác định thông qua Mã khu vực. Mỗi cơ sở lưu trú được phân vùng có thể hỗ trợ một hoặc nhiều mã khu vực. Mã khu vực bao gồm một hoặc nhiều cờ từ enum tương ứng. Ví dụ: một tài sản sử dụng VehicleAreaSeat
có thể sử dụng các Mã khu vực sau:
Mục | Mô tả |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
Mã khu vực áp dụng cho cả hai ghế trước. |
ROW_2_LEFT |
Chỉ áp dụng cho ghế sau bên trái. |
ROW_2_RIGHT |
Chỉ áp dụng cho ghế sau bên phải. |
Để tìm hiểu thêm, hãy xem bài viết HVAC.