diff options
author | Torbjorn Eklund <torbjorn.eklund@sonymobile.com> | 2017-03-22 17:44:01 +0100 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2019-02-13 00:11:58 +0000 |
commit | 1746f069f76056c3539e88a6c8aadcbce20b5238 (patch) | |
tree | e363c4c84ddbbb37b11497a718e811dff974aaa0 | |
parent | d83bf77b806ca8dc246d8ffa64f5fc985202b594 (diff) | |
download | ims-1746f069f76056c3539e88a6c8aadcbce20b5238.tar.gz |
Prevents violation of ims provisioning policy
Prevents ims from being enabled while provisioning policy disallows ims
by checking provisioning policy in the following functions before
enabling Wi-Fi Calling, Volte and VT:
-setEnhanced4gLteModeSetting
-setVtSetting
-setWfcSetting
Bug: 119389855
Test: atest FrameworksTelephonyTests:ImsManagerTest
Merged-In: I3c8b96572773ad15075e9c31f008b875647bfbba
Change-Id: I3c8b96572773ad15075e9c31f008b875647bfbba
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index b73829aa..073b5f96 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -504,6 +504,10 @@ public class ImsManager { * {@link CarrierConfigManager#KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL}. */ public void setEnhanced4gLteModeSetting(boolean enabled) { + if (enabled && !isVolteProvisionedOnDevice()) { + log("setEnhanced4gLteModeSetting: Not possible to enable VoLTE due to provisioning."); + return; + } int subId = getSubId(); // If editable=false or hidden=true, we must keep default advanced 4G mode. if (!getBooleanCarrierConfig(CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL) || @@ -795,6 +799,11 @@ public class ImsManager { * Change persistent VT enabled setting for slot. */ public void setVtSetting(boolean enabled) { + if (enabled && !isVtProvisionedOnDevice()) { + log("setVtSetting: Not possible to enable Vt due to provisioning."); + return; + } + int subId = getSubId(); if (isSubIdValid(subId)) { SubscriptionManager.setSubscriptionProperty(subId, SubscriptionManager.VT_IMS_ENABLED, @@ -912,6 +921,11 @@ public class ImsManager { * Change persistent WFC enabled setting for slot. */ public void setWfcSetting(boolean enabled) { + if (enabled && !isWfcProvisionedOnDevice()) { + log("setWfcSetting: Not possible to enable WFC due to provisioning."); + return; + } + int subId = getSubId(); if (isSubIdValid(subId)) { SubscriptionManager.setSubscriptionProperty(subId, SubscriptionManager.WFC_IMS_ENABLED, |