summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lin <jamescflin@google.com>2021-05-09 16:34:36 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-05-09 16:34:36 +0000
commit6bf12e128b943b3d1d320c579fb91bf617a4ee19 (patch)
tree2342c984225557c07fe36a93dffd6b887d9e242c
parentfd653deee60d2116e68ee915fca768675fbcf06b (diff)
parent50c3a90cb3a3b2a8c1ab0297e6b52d20b069a2dc (diff)
Merge "Add carrier config for the SIP 486 request forbidden and add API for SHELL command to remove the UCE requests cannot be sent the network status." am: 011be0d15a am: b776230e12 am: 50c3a90cb3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1689574 Change-Id: If268eafc96cf72b9e241290952fc2d005001ea8e
-rw-r--r--telephony/java/android/telephony/CarrierConfigManager.java22
-rw-r--r--telephony/java/com/android/internal/telephony/ITelephony.aidl6
2 files changed, 28 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 5716a1d79040..84ea42fa7d73 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -4279,6 +4279,26 @@ public class CarrierConfigManager {
public static final String KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY =
KEY_PREFIX + "rcs_feature_tag_allowed_string_array";
+ /**
+ * Flag indicating whether or not carrier forbids device send the RCS request when the
+ * device receive the network response with the SIP code 489 BAD EVENT.
+ * <p>
+ * The default value for this key is {@code false}.
+ * @hide
+ */
+ public static final String KEY_RCS_REQUEST_FORBIDDEN_BY_SIP_489_BOOL =
+ KEY_PREFIX + "rcs_request_forbidden_by_sip_489_bool";
+
+ /**
+ * Indicates the interval that SUBSCRIBE requests from applications will be retried at when
+ * the carrier network has responded to a previous request with a forbidden error.
+ * <p>
+ * The default value for this key is 20 minutes.
+ * @hide
+ */
+ public static final String KEY_RCS_REQUEST_RETRY_INTERVAL_MILLIS_LONG =
+ KEY_PREFIX + "rcs_request_retry_interval_millis_long";
+
private Ims() {}
private static PersistableBundle getDefaults() {
@@ -4292,6 +4312,8 @@ public class CarrierConfigManager {
defaults.putBoolean(KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL, false);
defaults.putBoolean(KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL, true);
defaults.putInt(KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT, 30 * 24 * 60 * 60);
+ defaults.putBoolean(KEY_RCS_REQUEST_FORBIDDEN_BY_SIP_489_BOOL, false);
+ defaults.putLong(KEY_RCS_REQUEST_RETRY_INTERVAL_MILLIS_LONG, 20 * 60 * 1000);
defaults.putStringArray(KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY, new String[]{
"+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.msg\"",
"+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.oma.cpm.largemsg\"",
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 00ddec298dcf..4cd59a24b182 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -2428,6 +2428,12 @@ interface ITelephony {
String getLastUcePidfXmlShell(int subId);
/**
+ * Remove UCE requests cannot be sent to the network status.
+ * Note: This is designed for a SHELL command only.
+ */
+ boolean removeUceRequestDisallowedStatus(int subId);
+
+ /**
* Set a SignalStrengthUpdateRequest to receive notification when Signal Strength breach the
* specified thresholds.
*/