Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgornekich <n.gorbadey@gmail.com>2022-02-07 16:37:56 +0300
committerGitHub <noreply@github.com>2022-02-07 16:37:56 +0300
commit3f6deecdae3f4265d4f7680a5c9836f349c0527c (patch)
tree49c8080f03b504fcb61fad8e00037cc3903e993e
parent40479e1761158c2186fc0c369cdbf27b401b006e (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.c3
-rwxr-xr-xfirmware/targets/f6/furi_hal/furi_hal_bt.c2
-rwxr-xr-xfirmware/targets/f7/furi_hal/furi_hal_bt.c2
-rw-r--r--firmware/targets/furi_hal_include/furi_hal_bt.h6
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();