Closed Bug 784220 Opened 12 years ago Closed 12 years ago

B2G telephony: expose call waiting status

Categories

(Core :: DOM: Device Interfaces, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla18
blocking-basecamp +

People

(Reporter: caseyyee.ca, Assigned: hsinyi)

References

Details

(Keywords: feature, Whiteboard: [LOE:S] [WebAPI:P0])

Attachments

(1 file, 4 obsolete files)

The ability to retrieve Call Waiting status (whether on/off) The ability to set Call Waiting on/off. Incoming call behavior: Call Waiting Toggled On - User will be able to accept incoming calls while on another active call. Call Waiting Toggled Off - Incoming calls will return busy signal while on another active call. It is proposed that we will add the toggle to the Settings -> Cellular & Data. Github issue: https://github.com/mozilla-b2g/gaia/issues/3227
Assignee: nobody → htsai
Summary: Call waiting on/off toggle → B2G telephony: expose call waiting status
Attached patch Patch (obsolete) (deleted) — Splinter Review
Expose call waiting status & control call waiting status via Settings API
(In reply to Hsin-Yi Tsai [:hsinyi] from comment #1) > Created attachment 654153 [details] [diff] [review] > Patch > > Expose call waiting status & control call waiting status via Settings API Changes to gaia/build/settings.js https://github.com/hsinyi/gaia/commit/e85efbd787d38f5eed08d4f97670f1f2b750e705
Attachment #654153 - Flags: review?(philipp)
The original gaia issue was marked as blocking-basecamp+.
blocking-basecamp: --- → ?
Comment on attachment 654153 [details] [diff] [review] Patch Obsolete this because there's rilrequest error when I tested in Brazil.
Attachment #654153 - Attachment is obsolete: true
Attachment #654153 - Flags: review?(philipp)
blocking-basecamp: ? → +
Attached patch Patch (v2) (obsolete) (deleted) — Splinter Review
expose call waiting status & configure it by settings service
Attachment #656459 - Flags: review?(philipp)
Comment on attachment 656459 [details] [diff] [review] Patch (v2) Review of attachment 656459 [details] [diff] [review]: ----------------------------------------------------------------- Looks good. Comments below (and also discussed vis-a-vis) ::: dom/system/gonk/RadioInterfaceLayer.js @@ +690,5 @@ > + return; > + } > + > + this.callWaitingStatus = newStatus; > + this._ensureCallWaitingStatus(); This can send us into a loop of RIL parcels trying to set the status in vain. If the network and our setting don't agree after trying to set the status, let's change the setting. ::: dom/system/gonk/nsIRadioInterfaceLayer.idl @@ +254,5 @@ > > readonly attribute nsIRilContext rilContext; > > + attribute bool callWaitingEnabled; > + I don't think we need this here, just listening to the Settings change is enough.
Attachment #656459 - Flags: review?(philipp) → feedback+
Attached patch Patch (v3) (obsolete) (deleted) — Splinter Review
Comment 6 addressed.
Attachment #656459 - Attachment is obsolete: true
Attached patch Patch (v4): get/set ril.callwaiting.enabled (obsolete) (deleted) — Splinter Review
Control call waiting status by settings API. Add a new setting "ril.callwaiting.enabled" https://github.com/hsinyi/gaia/commit/f88dc4e3f1fe46fc1bbc22fa070a84b1d30f4765
Attachment #657347 - Attachment is obsolete: true
Depends on: 788076
Comment on attachment 658429 [details] [diff] [review] Patch (v4): get/set ril.callwaiting.enabled Comment 6 addressed: 1) remove attribute callWaitingEnabled in .idl 2) reset 'ril.callwaiting.enabled' when RIL reports error Thanks!
Attachment #658429 - Flags: review?(philipp)
Whiteboard: [LOE:S]
Whiteboard: [LOE:S] → [LOE:S] [WebAPI:P0]
Component: General → DOM: Device Interfaces
OS: Mac OS X → Gonk
Product: Boot2Gecko → Core
Hardware: x86 → ARM
Comment on attachment 658429 [details] [diff] [review] Patch (v4): get/set ril.callwaiting.enabled Review of attachment 658429 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/system/gonk/ril_worker.js @@ +3634,5 @@ > RIL[REQUEST_SET_CALL_FORWARD] = null; > RIL[REQUEST_QUERY_CALL_WAITING] = null; > +RIL[REQUEST_SET_CALL_WAITING] = function REQUEST_SET_CALL_WAITING(length, options) { > + options.success = options.rilRequestError == 0 ? true : false; > + options.rilMessageType = "callwaitingstatuschange"; You don't necessarily have to change `rilMessageType`. Just use switch "setCallWaiting": in RadioInterfaceLayer. r=me with that.
Attachment #658429 - Flags: review?(philipp) → review+
(In reply to Philipp von Weitershausen [:philikon] from comment #10) > You don't necessarily have to change `rilMessageType`. Just use > > switch "setCallWaiting": I meant s/case/switch of course :)
(In reply to Philipp von Weitershausen [:philikon] from comment #11) > (In reply to Philipp von Weitershausen [:philikon] from comment #10) > > You don't necessarily have to change `rilMessageType`. Just use > > > > switch "setCallWaiting": > > I meant s/case/switch of course :) Ha, I got it!
Comment 10 addressed. r=philikon
Attachment #658429 - Attachment is obsolete: true
Keywords: feature
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: