From 2cdad9f0a200066da8cd085479e50cfe7564fe8f 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 7996f090b1a4..8a4812a42c8a 100644 --- a/core/java/android/provider/Telephony.java +++ b/core/java/android/provider/Telephony.java @@ -5302,5 +5302,13 @@ public final class Telephony { * @hide */ public static final String COLUMN_RCS_CONFIG = "rcs_config"; + + /** + * 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 1473b7a8873d..cf4e6779b363 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -890,6 +890,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 6fda2e12fffd..0ab679f79b29 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 34984e05e181..21aeb64bb417 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