summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Ebinger <breadley@google.com>2016-08-04 15:52:20 -0700
committerBrad Ebinger <breadley@google.com>2016-08-04 15:54:18 -0700
commit3c6eb624f0add0fe3d2c83530198c3e96c8900cd (patch)
treeada42872c0834658b52a66181f6bbf3c67362f4c
parent8b2aeca3c70978320ad2442de4cb6619d2baf5a8 (diff)
downloadims-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.java7
-rw-r--r--rcs/rcsservice/src/com/android/service/ims/presence/PresencePublication.java7
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();
+ }
}
}
};