Closed
Bug 879635
Opened 12 years ago
Closed 12 years ago
[Bluetooth] [Hfp] Implement HFP 1.6 indicators activation and deactivation
Categories
(Firefox OS Graveyard :: Bluetooth, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: ben.tian, Assigned: ben.tian)
References
Details
(Whiteboard: [fixed-in-birch])
Attachments
(1 file, 2 obsolete files)
HFP 1.6 requires AG support indicators activation and deactivation stated in 4.34.
Updated•12 years ago
|
Blocks: b2g-hfp-16
| Assignee | ||
Comment 1•12 years ago
|
||
The patch implements indicator activation and deactivation required by HFP 1.6.
Attachment #759012 -
Flags: review?(echou)
Comment 2•12 years ago
|
||
Comment on attachment 759012 [details] [diff] [review]
HFP 1.6 indicator activation/deactivation
Review of attachment 759012 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good. Please have me review again after revision. Thanks.
::: dom/bluetooth/BluetoothHfpManager.cpp
@@ +112,5 @@
> typedef struct {
> const char* name;
> const char* range;
> int value;
> + bool active;
'activated' seems to be more accurate than 'active'
@@ +355,5 @@
> return false;
> }
>
> +static bool
> +IsMandatoryINDType(const int type) {
'C'INDType?
@@ +1000,5 @@
> }
> + } else if (msg.Find("AT+BIA=") != -1) {
> + ParseAtCommand(msg, 7, atCommandValues);
> +
> + if (atCommandValues.IsEmpty()) {
Don't worry if it's empty. The for-loop below will handle it.
@@ +1007,5 @@
> + }
> +
> + for (uint8_t i = 0; i < atCommandValues.Length(); i++) {
> + // Map indicator type
> + uint8_t type = i + 1;
I would recommend using 'indicator' or 'indicatorType' as the variable name.
@@ +1028,5 @@
> + sCINDItems[type].active = 0;
> + } else if (!atCommandValues[i].EqualsLiteral("")) {
> + SendLine("ERROR");
> + }
> + } else if (!atCommandValues[i].EqualsLiteral("0")) {
well, it's good to check if the mandatory indicator is assigned with 0. However, since it needs an additional check and there is no obvious different between activate and deactivate a mandatory feature, let's just use 'else' instead of 'else if'.
| Assignee | ||
Comment 3•12 years ago
|
||
Revise variable names and remove some warning logs.
Attachment #759012 -
Attachment is obsolete: true
Attachment #759012 -
Flags: review?(echou)
Attachment #759651 -
Flags: review?(echou)
Comment 4•12 years ago
|
||
Comment on attachment 759651 [details] [diff] [review]
HFP 1.6 indicator activation/deactivation v2
Review of attachment 759651 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with nits addressed. Please use PTS to ensure HFP 1.6 can be passed before handing in your final patch. Thank you.
::: dom/bluetooth/BluetoothHfpManager.cpp
@@ +355,5 @@
> return false;
> }
>
> +static bool
> +IsMandatoryIndicator(const int indicatorType) {
Using |CINDType| as variable type seems more reasonable than int.
@@ +1020,5 @@
> + sCINDItems[indicatorType].activated = 1;
> + } else if (atCommandValues[i].EqualsLiteral("0")) {
> + sCINDItems[indicatorType].activated = 0;
> + } else if (!atCommandValues[i].EqualsLiteral("")) {
> + SendLine("ERROR");
Remember to return after sending ERROR, otherwise OK will be sent as well.
Attachment #759651 -
Flags: review?(echou) → review+
| Assignee | ||
Comment 5•12 years ago
|
||
Attachment #759651 -
Attachment is obsolete: true
| Assignee | ||
Comment 6•12 years ago
|
||
try server link: https://tbpl.mozilla.org/?tree=Try&rev=816a2f2a49ab
Comment 7•12 years ago
|
||
Whiteboard: [fixed-in-birch]
Comment 8•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
QA Contact: wachen
You need to log in
before you can comment on or make changes to this bug.
Description
•