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

Issue 764055 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

Move BluetoothHID into BluetoothHIDFlow

Project Member Reported by alent@google.com, Sep 11 2017

Issue description

This is a tracking bug for the next steps in refactoring BluetoothHID:

- Lose the getaddr hack in BluetoothHID and expose only kit APIs that tests use.
- Move BluetoothHID into BluetoothHIDFlow

We would like to eliminate BluetoothHID and the messy inheritance hierarchy. This would allow kits to be owned by the flow directly, allowing their ttys to be detected & set only once at initialization, instead of the independent detection we have today.

Additionally, we can expose only the APIs we want to be exposed by the kit, as suggested by waihong@, and fail to redirect APIs of the kit that should not be exposed.

This will clean up the code significantly, and centralize the flow into one file or so.
 

Comment 1 by alent@google.com, Sep 12 2017

Description: Show this description
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/chameleon/+/d7356bc25145b4cb5badbfc49294ffa275ab893b

commit d7356bc25145b4cb5badbfc49294ffa275ab893b
Author: Alexander Lent <alent@google.com>
Date: Fri Sep 15 07:24:05 2017

Refactor Bluetooth HID Mouse API

A nice, new, separated API for emulating a mouse is now here.
Kit redirection is explicit in it, too. This represents the first step
in ridding ourselves of the getattr hack and solving
http://crbug.com/764055 .
RN42 can now keep holding buttons while scrolling, too!

Remove the old HID keyboard/mouse API from the public interface in
PeripheralKit, and remove the pylint silencer on BluefruitLE.

The RN42 no longer clamps values to [-127,127]. The API is no longer
publicly exposed, so we're handling those checks elsewhere.

BUG= chromium:752719 ,chromium:764055
TEST=Run this code on the Chameleon board, with an RN42 attached:
$ make && make remote-install CHAMELEON_HOST=$CHAMELEON_IP
Execute the non-flaky non-stress tests that use this code,
see that the tests pass:
$ test_that --board ${BOARD} --args "chameleon_host=${CHAMELEON_IP}" \
${DUT_IP} bluetooth_AdapterPairing.mouse \
bluetooth_AdapterPairing.mouse.pairing_twice \
bluetooth_AdapterHIDReports.mouse

Change-Id: I07b70f0c5fba4abde34f640199f7ccf4c916224d
Reviewed-on: https://chromium-review.googlesource.com/663788
Commit-Ready: Alexander Lent <alent@google.com>
Tested-by: Alexander Lent <alent@google.com>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>

[modify] https://crrev.com/d7356bc25145b4cb5badbfc49294ffa275ab893b/chameleond/utils/bluetooth_bluefruitle.py
[modify] https://crrev.com/d7356bc25145b4cb5badbfc49294ffa275ab893b/chameleond/utils/bluetooth_rn42.py
[modify] https://crrev.com/d7356bc25145b4cb5badbfc49294ffa275ab893b/chameleond/utils/bluetooth_peripheral_kit.py
[modify] https://crrev.com/d7356bc25145b4cb5badbfc49294ffa275ab893b/chameleond/utils/bluetooth_hid.py

Comment 3 by alent@google.com, Sep 15 2017

Owner: josephsih@chromium.org

Comment 4 by alent@google.com, Sep 16 2017

Labels: -Type-Bug Type-Feature
Status: Assigned (was: Untriaged)

Sign in to add a comment