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

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

Fix crashes on stack shutdown am: fb192451

am: b2fbc668

Change-Id: I6f50e1ba5c8cf1cbe8389931a8892e61771e0fb3
parents 9ab6b299 b2fbc668
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|