From 5993bed41a56a5143a0b122b91dae310f3b41be1 Mon Sep 17 00:00:00 2001 From: Yoshi Huang Date: Fri, 7 Sep 2012 12:31:20 +0800 Subject: [PATCH] Bug 787477 - Part 2: Update ContactManager and ContactService. r=gwagner --- dom/contacts/ContactManager.js | 2 ++ dom/contacts/fallback/ContactService.jsm | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/dom/contacts/ContactManager.js b/dom/contacts/ContactManager.js index 7c09ec37d9bd..60e809a6a142 100644 --- a/dom/contacts/ContactManager.js +++ b/dom/contacts/ContactManager.js @@ -413,6 +413,7 @@ ContactManager.prototype = { case "Contact:Save:Return:KO": case "Contact:Remove:Return:KO": case "Contacts:Clear:Return:KO": + case "Contacts:GetSimContacts:Return:KO": req = this.getRequest(msg.requestID); if (req) Services.DOMRequest.fireError(req.request, msg.errorMsg); @@ -579,6 +580,7 @@ ContactManager.prototype = { "Contact:Save:Return:OK", "Contact:Save:Return:KO", "Contact:Remove:Return:OK", "Contact:Remove:Return:KO", "Contacts:GetSimContacts:Return:OK", + "Contacts:GetSimContacts:Return:KO", "PermissionPromptHelper:AskPermission:OK"]); }, diff --git a/dom/contacts/fallback/ContactService.jsm b/dom/contacts/fallback/ContactService.jsm index a48a860ef432..b43b2e0a6985 100644 --- a/dom/contacts/fallback/ContactService.jsm +++ b/dom/contacts/fallback/ContactService.jsm @@ -149,11 +149,19 @@ let DOMContactManager = { ); break; case "Contacts:GetSimContacts": - let callback = function(aContactType, aContacts) { - if (DEBUG) debug("got SIM contacts: " + aContactType + " " + JSON.stringify(aContacts)); - mm.sendAsyncMessage("Contacts:GetSimContacts:Return:OK", {requestID: msg.requestID, contacts: aContacts}); - }; - mRIL.getICCContacts(msg.options.contactType, callback); + mRIL.getICCContacts( + msg.options.contactType, + function (aErrorMsg, aType, aContacts) { + if (aErrorMsg) { + mm.sendAsyncMessage("Contacts:GetSimContacts:Return:KO", + {requestID: msg.requestID, + errorMsg: aErrorMsg}); + } else { + mm.sendAsyncMessage("Contacts:GetSimContacts:Return:OK", + {requestID: msg.requestID, + contacts: aContacts}); + } + }.bind(this)); break; default: if (DEBUG) debug("WRONG MESSAGE NAME: " + aMessage.name);