PhoneCapabilities changes for device capabilities
Change PhoneCapability structure to contain static capabilities for:
* the entire device
* each modem/radio
* each SIM slot
Created SimSlotCapability and SlotType to hold information about
device SIM slot capabilities (separate from SimSlotStatus).
Created ModemFeatures to express modem capabilities as a bitfield
of concurrently supportable modem features.
PhoneCapability has fields for UE categories, bands, access networks,
and modem switching linger time. It also contains a lists of logical
modem UUIDs, SIM slot capabilities, and all possible concurrently
supportable modem features.
TelephonyManager will have an API that returns
* the PhoneCapability for the device
* active set of ModemFeatures
Apps with CARRIER_PRIVILEGE can use these APIs to access all
capabilities of a device (eg. 5G capable, DSDS capable, etc.) and
use them to make decisions based on what the device can support.
Test: atest FrameworksTelephonyTests
Bug: 143238237
Bug: 143238191
Change-Id: I424ef176086d2308a4bf53b2c79407eabafb3178
Merged-In: I424ef176086d2308a4bf53b2c79407eabafb3178
diff --git a/radio/config/1.3/IRadioConfig.hal b/radio/config/1.3/IRadioConfig.hal
index a0ce6e0..d01f54b 100644
--- a/radio/config/1.3/IRadioConfig.hal
+++ b/radio/config/1.3/IRadioConfig.hal
@@ -27,5 +27,13 @@
* serial to different methods), multiple responses (one for each method call) must still be served.
*/
interface IRadioConfig extends @1.1::IRadioConfig {
-
+ /**
+ * Request current phone capability.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioResponse.getPhoneCapabilityResponse_1_3() which
+ * will return <@1.3::PhoneCapability>.
+ */
+ oneway getPhoneCapability_1_3(int32_t serial);
};