Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a95a877 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 7007557 from 95e3150a to sc-release

Change-Id: I1ffad00eb79094629b0147547667039f77d60b41
parents 9b9e3daa 95e3150a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ filegroup {
        "android/bluetooth/IBluetoothHeadsetPhone.aidl",
        "android/bluetooth/IBluetoothHearingAid.aidl",
        "android/bluetooth/IBluetoothHidHost.aidl",
        "android/bluetooth/IBluetoothLeAudio.aidl",
        "android/bluetooth/IBluetoothPan.aidl",
        "android/bluetooth/IBluetoothManager.aidl",
        "android/bluetooth/IBluetoothManagerCallback.aidl",
+47 −0
Original line number Diff line number Diff line
/*
 * Copyright 2020 HIMSA II K/S - www.himsa.com.
 * Represented by EHIMA - www.ehima.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.bluetooth;

import android.bluetooth.BluetoothDevice;

/**
 * APIs for Bluetooth LE Audio service
 *
 * @hide
 */
interface IBluetoothLeAudio {
    // Public API
    boolean connect(in BluetoothDevice device);
    boolean disconnect(in BluetoothDevice device);
    List<BluetoothDevice> getConnectedDevices();
    List<BluetoothDevice> getDevicesMatchingConnectionStates(in int[] states);
    int getConnectionState(in BluetoothDevice device);
    boolean setActiveDevice(in BluetoothDevice device);
    List<BluetoothDevice> getActiveDevices();
    boolean setConnectionPolicy(in BluetoothDevice device, int connectionPolicy);
    int getConnectionPolicy(in BluetoothDevice device);

    const int LE_AUDIO_GROUP_ID_INVALID = -1;

    /**
     * Get device group id. Devices with same group id belong to same group (i.e left and right
     * earbud)
     */
    int getGroupId(in BluetoothDevice device);

}
+0 −2
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@
#include "security/security_module.h"
#include "shim/dumpsys.h"
#include "shim/facade/facade.h"
#include "shim/l2cap.h"
#include "stack_manager.h"
#include "storage/storage_module.h"

@@ -115,7 +114,6 @@ class RootFacadeService : public ::bluetooth::facade::RootFacade::Service {
        break;
      case BluetoothModule::SHIM:
        modules.add<::bluetooth::shim::facade::ShimFacadeModule>();
        modules.add<::bluetooth::shim::L2cap>();
        break;
      default:
        return ::grpc::Status(::grpc::StatusCode::INVALID_ARGUMENT, "invalid module under test");
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ class AclConnection {
  using QueueDownEnd = common::BidiQueueEnd<PacketView<kLittleEndian>, BasePacketBuilder>;
  virtual QueueUpEnd* GetAclQueueEnd() const;

  bool locally_initiated_{false};

 protected:
  AclConnection(QueueUpEnd* queue_up_end, uint16_t handle) : queue_up_end_(queue_up_end), handle_(handle) {}
  QueueUpEnd* queue_up_end_;
+3 −0
Original line number Diff line number Diff line
@@ -190,9 +190,11 @@ struct classic_impl : public security::ISecurityManagerListener {
    auto status = connection_complete.GetStatus();
    auto address = connection_complete.GetBdAddr();
    Role current_role = Role::CENTRAL;
    bool locally_initiated = true;
    if (outgoing_connecting_address_ == address) {
      outgoing_connecting_address_ = Address::kEmpty;
    } else {
      locally_initiated = false;
      ASSERT_LOG(incoming_connecting_address_ == address, "No prior connection request for %s",
                 address.ToString().c_str());
      incoming_connecting_address_ = Address::kEmpty;
@@ -212,6 +214,7 @@ struct classic_impl : public security::ISecurityManagerListener {
    round_robin_scheduler_->Register(RoundRobinScheduler::ConnectionType::CLASSIC, handle, queue);
    std::unique_ptr<ClassicAclConnection> connection(
        new ClassicAclConnection(std::move(queue), acl_connection_interface_, handle, address));
    connection->locally_initiated_ = locally_initiated;
    auto& connection_proxy = check_and_get_connection(handle);
    connection_proxy.connection_management_callbacks_ = connection->GetEventCallbacks();
    connection_proxy.connection_management_callbacks_->OnRoleChange(current_role);
Loading