mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 21:05:36 +00:00
Bug 793192 - MMI Codes: support call forwarding. Part 2 - RIL. Query CF; r=marshall_law
This commit is contained in:
parent
53033a4ac9
commit
a7ed9d0a2f
@ -817,10 +817,7 @@ RILContentHelper.prototype = {
|
||||
break;
|
||||
case "RIL:SendMMI:Return:OK":
|
||||
case "RIL:CancelMMI:Return:OK":
|
||||
request = this.takeRequest(msg.json.requestId);
|
||||
if (request) {
|
||||
Services.DOMRequest.fireSuccess(request, msg.json.result);
|
||||
}
|
||||
this.handleSendCancelMMIOK(msg.json);
|
||||
break;
|
||||
case "RIL:SendMMI:Return:KO":
|
||||
case "RIL:CancelMMI:Return:KO":
|
||||
@ -945,6 +942,19 @@ RILContentHelper.prototype = {
|
||||
}
|
||||
},
|
||||
|
||||
_cfRulesToMobileCfInfo: function _cfRulesToMobileCfInfo(rules) {
|
||||
for (let i = 0; i < rules.length; i++) {
|
||||
let rule = rules[i];
|
||||
let info = new MobileCFInfo();
|
||||
|
||||
for (let key in rule) {
|
||||
info[key] = rule[key];
|
||||
}
|
||||
|
||||
rules[i] = info;
|
||||
}
|
||||
},
|
||||
|
||||
handleGetCallForwardingOption: function handleGetCallForwardingOption(message) {
|
||||
let requestId = message.requestId;
|
||||
let request = this.takeRequest(requestId);
|
||||
@ -957,19 +967,8 @@ RILContentHelper.prototype = {
|
||||
return;
|
||||
}
|
||||
|
||||
let rules = message.rules;
|
||||
for (let i = 0; i < rules.length; i++) {
|
||||
let rule = rules[i];
|
||||
let info = new MobileCFInfo();
|
||||
|
||||
for (let key in rule) {
|
||||
info[key] = rule[key];
|
||||
}
|
||||
|
||||
rules[i] = info;
|
||||
}
|
||||
|
||||
Services.DOMRequest.fireSuccess(request, rules);
|
||||
this._cfRulesToMobileCfInfo(message.rules);
|
||||
Services.DOMRequest.fireSuccess(request, message.rules);
|
||||
},
|
||||
|
||||
handleSetCallForwardingOption: function handleSetCallForwardingOption(message) {
|
||||
@ -986,6 +985,23 @@ RILContentHelper.prototype = {
|
||||
Services.DOMRequest.fireSuccess(request, null);
|
||||
},
|
||||
|
||||
handleSendCancelMMIOK: function handleSendCancelMMIOK(message) {
|
||||
let request = this.takeRequest(message.requestId);
|
||||
if (!request) {
|
||||
return;
|
||||
}
|
||||
|
||||
// MMI query call forwarding options request returns a set of rules that
|
||||
// will be exposed in the form of an array of nsIDOMMozMobileCFInfo
|
||||
// instances.
|
||||
if (message.success && message.rules) {
|
||||
this._cfRulesToMobileCfInfo(message.rules);
|
||||
message.result = message.rules;
|
||||
}
|
||||
|
||||
Services.DOMRequest.fireSuccess(request, message.result);
|
||||
},
|
||||
|
||||
_getRandomId: function _getRandomId() {
|
||||
return gUUIDGenerator.generateUUID().toString();
|
||||
},
|
||||
|
@ -2386,7 +2386,7 @@ let RIL = {
|
||||
options.number = mmi.sia;
|
||||
options.serviceClass = mmi.sib;
|
||||
if (options.action == CALL_FORWARD_ACTION_QUERY_STATUS) {
|
||||
_sendMMIError("CF_QUERY_STATUS_NOT_SUPPORTED");
|
||||
this.queryCallForwardStatus(options);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user