From 6dc1fb9b97874c700d02acff732f188a03684b28 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 Merged-In: If96083a8491cacb9fa77131213d6408cfe2d2458 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 7ef4f770fcd9f..2ba2f5bd2c859 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -41392,6 +41392,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 bd993f213f2de..87f45010c9558 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -2112,6 +2112,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 @@ -8868,6 +8878,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, "");