diff options
author | gornekich <n.gorbadey@gmail.com> | 2022-02-07 16:37:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-07 16:37:56 +0300 |
commit | 3f6deecdae3f4265d4f7680a5c9836f349c0527c (patch) | |
tree | 49c8080f03b504fcb61fad8e00037cc3903e993e | |
parent | 40479e1761158c2186fc0c369cdbf27b401b006e (diff) |
[FL-2243] Restart BT advertising after forgetting devices #982
Co-authored-by: あく <alleteam@gmail.com>
-rw-r--r-- | applications/bt/bt_service/bt_keys_storage.c | 3 | ||||
-rwxr-xr-x | firmware/targets/f6/furi_hal/furi_hal_bt.c | 2 | ||||
-rwxr-xr-x | firmware/targets/f7/furi_hal/furi_hal_bt.c | 2 | ||||
-rw-r--r-- | firmware/targets/furi_hal_include/furi_hal_bt.h | 6 |
4 files changed, 10 insertions, 3 deletions
diff --git a/applications/bt/bt_service/bt_keys_storage.c b/applications/bt/bt_service/bt_keys_storage.c index c712b65b..74df1020 100644 --- a/applications/bt/bt_service/bt_keys_storage.c +++ b/applications/bt/bt_service/bt_keys_storage.c @@ -43,10 +43,11 @@ bool bt_save_key_storage(Bt* bt) { bool bt_delete_key_storage(Bt* bt) { furi_assert(bt); bool delete_succeed = false; + bool bt_is_active = furi_hal_bt_is_active(); furi_hal_bt_stop_advertising(); delete_succeed = furi_hal_bt_clear_white_list(); - if(bt->bt_settings.enabled) { + if(bt_is_active) { furi_hal_bt_start_advertising(); } diff --git a/firmware/targets/f6/furi_hal/furi_hal_bt.c b/firmware/targets/f6/furi_hal/furi_hal_bt.c index 4465f15e..9d0c36fc 100755 --- a/firmware/targets/f6/furi_hal/furi_hal_bt.c +++ b/firmware/targets/f6/furi_hal/furi_hal_bt.c @@ -246,7 +246,7 @@ bool furi_hal_bt_change_app(FuriHalBtProfile profile, GapEventCallback event_cb, return ret; } -static bool furi_hal_bt_is_active() { +bool furi_hal_bt_is_active() { return gap_get_state() > GapStateIdle; } diff --git a/firmware/targets/f7/furi_hal/furi_hal_bt.c b/firmware/targets/f7/furi_hal/furi_hal_bt.c index 4465f15e..9d0c36fc 100755 --- a/firmware/targets/f7/furi_hal/furi_hal_bt.c +++ b/firmware/targets/f7/furi_hal/furi_hal_bt.c @@ -246,7 +246,7 @@ bool furi_hal_bt_change_app(FuriHalBtProfile profile, GapEventCallback event_cb, return ret; } -static bool furi_hal_bt_is_active() { +bool furi_hal_bt_is_active() { return gap_get_state() > GapStateIdle; } diff --git a/firmware/targets/furi_hal_include/furi_hal_bt.h b/firmware/targets/furi_hal_include/furi_hal_bt.h index e10901b0..912132d2 100644 --- a/firmware/targets/furi_hal_include/furi_hal_bt.h +++ b/firmware/targets/furi_hal_include/furi_hal_bt.h @@ -84,6 +84,12 @@ bool furi_hal_bt_change_app(FuriHalBtProfile profile, GapEventCallback event_cb, */ void furi_hal_bt_update_battery_level(uint8_t battery_level); +/** Checks if BLE state is active + * + * @return true if device is connected or advertising, false otherwise + */ +bool furi_hal_bt_is_active(); + /** Start advertising */ void furi_hal_bt_start_advertising(); |