Bluetooth annunciator does not highlight after connecting to remote device

RESOLVED FIXED

Status

defect
--
major
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: ggrisco, Assigned: iliu)

Tracking

unspecified
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:2.2+, b2g-v2.2 fixed, b2g-master fixed)

Details

(Whiteboard: [caf priority: p2][CR 835355])

Attachments

(2 attachments)

Reporter

Description

4 years ago
Steps to Reproduce:

1. From bluetooth Settings, connect to a remote device.

Exectation:  Bluetooth icon in status bar should be highlighted
Actual Result:  Bluetooth status icon remains grayed-out.
Whiteboard: [CR 835355] → [caf priority: p2][CR 835355]

Comment 1

4 years ago
Hi! Ben,

Need your comment on this first.
Thanks

--
Keven
Flags: needinfo?(btian)
Bluetooth music icon is white, but bluetooth icon is grey. ni? gaia dev Ian.

Ian, please help check if 2.2 gaia sets bluetooth icon correctly.
Flags: needinfo?(iliu)
Ian,

System app shouldn't check BluetoothManager.isConnected before updating 'connected' [1] since it's moved to BluetoothAdapter in bug 929376 comment 29. I tried remove the check and bluetooth icon becomes white correctly.

[1] https://github.com/mozilla-b2g/gaia/blob/v2.2/apps/system/js/bluetooth.js#L212
Flags: needinfo?(btian)

Updated

4 years ago
Attachment #8604487 - Flags: review?(iliu)
Gaia master also has the problem with different cause: system app doesn't update Bluetooth icon when connection status changes. It's only updated when bluetooth is turned on/off [1].

[1] https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/bluetooth.js#L77

Ian, can you help on master solution?
Comment on attachment 8604487 [details] [review]
[gaia] bentian:bug-1163784-22 > mozilla-b2g:v2.2

Ben, Thanks for your catch up! The root cause is as your mention from bug 929376 comment 29. r+ with me for patch v2.2. I'll handle the same problem for master.
Flags: needinfo?(iliu)
Attachment #8604487 - Flags: review?(iliu) → review+
Assignee: nobody → iliu
Comment on attachment 8604487 [details] [review]
[gaia] bentian:bug-1163784-22 > mozilla-b2g:v2.2

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
  929376
[User impact] if declined:
  Bluetooth status icon remains grey after connecting to remote device. It shall be highlighted per UX definition.
[Testing completed]:
  https://treeherder.mozilla.org/#/jobs?repo=gaia&revision=4e15abde24e80143df84d3a2a1fb5afee3243351
[Risk to taking this patch] (and alternatives if risky):
  None
[String changes made]:
  None
Attachment #8604487 - Flags: approval-gaia-v2.2?

Updated

4 years ago
Attachment #8604487 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
Status: NEW → ASSIGNED

Updated

4 years ago
blocking-b2g: 2.2? → 2.2+
Comment on attachment 8605771 [details] [review]
[gaia] ian-liu:bluetooth/bug1163784_highlight_bluetooth_icon_while_profile_connection_changed > mozilla-b2g:master

The root cause of the problem is no update Bluetooth icon while Bluetooth profiles status changed. Since we have refactored and reorganised the architecture for supporting Bluetooth API v1/v2, we miss to handle 'bluetoothconnectionchange
' event for updating Bluetooth activation icon for connection status[1]. The new code base is no long to fire event to update status bar icon. I give the patch for updating icon from Bluetooth module immediately. Both of Bluetooth v1/v2 are working with this patch.

Another problem I find out the status bar icon would not be rendered while the |dataset.active| is set from true to be false. I have used WebIDE for checking |dataset.active| applied with |false| or not. It's applied with |false|. So this problem should not be relative with the patch, I think. Alive, have you ever seen status bar icon not be rendered with non-active status? Perhaps, I could file a bug for the issue tracking.

[1]:
statusbar: https://github.com/mozilla-b2g/gaia/blob/v2.2/apps/system/js/statusbar.js#L445-L447
bluetooth: https://github.com/mozilla-b2g/gaia/blob/v2.2/apps/system/js/bluetooth.js#L209-L228
Attachment #8605771 - Flags: review?(gasolin)
Attachment #8605771 - Flags: review?(alive)
> Another problem I find out the status bar icon would not be rendered while
> the |dataset.active| is set from true to be false. I have used WebIDE for
> checking |dataset.active| applied with |false| or not. It's applied with
> |false|. So this problem should not be relative with the patch, I think.
> Alive, have you ever seen status bar icon not be rendered with non-active
> status? Perhaps, I could file a bug for the issue tracking.

I means the status bar icon is in app mode(settings app is foreground). The non-active icon will be rendered after we went to homesceen and back to settings app. The status bar icon is working fine while we are in homescreen app.
Comment on attachment 8605771 [details] [review]
[gaia] ian-liu:bluetooth/bug1163784_highlight_bluetooth_icon_while_profile_connection_changed > mozilla-b2g:master

Better having tests
Attachment #8605771 - Flags: review?(alive) → review+
Comment on attachment 8605771 [details] [review]
[gaia] ian-liu:bluetooth/bug1163784_highlight_bluetooth_icon_while_profile_connection_changed > mozilla-b2g:master

lgtm, please add a line of test to make sure its called
Attachment #8605771 - Flags: review?(gasolin) → review+
Update the patch with unit tests for checking Bluetooth icon called as expectation. Verifying via try-server.
Since the pull request is landed, we can close the issue now.

Gaia/master:  https://github.com/mozilla-b2g/gaia/commit/7ec3f02dbcacc3468a10938f7cd87eb3184939bb
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
On the latest 3.0 and 2.2 Nightly Flame builds I saw that the icon remained grayed out after pairing with a device but will become a brighter white when actually transferring something between those devices.  

Not sure if this was the intent of the changes made, but based on the expected results from comment 0 it seems to NOT be fixed.

Environmental Variables:
Device: Flame 3.0
BuildID: 20150520010202
Gaia: 600fd8249960b8256af9de67d9171025bb9a3ff3
Gecko: ac277e615f8f
Gonk: 040bb1e9ac8a5b6dd756fdd696aa37a8868b5c67
Version: 41.0a1 (3.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0

Environmental Variables:
Device: Flame 2.2
BuildID: 20150520002502
Gaia: 63e9eeec3032318f8a240f80b6a184fa4b50b6e1
Gecko: a89755309dea
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
QA Whiteboard: [QAnalyst-Triage?][failed-verification]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?][failed-verification] → [QAnalyst-Triage+][failed-verification]
Flags: needinfo?(ktucker)
(In reply to Jayme Mercado [:JMercado] from comment #16)
> On the latest 3.0 and 2.2 Nightly Flame builds I saw that the icon remained
> grayed out after pairing with a device but will become a brighter white when
> actually transferring something between those devices.  

It's expected since the connection is not established until transfer. You can verify with bluetooth headset and the icon should always be highlighted.

The highlighted icon means 'connected' to remote device. In file transfer, devices are connected only during transfer; while for bluetooth headset, they keeps connected until user disconnects or one of them turns BT off.
(In reply to Jayme Mercado [:JMercado] from comment #16)
> On the latest 3.0 and 2.2 Nightly Flame builds I saw that the icon remained
> grayed out after pairing with a device but will become a brighter white when
> actually transferring something between those devices.  

Hi Jayme,

The interaction of the icon is expected and designed via UX team. You can reference the attached file(https://bugzilla.mozilla.org/show_bug.cgi?id=921085#c14) via bug 921085. The Bluetooth icon will be hight light while file is transferring and headset is connected.
You need to log in before you can comment on or make changes to this bug.