aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Eklund <torbjorn.eklund@sonymobile.com>2017-03-22 17:44:01 +0100
committerBrad Ebinger <breadley@google.com>2019-02-13 00:11:58 +0000
commit1746f069f76056c3539e88a6c8aadcbce20b5238 (patch)
treee363c4c84ddbbb37b11497a718e811dff974aaa0
parentd83bf77b806ca8dc246d8ffa64f5fc985202b594 (diff)
downloadims-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.java14
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,