New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 817599 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 808713



Sign in to add a comment

Remove non HID/Audio devices found in Bluetooth UI

Project Member Reported by rjahagir@chromium.org, Feb 28 2018

Issue description

In noisy environments, we are flooded with "Unknown or Unsupported Device (<MAC ADDRESS>)" devices in the bluetooth scanning area. This makes it extremely hard to find devices to pair with. 

https://screenshot.googleplex.com/MkbjKtuHR6x


Eve - M65 10323.39.0
 
This issue is seen across all devices in noisy environments where we have multiple BT devices available.
Cc: dwmclary@chromium.org
Labels: -Pri-2 Pri-1
Can we prioritize this issue? It makes testing pretty difficult if we have to sift through 50 of these Unknown devices. 
This would also make users happier :-)

Comment 6 by r...@chromium.org, Mar 8 2018

Cc: snanda@chromium.org dmitrygr@google.com
Owner: r...@chromium.org

Comment 7 by r...@chromium.org, Mar 8 2018

Labels: M-67

Comment 8 by r...@chromium.org, Mar 8 2018

Blocking: 808713

Comment 9 by r...@chromium.org, Mar 27 2018

Owner: xiaoyinh@chromium.org
Summary: Remove non HID/Audio devices found in Bluetooth UI (was: Remove LE devices found in Bluetooth UI)
Updated title to clarify that we want to remove any devices that we don't actually know how to handle from the UI.

I had an offline chat with xiaoyinh@ about how we can do the filtering and optimization in the future.

Here are the properties we can use for filtering.
(1) Device name (optional for a device)
A device with name is usually with higher usability.
(2) Device class (named as device type in Chrome BT API, optional for a device)
This indicates the type of a device, such as computer keyboard etc..
(3) Device icon (optional for a device, combined with device class in Chrome BT API)
This indicates the icon should be displayed for a device.


For now, we can simply filter out the device without name and icon/class, and this may get rid of most the unwanted devices.
When it comes to optimization, we can use device icon and class to sort the list. For instance, we may want to put audio devices and HID/HOG devices on top, followed by computers, phones and etc.

As for the IsConnectable()[1] function, it is not used to determine whether a device is connectable or not. It is used to determine whether a paired device can be reconnected. Therefore it should not be used for filtering.

[1] https://cs.chromium.org/chromium/src/device/bluetooth/bluetooth_device.h?rcl=094f08a9d67ce53085682825ea093cd5cc2e6982&l=277
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad95e8027aead9609efb3e97d9cc38df16976da1

commit ad95e8027aead9609efb3e97d9cc38df16976da1
Author: Sarah Hu <xiaoyinh@chromium.org>
Date: Thu Apr 12 06:24:29 2018

Filtering bluetooth devices in the chrome os UI.

Add utility method FilterDeviceList in device/bluetooth/chromeos
to filter the devices before updating in bluetooth UI.

Extension change is in a separate CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1004414/

Design doc: http://go/cros-bluetooth-filtering

Bug:  817599 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I2a5cfb2ecdacbbe633770bb0c59b2e914b4e4b1f
Reviewed-on: https://chromium-review.googlesource.com/999014
Commit-Queue: Xiaoyin Hu <xiaoyinh@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Rahul Chaturvedi <rkc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550046}
[modify] https://crrev.com/ad95e8027aead9609efb3e97d9cc38df16976da1/ash/system/bluetooth/tray_bluetooth_helper.cc
[modify] https://crrev.com/ad95e8027aead9609efb3e97d9cc38df16976da1/device/bluetooth/BUILD.gn
[add] https://crrev.com/ad95e8027aead9609efb3e97d9cc38df16976da1/device/bluetooth/chromeos/bluetooth_utils.cc
[add] https://crrev.com/ad95e8027aead9609efb3e97d9cc38df16976da1/device/bluetooth/chromeos/bluetooth_utils.h

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/210c995247166fa2cdd38ab71e1c5cfc38871894

commit 210c995247166fa2cdd38ab71e1c5cfc38871894
Author: Sarah Hu <xiaoyinh@chromium.org>
Date: Thu Apr 12 16:11:32 2018

Add optional filter parameter to bluetooth.getDevices

Bug:  817599 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I833c44fac8347974c4ec173ed83902ec09b7e15a
Reviewed-on: https://chromium-review.googlesource.com/1004414
Commit-Queue: Xiaoyin Hu <xiaoyinh@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550226}
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/chrome/browser/resources/settings/bluetooth_page/bluetooth_subpage.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/chrome/test/data/webui/settings/fake_bluetooth.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api.cc
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api.h
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api_utils.cc
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api_utils.h
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/common/api/bluetooth.idl
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/third_party/closure_compiler/externs/bluetooth.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/third_party/closure_compiler/interfaces/bluetooth_interface.js

Status: Fixed (was: Assigned)
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/210c995247166fa2cdd38ab71e1c5cfc38871894

commit 210c995247166fa2cdd38ab71e1c5cfc38871894
Author: Sarah Hu <xiaoyinh@chromium.org>
Date: Thu Apr 12 16:11:32 2018

Add optional filter parameter to bluetooth.getDevices

Bug:  817599 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I833c44fac8347974c4ec173ed83902ec09b7e15a
Reviewed-on: https://chromium-review.googlesource.com/1004414
Commit-Queue: Xiaoyin Hu <xiaoyinh@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550226}
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/chrome/browser/resources/settings/bluetooth_page/bluetooth_subpage.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/chrome/test/data/webui/settings/fake_bluetooth.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api.cc
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api.h
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api_utils.cc
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/browser/api/bluetooth/bluetooth_api_utils.h
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/extensions/common/api/bluetooth.idl
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/third_party/closure_compiler/externs/bluetooth.js
[modify] https://crrev.com/210c995247166fa2cdd38ab71e1c5cfc38871894/third_party/closure_compiler/interfaces/bluetooth_interface.js

Status: Verified (was: Fixed)

Sign in to add a comment