From 1fe2aa14c40cfe64d46f08099bbed4b64d139e64 Mon Sep 17 00:00:00 2001 From: Jayachandran Chinnakkannu Date: Thu, 18 Feb 2021 20:55:44 +0800 Subject: Add new provisioning flag for VOIMS opt-in Bug: 177009570 Test: By Manual 1. Call setProvisioningIntValue() and getProvisioningIntValue() 2. Enable/disable the value and dial a VoLTE call 2-1. Set value to 1 2-2. Dial a call 2-3. From ImsPhoneCallTracker and GsmCdmaPhone's log, VoLTE is registered and device is trying IMS PS call 2-4. Set value to 0 2-5. Dial a call 2-6. From ImsPhoneCallTracker and GsmCdmaPhone's log, VoLTE is unregistered and device is trying (non-IMS) CS call 3. atest Change-Id: I0b8af8fe6c9a34a56f9e2275df0a03ba093f439e Merged-In: I0b8af8fe6c9a34a56f9e2275df0a03ba093f439e --- core/java/android/provider/Telephony.java | 8 ++++++++ telephony/java/android/telephony/SubscriptionManager.java | 8 ++++++++ .../java/android/telephony/ims/ProvisioningManager.java | 13 +++++++++++++ telephony/java/android/telephony/ims/aidl/IImsConfig.aidl | 2 ++ .../java/android/telephony/ims/stub/ImsConfigImplBase.java | 10 ++++++++++ 5 files changed, 41 insertions(+) diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java index e6bea508b685..9c230d5cf079 100644 --- a/core/java/android/provider/Telephony.java +++ b/core/java/android/provider/Telephony.java @@ -5334,5 +5334,13 @@ public final class Telephony { * @hide */ public static final String COLUMN_D2D_STATUS_SHARING = "d2d_sharing_status"; + + /** + * TelephonyProvider column name for VoIMS provisioning. Default is 0. + *

Type: INTEGER

+ * + * @hide + */ + public static final String COLUMN_VOIMS_OPT_IN_STATUS = "voims_opt_in_status"; } } diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 2cb54032c391..417c8aa36015 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -907,6 +907,14 @@ public class SubscriptionManager { */ public static final String PROFILE_CLASS = SimInfo.COLUMN_PROFILE_CLASS; + /** + * TelephonyProvider column name for VoIMS opt-in status. + * + *

Type: INTEGER (int)

+ * @hide + */ + public static final String VOIMS_OPT_IN_STATUS = SimInfo.COLUMN_VOIMS_OPT_IN_STATUS; + /** * Profile class of the subscription * @hide diff --git a/telephony/java/android/telephony/ims/ProvisioningManager.java b/telephony/java/android/telephony/ims/ProvisioningManager.java index 1e80ab7a405c..c420f35bc6cd 100644 --- a/telephony/java/android/telephony/ims/ProvisioningManager.java +++ b/telephony/java/android/telephony/ims/ProvisioningManager.java @@ -865,6 +865,19 @@ public class ProvisioningManager { */ public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; + /** + * An integer key representing the voice over IMS opt-in provisioning status for the + * associated subscription. Determines whether the user can see for voice services over + * IMS. + *

+ * Use {@link #PROVISIONING_VALUE_ENABLED} to enable VoIMS provisioning and + * {@link #PROVISIONING_VALUE_DISABLED} to disable VoIMS provisioning. + * @see #setProvisioningIntValue(int, int) + * @see #getProvisioningIntValue(int) + * @hide + */ + public static final int KEY_VOIMS_OPT_IN_STATUS = 68; + /** * Callback for IMS provisioning changes. */ diff --git a/telephony/java/android/telephony/ims/aidl/IImsConfig.aidl b/telephony/java/android/telephony/ims/aidl/IImsConfig.aidl index 5eee3890f1dc..1b5e5603ec66 100644 --- a/telephony/java/android/telephony/ims/aidl/IImsConfig.aidl +++ b/telephony/java/android/telephony/ims/aidl/IImsConfig.aidl @@ -47,4 +47,6 @@ interface IImsConfig { void removeRcsConfigCallback(IRcsConfigCallback c); void triggerRcsReconfiguration(); void setRcsClientConfiguration(in RcsClientConfiguration rcc); + void notifyIntImsConfigChanged(int item, int value); + void notifyStringImsConfigChanged(int item, String value); } diff --git a/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java b/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java index 4dcb7f59f4a7..d75da9035124 100644 --- a/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java +++ b/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java @@ -258,6 +258,16 @@ public class ImsConfigImplBase { public void setRcsClientConfiguration(RcsClientConfiguration rcc) throws RemoteException { getImsConfigImpl().setRcsClientConfiguration(rcc); } + + @Override + public void notifyIntImsConfigChanged(int item, int value) throws RemoteException { + notifyImsConfigChanged(item, value); + } + + @Override + public void notifyStringImsConfigChanged(int item, String value) throws RemoteException { + notifyImsConfigChanged(item, value); + } } /** -- cgit v1.2.3-59-g8ed1b