Bump up MMS network request timeout and don't retry
am: d0c5b20403
Change-Id: Ib4d728cca94b52b861a5c9a184a9c2dfd526bee2
diff --git a/src/com/android/mms/service/MmsNetworkManager.java b/src/com/android/mms/service/MmsNetworkManager.java
index 67b0af6..c2e2f6a 100644
--- a/src/com/android/mms/service/MmsNetworkManager.java
+++ b/src/com/android/mms/service/MmsNetworkManager.java
@@ -31,7 +31,8 @@
*/
public class MmsNetworkManager {
// Timeout used to call ConnectivityManager.requestNetwork
- private static final int NETWORK_REQUEST_TIMEOUT_MILLIS = 60 * 1000;
+ // Given that the telephony layer will retry on failures, this timeout should be high enough.
+ private static final int NETWORK_REQUEST_TIMEOUT_MILLIS = 30 * 60 * 1000;
// Wait timeout for this class, a little bit longer than the above timeout
// to make sure we don't bail prematurely
private static final int NETWORK_ACQUIRE_TIMEOUT_MILLIS =
diff --git a/src/com/android/mms/service/MmsRequest.java b/src/com/android/mms/service/MmsRequest.java
index e4ebdc4..4eeac08 100644
--- a/src/com/android/mms/service/MmsRequest.java
+++ b/src/com/android/mms/service/MmsRequest.java
@@ -147,7 +147,7 @@
result = SmsManager.MMS_ERROR_IO_ERROR;
} else { // Execute
long retryDelaySecs = 2;
- // Try multiple times of MMS HTTP request
+ // Try multiple times of MMS HTTP request, depending on the error.
for (int i = 0; i < RETRY_TIMES; i++) {
try {
networkManager.acquireNetwork(requestId);
@@ -182,7 +182,7 @@
} catch (MmsNetworkException e) {
LogUtil.e(requestId, "MMS network acquiring failure", e);
result = SmsManager.MMS_ERROR_UNABLE_CONNECT_MMS;
- // Retry
+ break;
} catch (MmsHttpException e) {
LogUtil.e(requestId, "HTTP or network I/O failure", e);
result = SmsManager.MMS_ERROR_HTTP_FAILURE;