Merge "[IRadioConfig] Generating AIDL definitions"
This commit is contained in:
commit
3dc7a46c36
12 changed files with 699 additions and 0 deletions
|
@ -452,6 +452,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>
|
||||
|
|
55
radio/config/aidl/Android.bp
Normal file
55
radio/config/aidl/Android.bp
Normal file
|
@ -0,0 +1,55 @@
|
|||
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.config",
|
||||
vendor_available: true,
|
||||
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,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "android.hardware.radio.config-translate-ndk",
|
||||
vendor_available: true,
|
||||
shared_libs: [
|
||||
"libbinder_ndk",
|
||||
"libhidlbase",
|
||||
"android.hardware.radio.config-V1-ndk_platform",
|
||||
"android.hardware.radio.config@1.0",
|
||||
"android.hardware.radio.config@1.1",
|
||||
"android.hardware.radio.config@1.2",
|
||||
"android.hardware.radio.config@1.3",
|
||||
],
|
||||
}
|
||||
|
||||
java_library {
|
||||
name: "android.hardware.radio.config-translate-java",
|
||||
libs: [
|
||||
"android.hardware.radio.config-V1-java",
|
||||
"android.hardware.radio.config-V1.0-java",
|
||||
"android.hardware.radio.config-V1.1-java",
|
||||
"android.hardware.radio.config-V1.2-java",
|
||||
"android.hardware.radio.config-V1.3-java",
|
||||
],
|
||||
sdk_version: "module_current",
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
Loading…
Reference in a new issue