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

Commit 73d31cdf authored by Antoine Soulier's avatar Antoine Soulier Committed by Gerrit Code Review
Browse files

Revert "hci/hal: Move "Android" dependancies into backend"

Revert submission 3057587

Reason for revert: b/336882228 

Reverted changes: /q/submissionid:3057587

Change-Id: I678e7b3fed0fe9b5c6a9f80c6dc476f45d7866a2
parent 07b8f1e2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ class HciBackendCallbacks {

class HciBackend {
 public:
  static std::shared_ptr<HciBackend> CreateAidl();
  static std::shared_ptr<HciBackend> CreateAidl(const char*);
  static std::shared_ptr<HciBackend> CreateHidl(::bluetooth::os::Handler*);

  virtual ~HciBackend() = default;
+2 −8
Original line number Diff line number Diff line
@@ -122,14 +122,8 @@ class AidlHci : public HciBackend {
  std::shared_ptr<AidlHciCallbacks> hci_callbacks_;
};

std::shared_ptr<HciBackend> HciBackend::CreateAidl() {
  static constexpr char kBluetoothAidlHalServiceName[] =
      "android.hardware.bluetooth.IBluetoothHci/default";

  if (AServiceManager_isDeclared(kBluetoothAidlHalServiceName))
    return std::make_shared<AidlHci>(kBluetoothAidlHalServiceName);

  return std::shared_ptr<HciBackend>();
std::shared_ptr<HciBackend> HciBackend::CreateAidl(const char* service_name) {
  return std::make_shared<AidlHci>(service_name);
}

}  // namespace bluetooth::hal
+9 −4
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
 * limitations under the License.
 */

#include <android/binder_manager.h>
#include <bluetooth/log.h>

#include <future>
@@ -112,6 +113,9 @@ class HciCallbacksImpl : public HciBackendCallbacks {
};

class HciHalImpl : public HciHal {
  static constexpr char kBluetoothAidlHalServiceName[] =
      "android.hardware.bluetooth.IBluetoothHci/default";

 public:
  void registerIncomingPacketCallback(HciHalCallbacks* callback) override {
    callbacks_->SetCallback(callback);
@@ -158,10 +162,11 @@ class HciHalImpl : public HciHal {
    link_clocker_ = GetDependency<LinkClocker>();
    btsnoop_logger_ = GetDependency<SnoopLogger>();

    backend_ = HciBackend::CreateAidl();
    if (!backend_) backend_ = HciBackend::CreateHidl(GetHandler());

    log::assert_that(backend_ != nullptr, "No backend available");
    if (AServiceManager_isDeclared(kBluetoothAidlHalServiceName)) {
      backend_ = HciBackend::CreateAidl(kBluetoothAidlHalServiceName);
    } else {
      backend_ = HciBackend::CreateHidl(GetHandler());
    }

    callbacks_ = std::make_shared<HciCallbacksImpl>(btsnoop_logger_, link_clocker_);