Closed Bug 1185435 Opened 10 years ago Closed 10 years ago

[IMS] HD Voice Indicator

Categories

(Firefox OS Graveyard :: RIL, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(feature-b2g:2.2r+, b2g-v2.2r fixed, b2g-master wontfix)

RESOLVED FIXED
FxOS-S6 (04Sep)
feature-b2g 2.2r+
Tracking Status
b2g-v2.2r --- fixed
b2g-master --- wontfix

People

(Reporter: bevis, Assigned: bhsu)

References

Details

Attachments

(6 files, 9 obsolete files)

5.54 KB, patch
bhsu
: review+
Details | Diff | Splinter Review
15.16 KB, patch
bhsu
: review+
Details | Diff | Splinter Review
2.87 KB, patch
bhsu
: review+
Details | Diff | Splinter Review
6.39 KB, patch
bhsu
: review+
Details | Diff | Splinter Review
1.23 KB, patch
hsinyi
: review+
Details | Diff | Splinter Review
2.17 KB, patch
bhsu
: review+
Details | Diff | Splinter Review
This bug is to provide an HD indicator of the telephony call for user to identify the ongoing call is a HD resolution audio call.
Group: tai-confidential, qualcomm-confidential
CC list accessible: false
Not accessible to reporter
Group: tai-confidential, qualcomm-confidential
CC list accessible: true
feature-b2g: --- → 2.2r+
Accessible to reporter
Group: tai-confidential, qualcomm-confidential
Hi Ben, please help this! Bevis and I could provide assistance and solution discussion.
Assignee: nobody → bhsu
We will land this on v2.2r only, so set status-b2g-master:wontfix.
Hi Hsin-Yi Though the other patches need further tested, I think you may want to review this patch first :P
Attachment #8653265 - Flags: review?(htsai)
Attachment #8653265 - Attachment description: Part 1: Add quality to TelephonyCall (WebIDL) → Part 1: Add |quality| to TelephonyCall (WebIDL)
Since we fail to replace |TeleponyService| during runtime, we cannot have a better examination with mochitest. Now, we can only use this marionette testcase to prove that things are working as expected with quality preseted to |Normal| or |HD|. In this patch, the quality is preset to |Normal|, while |HD| is tested locally.
Comment on attachment 8653265 [details] [diff] [review] Part 1: Add |quality| to TelephonyCall (WebIDL) Review of attachment 8653265 [details] [diff] [review]: ----------------------------------------------------------------- Thanks Ben! ::: dom/webidl/TelephonyCall.webidl @@ +32,5 @@ > readonly attribute DOMError? error; > > readonly attribute TelephonyCallGroup? group; > > + // Indicate whether the call quality is normal or HD Though HD may sound trivial, it's always good to explain what an abbreviation stands for. Please comment that. nit: place a period at the end of a line.
Attachment #8653265 - Flags: review?(htsai) → review+
A short update: these patches work as expected on Flame-kk verified with WebIDE.
Attachment #8653265 - Attachment is obsolete: true
Attachment #8653834 - Flags: review+
Attachment #8653266 - Flags: review?(btseng)
Attachment #8653267 - Flags: review?(btseng)
Attachment #8653268 - Flags: review?(btseng)
Attachment #8653269 - Flags: review?(btseng)
Comment on attachment 8653266 [details] [diff] [review] Part 2: Add |quality| to TeleponyCallInfo and related functions (IDL) Review of attachment 8653266 [details] [diff] [review]: ----------------------------------------------------------------- r=me if the comments below are addressed. ::: dom/telephony/nsITelephonyCallInfo.idl @@ +22,5 @@ > */ > readonly attribute unsigned short callState; > > /** > + * Indicate whether the call quality is normal or HD, and its value should be /** * One of the nsITelephonyService::CALL_QUALITY_* values. * * Set to CALL_QUALITY_HD to indicate the voice quality is high definition. * e.g. AMR-WB is adopted. */ @@ +25,5 @@ > /** > + * Indicate whether the call quality is normal or HD, and its value should be > + * one of the nsITelephonyService::CALL_QUALITY_* values. > + */ > + readonly attribute unsigned short quality; I prefer to rename |quality| as voiceQuality to have more clear understanding of what HD indicates to. How do you think? ::: dom/telephony/nsITelephonyService.idl @@ +139,5 @@ > */ > void notifyDialCallSuccess(in unsigned long cliendId, > in unsigned long callIndex, > + in AString number, > + in unsigned short quality); no uuid update for nsITelephonyDialCallback.
Attachment #8653266 - Flags: review?(btseng) → review+
Hi Bevis, thanks for your review. > I prefer to rename |quality| as voiceQuality to have more clear > understanding of what HD indicates to. > > How do you think? I think it's fine. However, if we want to modify the WebIDL as well, I think we should NI Hsin-Yi to get her approval.
Flags: needinfo?(htsai)
(In reply to Ben Hsu [:bhsu] from comment #13) > Hi Bevis, thanks for your review. > > > I prefer to rename |quality| as voiceQuality to have more clear > > understanding of what HD indicates to. > > > > How do you think? > > I think it's fine. However, if we want to modify the WebIDL as well, I think > we should NI Hsin-Yi to get her approval. Even better! r+++++
Flags: needinfo?(htsai)
Comment on attachment 8653267 [details] [diff] [review] Part 3: Add |quality| to related DOM obejects (DOM) Review of attachment 8653267 [details] [diff] [review]: ----------------------------------------------------------------- r=me if nits and the rename of |quality| to |voiceQuality| are done. Thanks! ::: dom/telephony/TelephonyCall.cpp @@ +19,5 @@ > > // static > already_AddRefed<TelephonyCall> > +TelephonyCall::Create(Telephony* aTelephony, > + nit: we don't have to format the parameters in this way with empty lines. @@ +25,5 @@ > + uint32_t aServiceId, > + uint32_t aCallIndex, > + uint16_t aCallState, > + TelephonyCallQuality aQuality, > + ditto ::: dom/telephony/TelephonyCall.h @@ +125,5 @@ > IMPL_EVENT_HANDLER(groupchange) > > static already_AddRefed<TelephonyCall> > + Create(Telephony* aTelephony, > + nit: we don't have to format the parameters in this way with empty lines. @@ +131,5 @@ > + uint32_t aServiceId, > + uint32_t aCallIndex, > + uint16_t aCallState, > + TelephonyCallQuality aQuality, > + ditto ::: dom/telephony/TelephonyCallInfo.cpp @@ +13,5 @@ > TelephonyCallInfo::TelephonyCallInfo(uint32_t aClientId, > uint32_t aCallIndex, > uint16_t aCallState, > + uint32_t aQuality, > + nit: we don't have to format the parameters in this way with empty lines. @@ +18,5 @@ > const nsAString& aNumber, > uint16_t aNumberPresentation, > const nsAString& aName, > uint16_t aNamePresentation, > + ditto ::: dom/telephony/TelephonyCallInfo.h @@ +22,5 @@ > + TelephonyCallInfo(uint32_t aClientId, > + uint32_t aCallIndex, > + uint16_t aCallState, > + uint32_t aQuality, > + nit: we don't have to format the parameters in this way with empty lines. @@ +27,5 @@ > + const nsAString& aNumber, > + uint16_t aNumberPresentation, > + const nsAString& aName, > + uint16_t aNamePresentation, > + ditto.
Attachment #8653267 - Flags: review?(btseng) → review+
Comment on attachment 8653268 [details] [diff] [review] Part 4: Set call |quality| default to |Normal| (TelephonyService) Review of attachment 8653268 [details] [diff] [review]: ----------------------------------------------------------------- r=me after nits and the rename of |quality| to |voiceQuality| are done. ::: dom/telephony/gonk/TelephonyService.js @@ +61,5 @@ > const MMI_MATCH_GROUP_SIC = 6; > const MMI_MATCH_GROUP_PWD_CONFIRM = 7; > const MMI_MATCH_GROUP_DIALING_NUMBER = 8; > > +const TELEPHONY_CALL_QUALITY = nsITelephonyService.CALL_QUALITY_NORMAL; nit: no need to an extra const here. nsITelephonyService.CALL_QUALITY_NORMAL is good enough for reference and is more readable that this const are defined in nsITelephonyService.
Attachment #8653268 - Flags: review?(btseng) → review+
Comment on attachment 8653269 [details] [diff] [review] Part 5: Extend IPC channel to handle |quality| (IPC) Review of attachment 8653269 [details] [diff] [review]: ----------------------------------------------------------------- r=me after the rename of |quality| to |voiceQuality| is done. Thanks!
Attachment #8653269 - Flags: review?(btseng) → review+
Attachment #8653834 - Attachment is obsolete: true
Attachment #8654742 - Attachment description: Part 1(V3): Add |quality| to TelephonyCall (WebIDL) → Part 1 (V3): Add |quality| to TelephonyCall (WebIDL)
Attachment #8654747 - Flags: review+
Attachment #8653268 - Attachment is obsolete: true
Attachment #8653270 - Attachment is obsolete: true
Attachment #8654748 - Attachment description: Part 5 (V2): Extend IPC channel to handle |quality| (IPC) → Part 5 (V2): Extend IPC channel to handle |quality| (IPC). r=btseng
Attachment #8654748 - Flags: review+
Comment on attachment 8654742 [details] [diff] [review] Part 1 (V3): Add |quality| to TelephonyCall (WebIDL) Hi Hsin-Yi, Since the name of the attribute is change to |voiceQuality| and the related comment is also updated, I think it's better to ask for another round of review. Do you mind reviewing this patch again?
Attachment #8654742 - Flags: review?(htsai)
Attachment #8654742 - Flags: review?(htsai)
Sorry, I uploaded the wrong part :P
Attachment #8654742 - Attachment is obsolete: true
Attachment #8654752 - Flags: review?(htsai)
Attachment #8654749 - Flags: review?(btseng)
Comment on attachment 8654752 [details] [diff] [review] Part 1 (V3): Add |quality| to TelephonyCall (WebIDL). r=htsai Review of attachment 8654752 [details] [diff] [review]: ----------------------------------------------------------------- Thanks!
Attachment #8654752 - Flags: review?(htsai) → review+
Comment on attachment 8654749 [details] [diff] [review] Part 6 (V2): Check |quality| (testcases) Review of attachment 8654749 [details] [diff] [review]: ----------------------------------------------------------------- r=me with nits addressed. Thanks! ::: dom/telephony/test/marionette/head.js @@ +424,5 @@ > * An array of call info with the format of "callStrPool()[state]". > * @return Promise > */ > function checkAll(active, calls, conferenceState, conferenceCalls, callList) { > + // Check quality nit: Check voice quality @@ +425,5 @@ > * @return Promise > */ > function checkAll(active, calls, conferenceState, conferenceCalls, callList) { > + // Check quality > + telephony.calls.forEach(call => is(call.voiceQuality, "Normal", "check quality")); nit: "check voice quality" @@ +426,5 @@ > */ > function checkAll(active, calls, conferenceState, conferenceCalls, callList) { > + // Check quality > + telephony.calls.forEach(call => is(call.voiceQuality, "Normal", "check quality")); > + conference.calls.forEach(call => is(call.voiceQuality, "Normal", "check quality")); ditto @@ +459,5 @@ > ok(outCall instanceof TelephonyCall, "check instance"); > is(outCall.id.number, number); > is(outCall.state, "dialing"); > is(outCall.serviceId, serviceId); > + is(outCall.voiceQuality, "Normal", "check quality"); ditto @@ +625,5 @@ > let call = event.call; > > ok(call); > is(call.state, "incoming"); > + is(call.voiceQuality, "Normal","check quality"); ditto
Attachment #8654749 - Flags: review?(btseng) → review+
Attachment #8654749 - Attachment is obsolete: true
Attachment #8654793 - Flags: review+
Attachment #8654752 - Attachment description: Part 1 (V3): Add |quality| to TelephonyCall (WebIDL) → Part 1 (V3): Add |quality| to TelephonyCall (WebIDL). r=htsai
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: