summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Nguyen <tnd@google.com>2023-11-01 11:10:44 -0700
committerThomas Nguyen <tnd@google.com>2023-11-08 16:09:49 -0800
commitd6eb451285e86071204324b73ec4fbd6339bdb8f (patch)
treeebacd59bee54ad2d528b740dd758835da052c8a7
parente5ffbaac54da24c4c88e0b9889eb54aaec25ef70 (diff)
downloadMms-d6eb451285e86071204324b73ec4fbd6339bdb8f.tar.gz
Report MMS_ERROR_DATA_DISABLED and MMS_ERROR_MMS_DISABLED properly
Bug: 305062594 Test: SMS, MMS, call with network. atest MmsTest Change-Id: I8116552a9b5ee9d7dd537d6de8b4ec7d3675163d
-rw-r--r--src/com/android/mms/service/MmsService.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/com/android/mms/service/MmsService.java b/src/com/android/mms/service/MmsService.java
index 47f93d0..6e7f1a1 100644
--- a/src/com/android/mms/service/MmsService.java
+++ b/src/com/android/mms/service/MmsService.java
@@ -16,6 +16,8 @@
package com.android.mms.service;
+import static android.telephony.SmsManager.MMS_ERROR_MMS_DISABLED_BY_CARRIER;
+
import static com.google.android.mms.pdu.PduHeaders.MESSAGE_TYPE;
import static com.google.android.mms.pdu.PduHeaders.MESSAGE_TYPE_SEND_REQ;
@@ -52,6 +54,7 @@ import android.util.EventLog;
import android.util.SparseArray;
import com.android.internal.telephony.IMms;
+import com.android.internal.telephony.flags.Flags;
import com.android.mms.service.metrics.MmsMetricsCollector;
import com.android.mms.service.metrics.MmsStats;
@@ -68,7 +71,6 @@ import com.google.android.mms.util.SqliteWrapper;
import java.io.IOException;
import java.util.ArrayDeque;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
@@ -80,7 +82,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
/**
* System service to process MMS API requests
@@ -255,7 +256,9 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
// Make sure MMS is enabled
if (!mmsConfig.getBoolean(SmsManager.MMS_CONFIG_MMS_ENABLED)) {
LogUtil.e("MMS is not enabled for subId " + subId);
- handleError(sentIntent, SmsManager.MMS_ERROR_CONFIGURATION_ERROR, mmsStats);
+ int resultCode = Flags.mmsDisabledError() ? MMS_ERROR_MMS_DISABLED_BY_CARRIER
+ : SmsManager.MMS_ERROR_CONFIGURATION_ERROR;
+ handleError(sentIntent, resultCode, mmsStats);
return;
}
@@ -283,7 +286,10 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
// AcknowledgeInd and NotifyRespInd are parts of downloading sequence.
// TODO: Should consider ReadRecInd(Read Report)?
sendSettingsIntentForFailedMms(!isRawPduSendReq(contentUri), subId);
- handleError(sentIntent, SmsManager.MMS_ERROR_NO_DATA_NETWORK, mmsStats);
+
+ int resultCode = Flags.mmsDisabledError() ? SmsManager.MMS_ERROR_DATA_DISABLED
+ : SmsManager.MMS_ERROR_NO_DATA_NETWORK;
+ handleError(sentIntent, resultCode, mmsStats);
return;
}