From f7c7cd2120f9d407aab849fb553e57427bf3233e Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Thu, 10 May 2018 06:42:43 -0700 Subject: [PATCH] HearingAid RemoveDevice - don't crash when profile not enabled Bug: 79468820 Test: Unbond non-hearing aid device when profile not enabled Change-Id: I2a87f8725447045e7bc5b2a33facf1ce14b47c54 --- btif/src/btif_hearing_aid.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/btif/src/btif_hearing_aid.cc b/btif/src/btif_hearing_aid.cc index d78725c57..48aab95ee 100644 --- a/btif/src/btif_hearing_aid.cc +++ b/btif/src/btif_hearing_aid.cc @@ -103,8 +103,13 @@ class HearingAidInterfaceImpl void RemoveDevice(const RawAddress& address) override { DVLOG(2) << __func__ << " address: " << address; - do_in_bta_thread(FROM_HERE, Bind(&HearingAid::Disconnect, - Unretained(HearingAid::Get()), address)); + + // RemoveDevice can be called on devices that don't have HA enabled + if (HearingAid::IsInitialized()) { + do_in_bta_thread(FROM_HERE, Bind(&HearingAid::Disconnect, + Unretained(HearingAid::Get()), address)); + } + do_in_jni_thread(FROM_HERE, Bind(&btif_storage_remove_hearing_aid, address)); } -- 2.11.0