From a88f6d4d2e95b89c7a2f634ca913e0e8d8f17f4d Mon Sep 17 00:00:00 2001 From: Thomas Nguyen Date: Wed, 27 Jul 2022 22:56:26 +0000 Subject: [PATCH] Make NETWORK_RELEASE_TIMEOUT_MILLIS configurable by carrier Bug: 238853167 Test: atest com.android.mms.service.MmsNetworkManagerTest Change-Id: If96083a8491cacb9fa77131213d6408cfe2d2458 --- core/api/current.txt | 1 + .../java/android/telephony/CarrierConfigManager.java | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/core/api/current.txt b/core/api/current.txt index 997a3c1089cd6..ec7d6b393a4e6 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -41721,6 +41721,7 @@ package android.telephony { field public static final String KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL = "enableMMSReadReports"; field public static final String KEY_MMS_MULTIPART_SMS_ENABLED_BOOL = "enableMultipartSMS"; field public static final String KEY_MMS_NAI_SUFFIX_STRING = "naiSuffix"; + field public static final String KEY_MMS_NETWORK_RELEASE_TIMEOUT_MILLIS_INT = "mms_network_release_timeout_millis_int"; field public static final String KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL = "enabledNotifyWapMMSC"; field public static final String KEY_MMS_RECIPIENT_LIMIT_INT = "recipientLimit"; field public static final String KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL = "sendMultipartSmsAsSeparateMessages"; diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index d314a6579b58d..bfd1d5fe3fba0 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -2103,6 +2103,16 @@ public class CarrierConfigManager { * is immediately closed (disabling keep-alive). */ public static final String KEY_MMS_CLOSE_CONNECTION_BOOL = "mmsCloseConnection"; + /** + * Waiting time in milliseconds used before releasing an MMS data call. Not tearing down an MMS + * data connection immediately helps to reduce the message delivering latency if messaging + * continues between all parties in the conversation since the same data connection can be + * reused for further messages. + * + * This timer will control how long the data call will be kept alive before being torn down. + */ + public static final String KEY_MMS_NETWORK_RELEASE_TIMEOUT_MILLIS_INT = + "mms_network_release_timeout_millis_int"; /** * The flatten {@link android.content.ComponentName componentName} of the activity that can @@ -9069,6 +9079,7 @@ public class CarrierConfigManager { sDefaults.putInt(KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT, -1); sDefaults.putInt(KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT, -1); sDefaults.putInt(KEY_MMS_SUBJECT_MAX_LENGTH_INT, 40); + sDefaults.putInt(KEY_MMS_NETWORK_RELEASE_TIMEOUT_MILLIS_INT, 5 * 1000); sDefaults.putString(KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, ""); sDefaults.putString(KEY_MMS_HTTP_PARAMS_STRING, ""); sDefaults.putString(KEY_MMS_NAI_SUFFIX_STRING, "");