mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
Bug 824717 - Part 6: Notify SendMesageFailed with saved DOM Message if available. r=vyang
This commit is contained in:
parent
36b02ef228
commit
2d3aaf05cd
@ -1955,8 +1955,7 @@ MmsService.prototype = {
|
|||||||
.setMessageReadStatusByEnvelopeId(envelopeId, address, readStatus,
|
.setMessageReadStatusByEnvelopeId(envelopeId, address, readStatus,
|
||||||
(function(aRv, aDomMessage) {
|
(function(aRv, aDomMessage) {
|
||||||
if (!Components.isSuccessCode(aRv)) {
|
if (!Components.isSuccessCode(aRv)) {
|
||||||
// Notifying observers the read status is error.
|
if (DEBUG) debug("Failed to update read status: " + aRv);
|
||||||
Services.obs.notifyObservers(aDomMessage, kSmsReadSuccessObserverTopic, null);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2171,7 +2170,7 @@ MmsService.prototype = {
|
|||||||
// If the messsage has been deleted (because the sending process is
|
// If the messsage has been deleted (because the sending process is
|
||||||
// cancelled), we don't need to reset the its delievery state/status.
|
// cancelled), we don't need to reset the its delievery state/status.
|
||||||
if (aErrorCode == Ci.nsIMobileMessageCallback.NOT_FOUND_ERROR) {
|
if (aErrorCode == Ci.nsIMobileMessageCallback.NOT_FOUND_ERROR) {
|
||||||
aRequest.notifySendMessageFailed(aErrorCode);
|
aRequest.notifySendMessageFailed(aErrorCode, aDomMessage);
|
||||||
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -2188,7 +2187,7 @@ MmsService.prototype = {
|
|||||||
// TODO bug 832140 handle !Components.isSuccessCode(aRv)
|
// TODO bug 832140 handle !Components.isSuccessCode(aRv)
|
||||||
if (!isSentSuccess) {
|
if (!isSentSuccess) {
|
||||||
if (DEBUG) debug("Sending MMS failed.");
|
if (DEBUG) debug("Sending MMS failed.");
|
||||||
aRequest.notifySendMessageFailed(aErrorCode);
|
aRequest.notifySendMessageFailed(aErrorCode, aDomMessage);
|
||||||
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -2214,7 +2213,8 @@ MmsService.prototype = {
|
|||||||
if (!Components.isSuccessCode(aRv)) {
|
if (!Components.isSuccessCode(aRv)) {
|
||||||
if (DEBUG) debug("Error! Fail to save sending message! rv = " + aRv);
|
if (DEBUG) debug("Error! Fail to save sending message! rv = " + aRv);
|
||||||
aRequest.notifySendMessageFailed(
|
aRequest.notifySendMessageFailed(
|
||||||
gMobileMessageDatabaseService.translateCrErrorToMessageCallbackError(aRv));
|
gMobileMessageDatabaseService.translateCrErrorToMessageCallbackError(aRv),
|
||||||
|
aDomMessage);
|
||||||
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(aDomMessage, kSmsFailedObserverTopic, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -4082,7 +4082,8 @@ RadioInterface.prototype = {
|
|||||||
if (!Components.isSuccessCode(rv)) {
|
if (!Components.isSuccessCode(rv)) {
|
||||||
if (DEBUG) this.debug("Error! Fail to save sending message! rv = " + rv);
|
if (DEBUG) this.debug("Error! Fail to save sending message! rv = " + rv);
|
||||||
request.notifySendMessageFailed(
|
request.notifySendMessageFailed(
|
||||||
gMobileMessageDatabaseService.translateCrErrorToMessageCallbackError(rv));
|
gMobileMessageDatabaseService.translateCrErrorToMessageCallbackError(rv),
|
||||||
|
domMessage);
|
||||||
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -4108,7 +4109,7 @@ RadioInterface.prototype = {
|
|||||||
}
|
}
|
||||||
if (errorCode) {
|
if (errorCode) {
|
||||||
if (silent) {
|
if (silent) {
|
||||||
request.notifySendMessageFailed(errorCode);
|
request.notifySendMessageFailed(errorCode, domMessage);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4120,7 +4121,7 @@ RadioInterface.prototype = {
|
|||||||
null,
|
null,
|
||||||
function notifyResult(rv, domMessage) {
|
function notifyResult(rv, domMessage) {
|
||||||
// TODO bug 832140 handle !Components.isSuccessCode(rv)
|
// TODO bug 832140 handle !Components.isSuccessCode(rv)
|
||||||
request.notifySendMessageFailed(errorCode);
|
request.notifySendMessageFailed(errorCode, domMessage);
|
||||||
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
@ -4150,7 +4151,25 @@ RadioInterface.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (context.silent) {
|
if (context.silent) {
|
||||||
context.request.notifySendMessageFailed(error);
|
// There is no way to modify nsIDOMMozSmsMessage attributes as they
|
||||||
|
// are read only so we just create a new sms instance to send along
|
||||||
|
// with the notification.
|
||||||
|
let sms = context.sms;
|
||||||
|
context.request.notifySendMessageFailed(
|
||||||
|
error,
|
||||||
|
gMobileMessageService.createSmsMessage(sms.id,
|
||||||
|
sms.threadId,
|
||||||
|
sms.iccId,
|
||||||
|
DOM_MOBILE_MESSAGE_DELIVERY_ERROR,
|
||||||
|
RIL.GECKO_SMS_DELIVERY_STATUS_ERROR,
|
||||||
|
sms.sender,
|
||||||
|
sms.receiver,
|
||||||
|
sms.body,
|
||||||
|
sms.messageClass,
|
||||||
|
sms.timestamp,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
sms.read));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4162,7 +4181,7 @@ RadioInterface.prototype = {
|
|||||||
null,
|
null,
|
||||||
function notifyResult(rv, domMessage) {
|
function notifyResult(rv, domMessage) {
|
||||||
// TODO bug 832140 handle !Components.isSuccessCode(rv)
|
// TODO bug 832140 handle !Components.isSuccessCode(rv)
|
||||||
context.request.notifySendMessageFailed(error);
|
context.request.notifySendMessageFailed(error, domMessage);
|
||||||
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
Services.obs.notifyObservers(domMessage, kSmsFailedObserverTopic, null);
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user