mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-15 20:01:54 -07:00
Improve BadKB connection handling further
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ struct BadKbApp {
|
||||
FuriHalUsbInterface* usb_prev_mode;
|
||||
GapPairing bt_prev_mode;
|
||||
|
||||
FuriThread *bt_init_thread;
|
||||
FuriThread* conn_init_thread;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
|
||||
Reference in New Issue
Block a user