mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-01-29 19:22:01 +00:00
Define ivnandroiddevice HAL.
Define in-vehicle network android device HAL. This HAL is used for providing run-time information about other connected Android devices in the same vehicle for multi-soc use cases. Test: m android.hardware.automotive.ivn-update-api Bug: 258494092 Change-Id: I0b16e17b04e3470ad8f05d36daac3052f004a53f
This commit is contained in:
44
automotive/ivn_android_device/aidl/Android.bp
Normal file
44
automotive/ivn_android_device/aidl/Android.bp
Normal file
@@ -0,0 +1,44 @@
|
||||
// Copyright (C) 2023 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES 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.automotive.ivn",
|
||||
vendor_available: true,
|
||||
srcs: [
|
||||
"android/hardware/automotive/ivn/*.aidl",
|
||||
],
|
||||
frozen: false,
|
||||
stability: "vintf",
|
||||
backend: {
|
||||
cpp: {
|
||||
enabled: false,
|
||||
},
|
||||
java: {
|
||||
sdk_version: "module_current",
|
||||
apex_available: [
|
||||
"//apex_available:platform",
|
||||
"com.android.car.framework",
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum ConnectProtocol {
|
||||
TCP_IP = 0,
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@JavaDerive(equals=true, toString=true) @VintfStability
|
||||
parcelable EndpointInfo {
|
||||
android.hardware.automotive.ivn.ConnectProtocol connectProtocol;
|
||||
String ipAddress;
|
||||
int portNumber;
|
||||
android.hardware.automotive.ivn.HardwareIdentifiers hardwareId;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@JavaDerive(equals=true, toString=true) @VintfStability
|
||||
parcelable HardwareIdentifiers {
|
||||
@nullable String brandName;
|
||||
@nullable String deviceName;
|
||||
@nullable String productName;
|
||||
@nullable String manufacturerName;
|
||||
@nullable String modelName;
|
||||
@nullable String serialNumber;
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@VintfStability
|
||||
interface IIvnAndroidDevice {
|
||||
int getMyDeviceId();
|
||||
int[] getOtherDeviceIds();
|
||||
int getDeviceIdForOccupantZone(int zoneId);
|
||||
android.hardware.automotive.ivn.OccupantZoneInfo[] getOccupantZonesForDevice(int androidDeviceId);
|
||||
android.hardware.automotive.ivn.EndpointInfo getMyEndpointInfo();
|
||||
android.hardware.automotive.ivn.EndpointInfo getEndpointInfoForDevice(int androidDeviceId);
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@Backing(type="int") @VintfStability
|
||||
enum OccupantType {
|
||||
DRIVER = 1,
|
||||
FRONT_PASSENGER = 2,
|
||||
REAR_PASSENGER = 3,
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This file is a snapshot of an AIDL file. Do not edit it manually. There are
|
||||
// two cases:
|
||||
// 1). this is a frozen version file - do not edit this in any case.
|
||||
// 2). this is a 'current' file. If you make a backwards compatible change to
|
||||
// the interface (from the latest frozen version), the build system will
|
||||
// prompt you to update this file with `m <name>-update-api`.
|
||||
//
|
||||
// You must not make a backward incompatible change to any AIDL file built
|
||||
// with the aidl_interface module type with versions property set. The module
|
||||
// type is used to build AIDL files in a way that they can be used across
|
||||
// independently updatable components of the system. If a device is shipped
|
||||
// with such a backward incompatible 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.ivn;
|
||||
@JavaDerive(equals=true, toString=true) @VintfStability
|
||||
parcelable OccupantZoneInfo {
|
||||
int zoneId;
|
||||
android.hardware.automotive.ivn.OccupantType occupantType;
|
||||
int seat;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
/**
|
||||
* Connect protocol for In-vehicle network Android device.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum ConnectProtocol {
|
||||
TCP_IP = 0,
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
import android.hardware.automotive.ivn.ConnectProtocol;
|
||||
import android.hardware.automotive.ivn.HardwareIdentifiers;
|
||||
|
||||
/**
|
||||
* Network endpoint information for an Android instance running on a difference device.
|
||||
*
|
||||
* The device is in the same vehicle as this device.
|
||||
*/
|
||||
@JavaDerive(equals=true, toString=true)
|
||||
@VintfStability
|
||||
parcelable EndpointInfo {
|
||||
/**
|
||||
* The connection protocol. Only supports TCP/IP for now.
|
||||
*/
|
||||
ConnectProtocol connectProtocol;
|
||||
/**
|
||||
* The IP address.
|
||||
*/
|
||||
String ipAddress;
|
||||
/**
|
||||
* The port number exposed for connecting.
|
||||
*/
|
||||
int portNumber;
|
||||
/**
|
||||
* Hardware identifiers.
|
||||
*
|
||||
* The hardware identifiers for the endpoint as defined in [Attestation Hardware Identifiers]
|
||||
* {@link
|
||||
* https://source.android.com/docs/security/features/keystore/attestation#hardware-identifiers}
|
||||
*/
|
||||
HardwareIdentifiers hardwareId;
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
/**
|
||||
* Hardware Identifiers for an Android device.
|
||||
*
|
||||
* <p>These identifiers are embedded in the ID attestation certificate and are
|
||||
* used to restrict what devices this device can connect to. All fields are
|
||||
* optional but at least one of the fields must be specified.
|
||||
*/
|
||||
@JavaDerive(equals=true, toString=true)
|
||||
@VintfStability
|
||||
parcelable HardwareIdentifiers {
|
||||
/**
|
||||
* Optional brand name, as returned by {@code Build.BRAND} in Android.
|
||||
*
|
||||
* If unspecified, we assume the other device has the same brand name as this device.
|
||||
*/
|
||||
@nullable String brandName;
|
||||
/**
|
||||
* Optional brand name, as returned by {@code Build.DEVICE} in Android.
|
||||
*
|
||||
* If unspecified, we assume the other device has the same device name as this device.
|
||||
*/
|
||||
@nullable String deviceName;
|
||||
/**
|
||||
* Optional model name, as returned by {@code Build.PRODUCT} in Android.
|
||||
*
|
||||
* If unspecified, we assume the other device has the same product name as this device.
|
||||
*/
|
||||
@nullable String productName;
|
||||
/**
|
||||
* Optional manufacturer name, as returned by {@code Build.MANUFACTURER} in Android.
|
||||
*
|
||||
* If unspecified, we assume the other device has the same manufacturer name as this device.
|
||||
*/
|
||||
@nullable String manufacturerName;
|
||||
/**
|
||||
* Optional model name, as returned by {@code Build.MODEL} in Android.
|
||||
*
|
||||
* If unspecified, we assume the other device has the same model name as this device.
|
||||
*/
|
||||
@nullable String modelName;
|
||||
/**
|
||||
* Optional serial number.
|
||||
*
|
||||
* If unspecified, we allow the endpoint to have any serial number.
|
||||
*/
|
||||
@nullable String serialNumber;
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
import android.hardware.automotive.ivn.EndpointInfo;
|
||||
import android.hardware.automotive.ivn.OccupantZoneInfo;
|
||||
|
||||
/**
|
||||
* Interface for In-Vehicle Network(IVN) Android devices.
|
||||
*
|
||||
* This is used in a multi-zone multi-SoC environment where there are multiple
|
||||
* SoCs running Android in a vehicle. Each support one or multiple occupant
|
||||
* zones. E.g., one SoC for front passenger, one SoC for backseat left-zone
|
||||
* and middle/right zone passengers.
|
||||
*/
|
||||
@VintfStability
|
||||
interface IIvnAndroidDevice {
|
||||
/**
|
||||
* Returns the unique ID for this Android device.
|
||||
*
|
||||
* <p>This ID has to be unique among all the android devices in the whole vehicle. It is usually
|
||||
* a hard-coded value, e.g. serial number.
|
||||
*
|
||||
* @return an ID representing this device.
|
||||
*/
|
||||
int getMyDeviceId();
|
||||
|
||||
/**
|
||||
* Returns a list of unique IDs for other IVN Android devices.
|
||||
*
|
||||
* The returned list does not contain the current Android device ID. This list is usually
|
||||
* pre-configured for this HAL, either hard-coded or read from configuration file.
|
||||
*
|
||||
* @return A list of IDs representing connected Android devices.
|
||||
*/
|
||||
int[] getOtherDeviceIds();
|
||||
|
||||
/**
|
||||
* Returns the Android device ID for a specified occupant zone.
|
||||
*
|
||||
* @pararm zoneID the occupant zone ID returned from {@link android.car.CarOccupantZoneManager}.
|
||||
* @return an ID representing an Android device.
|
||||
*/
|
||||
int getDeviceIdForOccupantZone(int zoneId);
|
||||
|
||||
/**
|
||||
* Returns all the occupant zones supported for a specified IVN Android device.
|
||||
*
|
||||
* @param androidDeviceId the android device ID.
|
||||
* @return A list of supported occupant zone info.
|
||||
*/
|
||||
OccupantZoneInfo[] getOccupantZonesForDevice(int androidDeviceId);
|
||||
|
||||
/**
|
||||
* Returns the connection endpoint info for this android device.
|
||||
*
|
||||
* @return The endpoint info.
|
||||
*/
|
||||
EndpointInfo getMyEndpointInfo();
|
||||
|
||||
/**
|
||||
* Returns the connection endpoint info for the specified IVN Android device.
|
||||
*
|
||||
* @return The endpoint info.
|
||||
*/
|
||||
EndpointInfo getEndpointInfoForDevice(int androidDeviceId);
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
/**
|
||||
* Occupant type.
|
||||
*
|
||||
* This enum might be extended in the future.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum OccupantType {
|
||||
/**
|
||||
* Represents the driver. There can be one or zero driver for the system. Zero driver situation
|
||||
* can happen if the system is configured to support only passengers.
|
||||
*/
|
||||
DRIVER = 1,
|
||||
/**
|
||||
* Represents front passengers who sit in front side of car. Most cars will have only
|
||||
* one passenger of this type but this can be multiple.
|
||||
*/
|
||||
FRONT_PASSENGER = 2,
|
||||
/** Represents passengers in rear seats. There can be multiple passengers of this type. */
|
||||
REAR_PASSENGER = 3,
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS 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.ivn;
|
||||
|
||||
import android.hardware.automotive.ivn.OccupantType;
|
||||
|
||||
/**
|
||||
* Represents an occupant zone in a car.
|
||||
*
|
||||
* <p>Each occupant does not necessarily represent single person but it is for mapping to one
|
||||
* set of displays. For example, for display located in center rear seat, both left and right
|
||||
* side passengers may use it but it is abstracted as a single occupant zone.</p>
|
||||
*/
|
||||
@JavaDerive(equals=true, toString=true)
|
||||
@VintfStability
|
||||
parcelable OccupantZoneInfo {
|
||||
/**
|
||||
* This is an unique id to distinguish each occupant zone.
|
||||
*
|
||||
* <p>This can be helpful to distinguish different zones when {@link #occupantType} and
|
||||
* {@link #seat} are the same for multiple occupant / passenger zones.</p>
|
||||
*
|
||||
* <p>This id will remain the same for the same zone across configuration changes like
|
||||
* user switching or display changes</p>
|
||||
*/
|
||||
int zoneId;
|
||||
/** Represents type of passenger */
|
||||
OccupantType occupantType;
|
||||
/**
|
||||
* Represents seat assigned for the occupant. In some system, this can have value of
|
||||
* {@code VehicleAreaSeat#SEAT_UNKNOWN}.
|
||||
*
|
||||
* <p>This might be one of {@code VehicleAreaSeat} or a combination of {@code VehicleAreaSeat}.
|
||||
*/
|
||||
int seat;
|
||||
}
|
||||
@@ -108,13 +108,20 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.automotive.remoteaccess</name>
|
||||
<interface>
|
||||
<name>IRemoteAccess</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.automotive.ivn</name>
|
||||
<interface>
|
||||
<name>IIvnAndroidDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.biometrics.face</name>
|
||||
<version>3</version>
|
||||
|
||||
Reference in New Issue
Block a user