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

Commit b2fbc668 authored by Jakub Pawlowski's avatar Jakub Pawlowski Committed by android-build-merger
Browse files

Fix crashes on stack shutdown

am: fb192451

Change-Id: Id8a02f8359f6141bca21f17cf09e6a94bad87c72
parents b645b3a8 fb192451
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -103,8 +103,15 @@ class BleAdvertiserInterfaceImpl : public BleAdvertiserInterface {
  void Unregister(uint8_t advertiser_id) override {
    do_in_bta_thread(
        FROM_HERE,
        Bind(&BleAdvertisingManager::Unregister,
             base::Unretained(BleAdvertisingManager::Get()), advertiser_id));
        Bind(
            [](uint8_t advertiser_id) {
              if (!BleAdvertisingManager::IsInitialized()) {
                LOG(WARNING) << "Stack already shutdown";
                return;
              }
              BleAdvertisingManager::Get()->Unregister(advertiser_id);
            },
            advertiser_id));
  }

  void GetOwnAddress(uint8_t advertiser_id, GetAddressCallback cb) override {
+2 −0
Original line number Diff line number Diff line
@@ -868,6 +868,8 @@ void BleAdvertisingManager::Initialize(BleAdvertiserHciInterface* interface) {
  instance = new BleAdvertisingManagerImpl(interface);
}

bool BleAdvertisingManager::IsInitialized() { return instance; }

BleAdvertisingManager* BleAdvertisingManager::Get() {
  CHECK(instance);
  return instance;
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ class BleAdvertisingManager {

  static void Initialize(BleAdvertiserHciInterface* interface);
  static void CleanUp();
  static bool IsInitialized();
  static BleAdvertisingManager* Get();

  /* Register an advertising instance, status will be returned in |cb|