summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2021-10-06 22:54:14 +0000
committerXin Li <delphij@google.com>2021-10-06 22:54:14 +0000
commit4aa283fea9c41158207a105b73b76af69d95f487 (patch)
tree0ab2c9d0553008a7d24fc7c557e20a6361df03dd
parent6e2ecfb97f4093c4d712128852e36509546a40b0 (diff)
parente5d76bb3060481811e6da189718d6e813b584130 (diff)
downloadMms-4aa283fea9c41158207a105b73b76af69d95f487.tar.gz
Bug: 202323961 Merged-In: If0a2b824f3f1d1e1052eda860e2a58106406118b Change-Id: Ief33d25804d467288f8feb14dff066e52b4db806
-rw-r--r--src/com/android/mms/service/DownloadRequest.java62
-rw-r--r--src/com/android/mms/service/MmsRequest.java18
-rw-r--r--src/com/android/mms/service/MmsService.java31
-rw-r--r--src/com/android/mms/service/SendRequest.java83
4 files changed, 118 insertions, 76 deletions
diff --git a/src/com/android/mms/service/DownloadRequest.java b/src/com/android/mms/service/DownloadRequest.java
index f5fe493..0f12415 100644
--- a/src/com/android/mms/service/DownloadRequest.java
+++ b/src/com/android/mms/service/DownloadRequest.java
@@ -72,9 +72,10 @@ public class DownloadRequest extends MmsRequest {
final String requestId = getRequestId();
final MmsHttpClient mmsHttpClient = netMgr.getOrCreateHttpClient();
if (mmsHttpClient == null) {
- LogUtil.e(requestId, "MMS network is not ready! messageId: " + mMessageId);
- throw new MmsHttpException(0/*statusCode*/, "MMS network is not ready. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "MMS network is not ready! "
+ + MmsService.formatCrossStackMessageId(mMessageId));
+ throw new MmsHttpException(0/*statusCode*/, "MMS network is not ready. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
}
return mmsHttpClient.execute(
mLocationUrl,
@@ -107,9 +108,11 @@ public class DownloadRequest extends MmsRequest {
if (!mRequestManager.getAutoPersistingPref()) {
return null;
}
- LogUtil.d(requestId, "persistIfRequired. messageId: " + mMessageId);
+ LogUtil.d(requestId, "persistIfRequired. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
if (response == null || response.length < 1) {
- LogUtil.e(requestId, "persistIfRequired: empty response. messageId: " + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: empty response. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
final long identity = Binder.clearCallingIdentity();
@@ -118,15 +121,15 @@ public class DownloadRequest extends MmsRequest {
mMmsConfig.getBoolean(SmsManager.MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION);
final GenericPdu pdu = (new PduParser(response, supportMmsContentDisposition)).parse();
if (pdu == null || !(pdu instanceof RetrieveConf)) {
- LogUtil.e(requestId, "persistIfRequired: invalid parsed PDU. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: invalid parsed PDU. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
final RetrieveConf retrieveConf = (RetrieveConf) pdu;
final int status = retrieveConf.getRetrieveStatus();
if (status != PduHeaders.RETRIEVE_STATUS_OK) {
LogUtil.e(requestId, "persistIfRequired: retrieve failed " + status
- + ", messageId: " + mMessageId);
+ + ", " + MmsService.formatCrossStackMessageId(mMessageId));
// Update the retrieve status of the NotificationInd
final ContentValues values = new ContentValues(1);
values.put(Telephony.Mms.RETRIEVE_STATUS, status);
@@ -151,8 +154,8 @@ public class DownloadRequest extends MmsRequest {
true/*groupMmsEnabled*/,
null/*preOpenedFiles*/);
if (messageUri == null) {
- LogUtil.e(requestId, "persistIfRequired: can not persist message. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: can not persist message. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
// Update some of the properties of the message
@@ -171,8 +174,8 @@ public class DownloadRequest extends MmsRequest {
values,
null/*where*/,
null/*selectionArg*/) != 1) {
- LogUtil.e(requestId, "persistIfRequired: can not update message. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: can not update message. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
}
// Delete the corresponding NotificationInd
SqliteWrapper.delete(context,
@@ -186,14 +189,14 @@ public class DownloadRequest extends MmsRequest {
return messageUri;
} catch (MmsException e) {
- LogUtil.e(requestId, "persistIfRequired: can not persist message. messageId: "
- + mMessageId, e);
+ LogUtil.e(requestId, "persistIfRequired: can not persist message. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
} catch (SQLiteException e) {
- LogUtil.e(requestId, "persistIfRequired: can not update message. messageId: "
- + mMessageId, e);
+ LogUtil.e(requestId, "persistIfRequired: can not update message. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
} catch (RuntimeException e) {
- LogUtil.e(requestId, "persistIfRequired: can not parse response. messageId: "
- + mMessageId, e);
+ LogUtil.e(requestId, "persistIfRequired: can not parse response. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
} finally {
Binder.restoreCallingIdentity(identity);
}
@@ -284,19 +287,20 @@ public class DownloadRequest extends MmsRequest {
new CarrierMessagingServiceWrapper();
void disposeConnection(Context context) {
- mCarrierMessagingServiceWrapper.disposeConnection(context);
+ mCarrierMessagingServiceWrapper.disconnect();
}
void downloadMms(Context context, String carrierMessagingServicePackage,
CarrierDownloadCompleteCallback carrierDownloadCallback) {
mCarrierDownloadCallback = carrierDownloadCallback;
if (mCarrierMessagingServiceWrapper.bindToCarrierMessagingService(
- context, carrierMessagingServicePackage, ()->onServiceReady())) {
- LogUtil.v("bindService() for carrier messaging service succeeded. messageId: "
- + mMessageId);
+ context, carrierMessagingServicePackage, Runnable::run,
+ ()->onServiceReady())) {
+ LogUtil.v("bindService() for carrier messaging service succeeded. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
} else {
- LogUtil.e("bindService() for carrier messaging service failed. messageId: "
- + mMessageId);
+ LogUtil.e("bindService() for carrier messaging service failed. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
carrierDownloadCallback.onDownloadMmsComplete(
CarrierMessagingService.DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK);
}
@@ -305,9 +309,11 @@ public class DownloadRequest extends MmsRequest {
private void onServiceReady() {
try {
mCarrierMessagingServiceWrapper.downloadMms(
- mContentUri, mSubId, Uri.parse(mLocationUrl), mCarrierDownloadCallback);
+ mContentUri, mSubId, Uri.parse(mLocationUrl), Runnable::run,
+ mCarrierDownloadCallback);
} catch (RuntimeException e) {
- LogUtil.e("Exception downloading MMS for messageId " + mMessageId
+ LogUtil.e("Exception downloading MMS for "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ " using the carrier messaging service: " + e, e);
mCarrierDownloadCallback.onDownloadMmsComplete(
CarrierMessagingService.DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK);
@@ -333,13 +339,13 @@ public class DownloadRequest extends MmsRequest {
@Override
public void onSendMmsComplete(int result, byte[] sendConfPdu) {
LogUtil.e("Unexpected onSendMmsComplete call with result: " + result
- + ", messageId: " + mMessageId);
+ + ", " + MmsService.formatCrossStackMessageId(mMessageId));
}
@Override
public void onDownloadMmsComplete(int result) {
LogUtil.d("Carrier app result for download: " + result
- + ", messageId: " + mMessageId);
+ + ", " + MmsService.formatCrossStackMessageId(mMessageId));
mCarrierDownloadManager.disposeConnection(mContext);
if (!maybeFallbackToRegularDelivery(result)) {
diff --git a/src/com/android/mms/service/MmsRequest.java b/src/com/android/mms/service/MmsRequest.java
index e24ae2d..4c7b4c7 100644
--- a/src/com/android/mms/service/MmsRequest.java
+++ b/src/com/android/mms/service/MmsRequest.java
@@ -368,8 +368,8 @@ public abstract class MmsRequest {
== CarrierMessagingService.SEND_STATUS_RETRY_ON_CARRIER_NETWORK
|| carrierMessagingAppResult
== CarrierMessagingService.DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK) {
- LogUtil.d(this.toString(), "Sending/downloading MMS by IP failed. messageId: "
- + mMessageId);
+ LogUtil.d(this.toString(), "Sending/downloading MMS by IP failed. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
mRequestManager.addSimRequest(MmsRequest.this);
return true;
} else {
@@ -394,10 +394,9 @@ public abstract class MmsRequest {
@Override
public String toString() {
return getClass().getSimpleName() + '@' + Integer.toHexString(hashCode())
- + " messageId: " + mMessageId;
+ + " " + MmsService.formatCrossStackMessageId(mMessageId);
}
-
protected String getRequestId() {
return this.toString();
}
@@ -463,19 +462,22 @@ public abstract class MmsRequest {
protected abstract class CarrierMmsActionCallback implements CarrierMessagingCallback {
@Override
public void onSendSmsComplete(int result, int messageRef) {
- LogUtil.e("Unexpected onSendSmsComplete call for messageId " + mMessageId
+ LogUtil.e("Unexpected onSendSmsComplete call for "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ " with result: " + result);
}
@Override
public void onSendMultipartSmsComplete(int result, int[] messageRefs) {
- LogUtil.e("Unexpected onSendMultipartSmsComplete call for messageId " + mMessageId
+ LogUtil.e("Unexpected onSendMultipartSmsComplete call for "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ " with result: " + result);
}
@Override
- public void onFilterComplete(int result) {
- LogUtil.e("Unexpected onFilterComplete call for messageId " + mMessageId
+ public void onReceiveSmsComplete(int result) {
+ LogUtil.e("Unexpected onFilterComplete call for "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ " with result: " + result);
}
}
diff --git a/src/com/android/mms/service/MmsService.java b/src/com/android/mms/service/MmsService.java
index a37ebe5..0394379 100644
--- a/src/com/android/mms/service/MmsService.java
+++ b/src/com/android/mms/service/MmsService.java
@@ -208,7 +208,7 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
public void sendMessage(int subId, String callingPkg, Uri contentUri,
String locationUrl, Bundle configOverrides, PendingIntent sentIntent,
long messageId) {
- LogUtil.d("sendMessage messageId: " + messageId);
+ LogUtil.d("sendMessage " + formatCrossStackMessageId(messageId));
enforceSystemUid();
// Make sure the subId is correct
@@ -254,7 +254,8 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
getCarrierMessagingServicePackageIfExists(subId);
if (carrierMessagingServicePackage != null) {
- LogUtil.d(request.toString(), "sending message by carrier app");
+ LogUtil.d(request.toString(), "sending message by carrier app "
+ + formatCrossStackMessageId(messageId));
request.trySendingByCarrierApp(MmsService.this, carrierMessagingServicePackage);
return;
}
@@ -283,7 +284,7 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
// subIds, so we should try to download anyway.
// TODO: Fail fast when downloading will fail (i.e. SIM swapped)
LogUtil.d("downloadMessage: " + MmsHttpClient.redactUrlForNonVerbose(locationUrl) +
- ", messageId: " + messageId);
+ ", " + formatCrossStackMessageId(messageId));
enforceSystemUid();
@@ -346,7 +347,8 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
getCarrierMessagingServicePackageIfExists(subId);
if (carrierMessagingServicePackage != null) {
- LogUtil.d(request.toString(), "downloading message by carrier app");
+ LogUtil.d(request.toString(), "downloading message by carrier app "
+ + formatCrossStackMessageId(messageId));
request.tryDownloadingByCarrierApp(MmsService.this, carrierMessagingServicePackage);
return;
}
@@ -550,6 +552,7 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
* <code>MMS_ERROR_NO_DATA_NETWORK</code>.
*/
private void sendErrorInPendingIntent(@Nullable PendingIntent intent, int resultCode) {
+ LogUtil.d("sendErrorInPendingIntent - no data network");
if (intent != null) {
try {
intent.send(resultCode);
@@ -598,6 +601,9 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
movePendingSimRequestsToRunningSynchronized();
}
} else {
+ LogUtil.d("Add request to running queue."
+ + " Request subId=" + request.getSubId() + ","
+ + " current subId=" + mCurrentSubId);
addToRunningRequestQueueSynchronized(request);
}
}
@@ -638,6 +644,8 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
} finally {
synchronized (MmsService.this) {
mRunningRequestCount--;
+ LogUtil.d("addToRunningRequestQueueSynchronized mRunningRequestCount="
+ + mRunningRequestCount);
if (mRunningRequestCount <= 0) {
movePendingSimRequestsToRunningSynchronized();
}
@@ -648,7 +656,8 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
}
private void movePendingSimRequestsToRunningSynchronized() {
- LogUtil.d("Schedule requests pending on SIM");
+ LogUtil.d("Move pending requests to running queue mPendingSimRequestQueue.size="
+ + mPendingSimRequestQueue.size());
mCurrentSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
while (mPendingSimRequestQueue.size() > 0) {
final MmsRequest request = mPendingSimRequestQueue.peek();
@@ -657,9 +666,15 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
|| mCurrentSubId == request.getSubId()) {
// First or subsequent requests with same SIM ID
mPendingSimRequestQueue.remove();
+ LogUtil.d("Move pending request to running queue."
+ + " Request subId=" + request.getSubId() + ","
+ + " current subId=" + mCurrentSubId);
addToRunningRequestQueueSynchronized(request);
} else {
// Stop if we see a different SIM ID
+ LogUtil.d("Pending request not moved to running queue, different subId."
+ + " Request subId=" + request.getSubId() + ","
+ + " current subId=" + mCurrentSubId);
break;
}
} else {
@@ -1069,6 +1084,7 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
} catch (Exception e) {
// Typically a timeout occurred - cancel task
pendingResult.cancel(true);
+ LogUtil.e("Exception during PDU read", e);
}
return 0;
}
@@ -1114,7 +1130,12 @@ public class MmsService extends Service implements MmsRequest.RequestManager {
} catch (Exception e) {
// Typically a timeout occurred - cancel task
pendingResult.cancel(true);
+ LogUtil.e("Exception during PDU write", e);
}
return false;
}
+
+ static String formatCrossStackMessageId(long id) {
+ return "{x-message-id:" + id + "}";
+ }
}
diff --git a/src/com/android/mms/service/SendRequest.java b/src/com/android/mms/service/SendRequest.java
index 8fd5185..67c368d 100644
--- a/src/com/android/mms/service/SendRequest.java
+++ b/src/com/android/mms/service/SendRequest.java
@@ -72,7 +72,8 @@ public class SendRequest extends MmsRequest {
final String requestId = getRequestId();
final MmsHttpClient mmsHttpClient = netMgr.getOrCreateHttpClient();
if (mmsHttpClient == null) {
- String notReady = "MMS network is not ready! messageId: " + mMessageId;
+ String notReady = "MMS network is not ready! "
+ + MmsService.formatCrossStackMessageId(mMessageId);
LogUtil.e(requestId, notReady);
throw new MmsHttpException(0/*statusCode*/, notReady);
}
@@ -95,14 +96,16 @@ public class SendRequest extends MmsRequest {
final String requestId = getRequestId();
try {
if (mPduData == null) {
- LogUtil.w(requestId, "Empty PDU raw data. messageId: " + mMessageId);
+ LogUtil.d(requestId, "Empty PDU raw data. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
final boolean supportContentDisposition =
mMmsConfig.getBoolean(SmsManager.MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION);
return new PduParser(mPduData, supportContentDisposition).parse();
} catch (final Exception e) {
- LogUtil.w(requestId, "Failed to parse PDU raw data. messageId: " + mMessageId);
+ LogUtil.e(requestId, "Failed to parse PDU raw data. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
}
return null;
}
@@ -115,7 +118,8 @@ public class SendRequest extends MmsRequest {
try {
notifyIfEmergencyContact(parsedPdu);
} catch (Exception e) {
- LogUtil.w(getRequestId(), "Error in notifyIfEmergencyContact. messageId: " + mMessageId, e);
+ LogUtil.w(getRequestId(), "Error in notifyIfEmergencyContact. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
}
}
@@ -124,8 +128,8 @@ public class SendRequest extends MmsRequest {
SendReq sendReq = (SendReq) parsedPdu;
for (EncodedStringValue encodedStringValue : sendReq.getTo()) {
if (isEmergencyNumber(encodedStringValue.getString())) {
- LogUtil.i(getRequestId(), "Notifying emergency contact. messageId: "
- + mMessageId);
+ LogUtil.i(getRequestId(), "Notifying emergency contact. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... voids) {
@@ -134,8 +138,8 @@ public class SendRequest extends MmsRequest {
.notifyEmergencyContact(mContext);
} catch (Exception e) {
LogUtil.e(getRequestId(),
- "Exception notifying emergency contact. messageId: "
- + mMessageId + e);
+ "Exception notifying emergency contact. "
+ + MmsService.formatCrossStackMessageId(mMessageId) + e);
}
return null;
}
@@ -172,9 +176,11 @@ public class SendRequest extends MmsRequest {
// Not required to persist
return null;
}
- LogUtil.d(requestId, "persistIfRequired. messageId: " + mMessageId);
+ LogUtil.d(requestId, "persistIfRequired. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
if (mPduData == null) {
- LogUtil.e(requestId, "persistIfRequired: empty PDU. messageId: " + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: empty PDU. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
final long identity = Binder.clearCallingIdentity();
@@ -184,12 +190,13 @@ public class SendRequest extends MmsRequest {
// Persist the request PDU first
GenericPdu pdu = (new PduParser(mPduData, supportContentDisposition)).parse();
if (pdu == null) {
- LogUtil.e(requestId, "persistIfRequired: can't parse input PDU. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: can't parse input PDU. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
if (!(pdu instanceof SendReq)) {
- LogUtil.d(requestId, "persistIfRequired: not SendReq. messageId: " + mMessageId);
+ LogUtil.d(requestId, "persistIfRequired: not SendReq. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
final PduPersister persister = PduPersister.getPduPersister(context);
@@ -200,8 +207,8 @@ public class SendRequest extends MmsRequest {
true/*groupMmsEnabled*/,
null/*preOpenedFiles*/);
if (messageUri == null) {
- LogUtil.e(requestId, "persistIfRequired: can not persist message. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: can not persist message. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return null;
}
// Update the additional columns based on the send result
@@ -239,16 +246,16 @@ public class SendRequest extends MmsRequest {
values.put(Telephony.Mms.SUBSCRIPTION_ID, mSubId);
if (SqliteWrapper.update(context, context.getContentResolver(), messageUri, values,
null/*where*/, null/*selectionArg*/) != 1) {
- LogUtil.e(requestId, "persistIfRequired: failed to update message. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "persistIfRequired: failed to update message. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
}
return messageUri;
} catch (MmsException e) {
- LogUtil.e(requestId, "persistIfRequired: can not persist message. messageId: "
- + mMessageId, e);
+ LogUtil.e(requestId, "persistIfRequired: can not persist message. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
} catch (RuntimeException e) {
- LogUtil.e(requestId, "persistIfRequired: unexpected parsing failure. messageId: "
- + mMessageId, e);
+ LogUtil.e(requestId, "persistIfRequired: unexpected parsing failure. "
+ + MmsService.formatCrossStackMessageId(mMessageId), e);
} finally {
Binder.restoreCallingIdentity(identity);
}
@@ -263,12 +270,13 @@ public class SendRequest extends MmsRequest {
private void updateDestinationAddress(final GenericPdu pdu) {
final String requestId = getRequestId();
if (pdu == null) {
- LogUtil.e(requestId, "updateDestinationAddress: can't parse input PDU. messageId: "
- + mMessageId);
+ LogUtil.e(requestId, "updateDestinationAddress: can't parse input PDU. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return ;
}
if (!(pdu instanceof SendReq)) {
- LogUtil.i(requestId, "updateDestinationAddress: not SendReq. messageId: " + mMessageId);
+ LogUtil.i(requestId, "updateDestinationAddress: not SendReq. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
return;
}
@@ -400,19 +408,20 @@ public class SendRequest extends MmsRequest {
new CarrierMessagingServiceWrapper();
void disposeConnection(Context context) {
- mCarrierMessagingServiceWrapper.disposeConnection(context);
+ mCarrierMessagingServiceWrapper.disconnect();
}
void sendMms(Context context, String carrierMessagingServicePackage,
CarrierSendCompleteCallback carrierSendCompleteCallback) {
mCarrierSendCompleteCallback = carrierSendCompleteCallback;
if (mCarrierMessagingServiceWrapper.bindToCarrierMessagingService(
- context, carrierMessagingServicePackage, () -> onServiceReady())) {
- LogUtil.v("bindService() for carrier messaging service succeeded. messageId: "
- + mMessageId);
+ context, carrierMessagingServicePackage, Runnable::run,
+ () -> onServiceReady())) {
+ LogUtil.v("bindService() for carrier messaging service succeeded. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
} else {
- LogUtil.e("bindService() for carrier messaging service failed. messageId: "
- + mMessageId);
+ LogUtil.e("bindService() for carrier messaging service failed. "
+ + MmsService.formatCrossStackMessageId(mMessageId));
carrierSendCompleteCallback.onSendMmsComplete(
CarrierMessagingService.SEND_STATUS_RETRY_ON_CARRIER_NETWORK,
null /* no sendConfPdu */);
@@ -426,10 +435,11 @@ public class SendRequest extends MmsRequest {
locationUri = Uri.parse(mLocationUrl);
}
mCarrierMessagingServiceWrapper.sendMms(
- mPduUri, mSubId, locationUri, mCarrierSendCompleteCallback);
+ mPduUri, mSubId, locationUri, Runnable::run,
+ mCarrierSendCompleteCallback);
} catch (RuntimeException e) {
- LogUtil.e("Exception sending MMS using the carrier messaging service. messageId: "
- + mMessageId + e, e);
+ LogUtil.e("Exception sending MMS using the carrier messaging service. "
+ + MmsService.formatCrossStackMessageId(mMessageId) + e, e);
mCarrierSendCompleteCallback.onSendMmsComplete(
CarrierMessagingService.SEND_STATUS_RETRY_ON_CARRIER_NETWORK,
null /* no sendConfPdu */);
@@ -453,7 +463,9 @@ public class SendRequest extends MmsRequest {
@Override
public void onSendMmsComplete(int result, byte[] sendConfPdu) {
- LogUtil.d("Carrier app result for sending messageId " + mMessageId + ": " + result);
+ LogUtil.d("Carrier app result for sending "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ + ": " + result);
mCarrierSendManager.disposeConnection(mContext);
if (!maybeFallbackToRegularDelivery(result)) {
@@ -464,7 +476,8 @@ public class SendRequest extends MmsRequest {
@Override
public void onDownloadMmsComplete(int result) {
- LogUtil.e("Unexpected onDownloadMmsComplete call for messageId " + mMessageId
+ LogUtil.e("Unexpected onDownloadMmsComplete call for "
+ + MmsService.formatCrossStackMessageId(mMessageId)
+ " with result: " + result);
}
}