diff options
author | Brad Ebinger <breadley@google.com> | 2016-08-04 15:52:20 -0700 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2016-08-04 15:54:18 -0700 |
commit | 3c6eb624f0add0fe3d2c83530198c3e96c8900cd (patch) | |
tree | ada42872c0834658b52a66181f6bbf3c67362f4c | |
parent | 8b2aeca3c70978320ad2442de4cb6619d2baf5a8 (diff) | |
download | ims-3c6eb624f0add0fe3d2c83530198c3e96c8900cd.tar.gz |
Monitor provision status change and handle it accordingly
Upstreaming a Motorola bug that updates the provision status for a
device if it is changed.
Bug: 30679688
Change-Id: Ibd7e2ad03feacd9adc088e6d55f86eeeb66b50ad
-rw-r--r-- | rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java | 7 | ||||
-rw-r--r-- | rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java b/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java index 0502828..ab42858 100644 --- a/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java +++ b/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java @@ -116,6 +116,10 @@ public class CapabilityPolling { if ((ImsConfig.ConfigConstants.CAPABILITIES_POLL_INTERVAL == item) || (ImsConfig.ConfigConstants.CAPABILITIES_CACHE_EXPIRATION == item)) { enqueueSettingsChanged(); + } else if ((ImsConfig.ConfigConstants.VLT_SETTING_ENABLED == item) || + (ImsConfig.ConfigConstants.LVC_SETTING_ENABLED == item) || + (ImsConfig.ConfigConstants.EAB_SETTING_ENABLED == item)) { + enqueueProvisionStateChanged(); } } else if(TelephonyIntents.ACTION_SIM_STATE_CHANGED.equalsIgnoreCase(action)) { String stateExtra = intent.getStringExtra( @@ -286,7 +290,8 @@ public class CapabilityPolling { } } } - + logger.print("isPollingReady, mProvisioned: " + mProvisioned + + ", mStackAvailable: " + mStackAvailable + ", mPublished: " + mPublished); return mStackAvailable && (mPublished == 1) && (mProvisioned == 1); } diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java index 99a213f..f09bcea 100644 --- a/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java +++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java @@ -268,7 +268,12 @@ public class PresencePublication extends PresenceBase { } } else if(ImsConfig.ACTION_IMS_FEATURE_CHANGED.equalsIgnoreCase( intent.getAction())){ - handleProvisionChanged(); + int item = intent.getIntExtra(ImsConfig.EXTRA_CHANGED_ITEM, -1); + if ((ImsConfig.ConfigConstants.VLT_SETTING_ENABLED == item) || + (ImsConfig.ConfigConstants.LVC_SETTING_ENABLED == item) || + (ImsConfig.ConfigConstants.EAB_SETTING_ENABLED == item)) { + handleProvisionChanged(); + } } } }; |