• Jie Jiang's avatar
    arc: bluetooth: Make RFCOMM available for arcvm · c7c949d2
    Jie Jiang authored
    Currently RFCOMM is not available on arcvm because we need some
    operations (listen(), connect(), etc.) on the bluetooth socket in
    Android, which is not supported by VSockProxy. This change moves such
    operations into Chrome.
    
    See http://ag/9487891 for change in Android.
    
    - For RFCOMM listen, we keep the listening socket in Chrome. When a new
    connection is accepted, we give the new socket by accept() to Android.
    - For RFCOMM connect, we keep the socket when connection is not
    established. When connect is ready, we give this socket to Android.
    - We use mojo interface to wrap the sockets live in Chrome. The
    following events (e.g., connect() succeeds) are notified via these
    interfaces.
    
    BUG=b:142090057
    TEST=cts-tradefed run commandAndExit cts -m CtsBluetoothTestCases;
    manually wrote some apps, Android on DUT can communicate with my
    workstation via RFCOMM, both as client and server
    
    Change-Id: If366aaeca5297a011bbd9ff6584831afbf2b86ee
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837329
    Commit-Queue: Jie Jiang <jiejiang@chromium.org>
    Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
    Reviewed-by: default avatarHidehiko Abe <hidehiko@chromium.org>
    Reviewed-by: default avatarMiao-chen Chou <mcchou@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#721893}
    c7c949d2
bluetooth.mojom 16.4 KB