Improve BadKB connection handling further

This commit is contained in:
Willy-JL
2023-02-28 22:27:27 +00:00
parent ad937dd31e
commit a49eb22ca1
2 changed files with 7 additions and 6 deletions
+6 -5
View File
@@ -151,8 +151,8 @@ BadKbApp* bad_kb_app_alloc(char* arg) {
app->error = BadKbAppErrorCloseRpc;
scene_manager_next_scene(app->scene_manager, BadKbSceneError);
} else {
app->bt_init_thread = furi_thread_alloc_ex("BadKbBtInit", 512, (FuriThreadCallback)bad_kb_connection_init, app);
furi_thread_start(app->bt_init_thread);
app->conn_init_thread = furi_thread_alloc_ex("BadKbConnInit", 512, (FuriThreadCallback)bad_kb_connection_init, app);
furi_thread_start(app->conn_init_thread);
if(!furi_string_empty(app->file_path)) {
app->bad_kb_script = bad_kb_script_open(app->file_path, app->is_bt ? app->bt : NULL);
bad_kb_script_set_keyboard_layout(app->bad_kb_script, app->keyboard_layout);
@@ -174,9 +174,6 @@ void bad_kb_app_free(BadKbApp* app) {
app->bad_kb_script = NULL;
}
furi_thread_join(app->bt_init_thread);
bad_kb_connection_deinit(app);
// Views
view_dispatcher_remove_view(app->view_dispatcher, BadKbAppViewWork);
bad_kb_free(app->bad_kb_view);
@@ -224,6 +221,10 @@ void bad_kb_app_free(BadKbApp* app) {
furi_string_free(app->file_path);
furi_string_free(app->keyboard_layout);
furi_thread_join(app->conn_init_thread);
bad_kb_connection_deinit(app);
furi_thread_free(app->conn_init_thread);
free(app);
}
+1 -1
View File
@@ -80,7 +80,7 @@ struct BadKbApp {
FuriHalUsbInterface* usb_prev_mode;
GapPairing bt_prev_mode;
FuriThread *bt_init_thread;
FuriThread* conn_init_thread;
};
typedef enum {