From f1a353d942be90fcc4fe803b6ac727ceab087450 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Tue, 25 Jul 2023 00:11:56 +0300 Subject: [PATCH] fix 5 plugins ui update --- .../external/flipper_i2ctools/i2ctools.c | 256 +++++++++--------- applications/external/hex_viewer/hex_viewer.c | 97 +++---- applications/external/ir_scope/ir_scope.c | 43 +-- .../external/text_viewer/text_viewer.c | 100 +++---- applications/external/totp/totp_app.c | 2 +- 5 files changed, 254 insertions(+), 244 deletions(-) diff --git a/applications/external/flipper_i2ctools/i2ctools.c b/applications/external/flipper_i2ctools/i2ctools.c index 7be6e5961..b9fbebdbc 100644 --- a/applications/external/flipper_i2ctools/i2ctools.c +++ b/applications/external/flipper_i2ctools/i2ctools.c @@ -73,143 +73,145 @@ int32_t i2ctools_app(void* p) { // Share scanner with sender i2ctools->sender->scanner = i2ctools->scanner; - while(furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk) { - // Back - if(event.key == InputKeyBack && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == MAIN_VIEW) { - break; - } else { - if(i2ctools->main_view->current_view == SNIFF_VIEW) { - stop_interrupts(); - i2ctools->sniffer->started = false; - i2ctools->sniffer->state = I2C_BUS_FREE; - } - i2ctools->main_view->current_view = MAIN_VIEW; - } - } - // Up - else if(event.key == InputKeyUp && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == MAIN_VIEW) { - if((i2ctools->main_view->menu_index > SCAN_VIEW)) { - i2ctools->main_view->menu_index--; - } - } else if(i2ctools->main_view->current_view == SCAN_VIEW) { - if(i2ctools->scanner->menu_index > 0) { - i2ctools->scanner->menu_index--; - } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if(i2ctools->sniffer->row_index > 0) { - i2ctools->sniffer->row_index--; - } - } else if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->value < 0xFF) { - i2ctools->sender->value++; - i2ctools->sender->sended = false; - } - } - } - // Long Up - else if( - event.key == InputKeyUp && - (event.type == InputTypeLong || event.type == InputTypeRepeat)) { - if(i2ctools->main_view->current_view == SCAN_VIEW) { - if(i2ctools->scanner->menu_index > 5) { - i2ctools->scanner->menu_index -= 5; - } - } else if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->value < 0xF9) { - i2ctools->sender->value += 5; - i2ctools->sender->sended = false; - } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if(i2ctools->sniffer->row_index > 5) { - i2ctools->sniffer->row_index -= 5; + while(1) { + if(furi_message_queue_get(event_queue, &event, 100) == FuriStatusOk) { + // Back + if(event.key == InputKeyBack && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == MAIN_VIEW) { + break; } else { - i2ctools->sniffer->row_index = 0; + if(i2ctools->main_view->current_view == SNIFF_VIEW) { + stop_interrupts(); + i2ctools->sniffer->started = false; + i2ctools->sniffer->state = I2C_BUS_FREE; + } + i2ctools->main_view->current_view = MAIN_VIEW; } } - } - // Down - else if(event.key == InputKeyDown && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == MAIN_VIEW) { - if(i2ctools->main_view->menu_index < MENU_SIZE - 1) { - i2ctools->main_view->menu_index++; - } - } else if(i2ctools->main_view->current_view == SCAN_VIEW) { - if(i2ctools->scanner->menu_index < ((int)i2ctools->scanner->nb_found / 3)) { - i2ctools->scanner->menu_index++; - } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if((i2ctools->sniffer->row_index + 3) < - (int)i2ctools->sniffer->frames[i2ctools->sniffer->menu_index].data_index) { - i2ctools->sniffer->row_index++; - } - } else if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->value > 0x00) { - i2ctools->sender->value--; - i2ctools->sender->sended = false; + // Up + else if(event.key == InputKeyUp && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == MAIN_VIEW) { + if((i2ctools->main_view->menu_index > SCAN_VIEW)) { + i2ctools->main_view->menu_index--; + } + } else if(i2ctools->main_view->current_view == SCAN_VIEW) { + if(i2ctools->scanner->menu_index > 0) { + i2ctools->scanner->menu_index--; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if(i2ctools->sniffer->row_index > 0) { + i2ctools->sniffer->row_index--; + } + } else if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->value < 0xFF) { + i2ctools->sender->value++; + i2ctools->sender->sended = false; + } } } - } - // Long Down - else if( - event.key == InputKeyDown && - (event.type == InputTypeLong || event.type == InputTypeRepeat)) { - if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->value > 0x05) { - i2ctools->sender->value -= 5; - i2ctools->sender->sended = false; - } else { - i2ctools->sender->value = 0; - i2ctools->sender->sended = false; - } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if((i2ctools->sniffer->row_index + 8) < - (int)i2ctools->sniffer->frames[i2ctools->sniffer->menu_index].data_index) { - i2ctools->sniffer->row_index += 5; + // Long Up + else if( + event.key == InputKeyUp && + (event.type == InputTypeLong || event.type == InputTypeRepeat)) { + if(i2ctools->main_view->current_view == SCAN_VIEW) { + if(i2ctools->scanner->menu_index > 5) { + i2ctools->scanner->menu_index -= 5; + } + } else if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->value < 0xF9) { + i2ctools->sender->value += 5; + i2ctools->sender->sended = false; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if(i2ctools->sniffer->row_index > 5) { + i2ctools->sniffer->row_index -= 5; + } else { + i2ctools->sniffer->row_index = 0; + } } } + // Down + else if(event.key == InputKeyDown && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == MAIN_VIEW) { + if(i2ctools->main_view->menu_index < MENU_SIZE - 1) { + i2ctools->main_view->menu_index++; + } + } else if(i2ctools->main_view->current_view == SCAN_VIEW) { + if(i2ctools->scanner->menu_index < ((int)i2ctools->scanner->nb_found / 3)) { + i2ctools->scanner->menu_index++; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if((i2ctools->sniffer->row_index + 3) < + (int)i2ctools->sniffer->frames[i2ctools->sniffer->menu_index].data_index) { + i2ctools->sniffer->row_index++; + } + } else if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->value > 0x00) { + i2ctools->sender->value--; + i2ctools->sender->sended = false; + } + } + } + // Long Down + else if( + event.key == InputKeyDown && + (event.type == InputTypeLong || event.type == InputTypeRepeat)) { + if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->value > 0x05) { + i2ctools->sender->value -= 5; + i2ctools->sender->sended = false; + } else { + i2ctools->sender->value = 0; + i2ctools->sender->sended = false; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if((i2ctools->sniffer->row_index + 8) < + (int)i2ctools->sniffer->frames[i2ctools->sniffer->menu_index].data_index) { + i2ctools->sniffer->row_index += 5; + } + } - } else if(event.key == InputKeyOk && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == MAIN_VIEW) { - i2ctools->main_view->current_view = i2ctools->main_view->menu_index; - } else if(i2ctools->main_view->current_view == SCAN_VIEW) { - scan_i2c_bus(i2ctools->scanner); - } else if(i2ctools->main_view->current_view == SEND_VIEW) { - i2ctools->sender->must_send = true; - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if(i2ctools->sniffer->started) { - stop_interrupts(); - i2ctools->sniffer->started = false; - i2ctools->sniffer->state = I2C_BUS_FREE; - } else { - start_interrupts(i2ctools->sniffer); - i2ctools->sniffer->started = true; - i2ctools->sniffer->state = I2C_BUS_FREE; + } else if(event.key == InputKeyOk && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == MAIN_VIEW) { + i2ctools->main_view->current_view = i2ctools->main_view->menu_index; + } else if(i2ctools->main_view->current_view == SCAN_VIEW) { + scan_i2c_bus(i2ctools->scanner); + } else if(i2ctools->main_view->current_view == SEND_VIEW) { + i2ctools->sender->must_send = true; + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if(i2ctools->sniffer->started) { + stop_interrupts(); + i2ctools->sniffer->started = false; + i2ctools->sniffer->state = I2C_BUS_FREE; + } else { + start_interrupts(i2ctools->sniffer); + i2ctools->sniffer->started = true; + i2ctools->sniffer->state = I2C_BUS_FREE; + } } - } - } else if(event.key == InputKeyRight && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->address_idx < (i2ctools->scanner->nb_found - 1)) { - i2ctools->sender->address_idx++; - i2ctools->sender->sended = false; + } else if(event.key == InputKeyRight && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->address_idx < (i2ctools->scanner->nb_found - 1)) { + i2ctools->sender->address_idx++; + i2ctools->sender->sended = false; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if(i2ctools->sniffer->menu_index < i2ctools->sniffer->frame_index) { + i2ctools->sniffer->menu_index++; + i2ctools->sniffer->row_index = 0; + } } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if(i2ctools->sniffer->menu_index < i2ctools->sniffer->frame_index) { - i2ctools->sniffer->menu_index++; - i2ctools->sniffer->row_index = 0; - } - } - } else if(event.key == InputKeyLeft && event.type == InputTypeRelease) { - if(i2ctools->main_view->current_view == SEND_VIEW) { - if(i2ctools->sender->address_idx > 0) { - i2ctools->sender->address_idx--; - i2ctools->sender->sended = false; - } - } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { - if(i2ctools->sniffer->menu_index > 0) { - i2ctools->sniffer->menu_index--; - i2ctools->sniffer->row_index = 0; + } else if(event.key == InputKeyLeft && event.type == InputTypeRelease) { + if(i2ctools->main_view->current_view == SEND_VIEW) { + if(i2ctools->sender->address_idx > 0) { + i2ctools->sender->address_idx--; + i2ctools->sender->sended = false; + } + } else if(i2ctools->main_view->current_view == SNIFF_VIEW) { + if(i2ctools->sniffer->menu_index > 0) { + i2ctools->sniffer->menu_index--; + i2ctools->sniffer->row_index = 0; + } } } } diff --git a/applications/external/hex_viewer/hex_viewer.c b/applications/external/hex_viewer/hex_viewer.c index 50c34d634..4249720c4 100644 --- a/applications/external/hex_viewer/hex_viewer.c +++ b/applications/external/hex_viewer/hex_viewer.c @@ -229,53 +229,58 @@ int32_t hex_viewer_app(void* p) { hex_viewer_read_file(hex_viewer); InputEvent input; - while(furi_message_queue_get(hex_viewer->input_queue, &input, FuriWaitForever) == - FuriStatusOk) { - if(input.key == InputKeyBack) { - break; - } else if(input.key == InputKeyUp) { - furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); - if(hex_viewer->model->file_offset > 0) { - hex_viewer->model->file_offset -= HEX_VIEWER_BYTES_PER_LINE; - if(!hex_viewer_read_file(hex_viewer)) break; + while(1) { + if(furi_message_queue_get(hex_viewer->input_queue, &input, 100) == FuriStatusOk) { + if(input.key == InputKeyBack) { + break; + } else if(input.key == InputKeyUp) { + furi_check( + furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); + if(hex_viewer->model->file_offset > 0) { + hex_viewer->model->file_offset -= HEX_VIEWER_BYTES_PER_LINE; + if(!hex_viewer_read_file(hex_viewer)) break; + } + furi_mutex_release(hex_viewer->mutex); + } else if(input.key == InputKeyDown) { + furi_check( + furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); + uint32_t last_byte_on_screen = + hex_viewer->model->file_offset + hex_viewer->model->file_read_bytes; + + if(hex_viewer->model->file_size > last_byte_on_screen) { + hex_viewer->model->file_offset += HEX_VIEWER_BYTES_PER_LINE; + if(!hex_viewer_read_file(hex_viewer)) break; + } + furi_mutex_release(hex_viewer->mutex); + } else if(input.key == InputKeyLeft) { + furi_check( + furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); + hex_viewer->model->mode = !hex_viewer->model->mode; + furi_mutex_release(hex_viewer->mutex); + } else if(input.key == InputKeyRight) { + FuriString* buffer; + buffer = furi_string_alloc(); + furi_string_printf( + buffer, + "File path: %s\nFile size: %lu (0x%lX)", + furi_string_get_cstr(file_path), + hex_viewer->model->file_size, + hex_viewer->model->file_size); + + DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); + DialogMessage* message = dialog_message_alloc(); + dialog_message_set_header( + message, "Hex Viewer v1.1", 16, 2, AlignLeft, AlignTop); + dialog_message_set_icon(message, &I_hex_10px, 3, 2); + dialog_message_set_text( + message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); + dialog_message_set_buttons(message, NULL, NULL, "Back"); + dialog_message_show(dialogs, message); + + furi_string_free(buffer); + dialog_message_free(message); + furi_record_close(RECORD_DIALOGS); } - furi_mutex_release(hex_viewer->mutex); - } else if(input.key == InputKeyDown) { - furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); - uint32_t last_byte_on_screen = - hex_viewer->model->file_offset + hex_viewer->model->file_read_bytes; - - if(hex_viewer->model->file_size > last_byte_on_screen) { - hex_viewer->model->file_offset += HEX_VIEWER_BYTES_PER_LINE; - if(!hex_viewer_read_file(hex_viewer)) break; - } - furi_mutex_release(hex_viewer->mutex); - } else if(input.key == InputKeyLeft) { - furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); - hex_viewer->model->mode = !hex_viewer->model->mode; - furi_mutex_release(hex_viewer->mutex); - } else if(input.key == InputKeyRight) { - FuriString* buffer; - buffer = furi_string_alloc(); - furi_string_printf( - buffer, - "File path: %s\nFile size: %lu (0x%lX)", - furi_string_get_cstr(file_path), - hex_viewer->model->file_size, - hex_viewer->model->file_size); - - DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); - DialogMessage* message = dialog_message_alloc(); - dialog_message_set_header(message, "Hex Viewer v1.1", 16, 2, AlignLeft, AlignTop); - dialog_message_set_icon(message, &I_hex_10px, 3, 2); - dialog_message_set_text( - message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); - dialog_message_set_buttons(message, NULL, NULL, "Back"); - dialog_message_show(dialogs, message); - - furi_string_free(buffer); - dialog_message_free(message); - furi_record_close(RECORD_DIALOGS); } view_port_update(hex_viewer->view_port); diff --git a/applications/external/ir_scope/ir_scope.c b/applications/external/ir_scope/ir_scope.c index 408ba3cc7..d56d1c78c 100644 --- a/applications/external/ir_scope/ir_scope.c +++ b/applications/external/ir_scope/ir_scope.c @@ -140,30 +140,31 @@ int32_t ir_scope_app(void* p) { InputEvent event; bool processing = true; - while(processing && - furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk) { - if(event.type == InputTypeRelease) { - furi_mutex_acquire(state.mutex, FuriWaitForever); + while(processing) { + if(furi_message_queue_get(event_queue, &event, 100) == FuriStatusOk) { + if(event.type == InputTypeRelease) { + furi_mutex_acquire(state.mutex, FuriWaitForever); - if(event.key == InputKeyBack) { - processing = false; - } else if(event.key == InputKeyUp) { - state.us_per_sample = MIN(1000, state.us_per_sample + 25); - state.autoscale = false; - } else if(event.key == InputKeyDown) { - state.us_per_sample = MAX(25, state.us_per_sample - 25); - state.autoscale = false; - } else if(event.key == InputKeyOk) { - state.autoscale = !state.autoscale; - if(state.autoscale) - state_set_autoscale(&state); - else - state.us_per_sample = 200; + if(event.key == InputKeyBack) { + processing = false; + } else if(event.key == InputKeyUp) { + state.us_per_sample = MIN(1000, state.us_per_sample + 25); + state.autoscale = false; + } else if(event.key == InputKeyDown) { + state.us_per_sample = MAX(25, state.us_per_sample - 25); + state.autoscale = false; + } else if(event.key == InputKeyOk) { + state.autoscale = !state.autoscale; + if(state.autoscale) + state_set_autoscale(&state); + else + state.us_per_sample = 200; + } + + furi_mutex_release(state.mutex); } - - view_port_update(view_port); - furi_mutex_release(state.mutex); } + view_port_update(view_port); } // Clean up. diff --git a/applications/external/text_viewer/text_viewer.c b/applications/external/text_viewer/text_viewer.c index 59923adb9..498a8d8f1 100644 --- a/applications/external/text_viewer/text_viewer.c +++ b/applications/external/text_viewer/text_viewer.c @@ -223,56 +223,58 @@ int32_t text_viewer_app(void* p) { text_viewer_read_file(text_viewer); InputEvent input; - while(furi_message_queue_get(text_viewer->input_queue, &input, FuriWaitForever) == - FuriStatusOk) { - if(input.key == InputKeyBack) { - break; - } else if(input.key == InputKeyUp) { - furi_check( - furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); - if(text_viewer->model->file_offset > 0) { - text_viewer->model->file_offset -= TEXT_VIEWER_BYTES_PER_LINE; - if(!text_viewer_read_file(text_viewer)) break; + while(1) { + if(furi_message_queue_get(text_viewer->input_queue, &input, 100) == FuriStatusOk) { + if(input.key == InputKeyBack) { + break; + } else if(input.key == InputKeyUp) { + furi_check( + furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); + if(text_viewer->model->file_offset > 0) { + text_viewer->model->file_offset -= TEXT_VIEWER_BYTES_PER_LINE; + if(!text_viewer_read_file(text_viewer)) break; + } + furi_mutex_release(text_viewer->mutex); + } else if(input.key == InputKeyDown) { + furi_check( + furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); + uint32_t last_byte_on_screen = + text_viewer->model->file_offset + text_viewer->model->file_read_bytes; + + if(text_viewer->model->file_size > last_byte_on_screen) { + text_viewer->model->file_offset += TEXT_VIEWER_BYTES_PER_LINE; + if(!text_viewer_read_file(text_viewer)) break; + } + furi_mutex_release(text_viewer->mutex); + } else if(input.key == InputKeyLeft) { + furi_check( + furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); + text_viewer->model->mode = !text_viewer->model->mode; + furi_mutex_release(text_viewer->mutex); + } else if(input.key == InputKeyRight) { + FuriString* buffer; + buffer = furi_string_alloc(); + furi_string_printf( + buffer, + "File path: %s\nFile size: %lu (0x%lX)", + furi_string_get_cstr(file_path), + text_viewer->model->file_size, + text_viewer->model->file_size); + + DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); + DialogMessage* message = dialog_message_alloc(); + dialog_message_set_header( + message, "Text Viewer v1.1", 16, 2, AlignLeft, AlignTop); + dialog_message_set_icon(message, &I_text_10px, 3, 2); + dialog_message_set_text( + message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); + dialog_message_set_buttons(message, NULL, NULL, "Back"); + dialog_message_show(dialogs, message); + + furi_string_free(buffer); + dialog_message_free(message); + furi_record_close(RECORD_DIALOGS); } - furi_mutex_release(text_viewer->mutex); - } else if(input.key == InputKeyDown) { - furi_check( - furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); - uint32_t last_byte_on_screen = - text_viewer->model->file_offset + text_viewer->model->file_read_bytes; - - if(text_viewer->model->file_size > last_byte_on_screen) { - text_viewer->model->file_offset += TEXT_VIEWER_BYTES_PER_LINE; - if(!text_viewer_read_file(text_viewer)) break; - } - furi_mutex_release(text_viewer->mutex); - } else if(input.key == InputKeyLeft) { - furi_check( - furi_mutex_acquire(text_viewer->mutex, FuriWaitForever) == FuriStatusOk); - text_viewer->model->mode = !text_viewer->model->mode; - furi_mutex_release(text_viewer->mutex); - } else if(input.key == InputKeyRight) { - FuriString* buffer; - buffer = furi_string_alloc(); - furi_string_printf( - buffer, - "File path: %s\nFile size: %lu (0x%lX)", - furi_string_get_cstr(file_path), - text_viewer->model->file_size, - text_viewer->model->file_size); - - DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); - DialogMessage* message = dialog_message_alloc(); - dialog_message_set_header(message, "Text Viewer v1.1", 16, 2, AlignLeft, AlignTop); - dialog_message_set_icon(message, &I_text_10px, 3, 2); - dialog_message_set_text( - message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); - dialog_message_set_buttons(message, NULL, NULL, "Back"); - dialog_message_show(dialogs, message); - - furi_string_free(buffer); - dialog_message_free(message); - furi_record_close(RECORD_DIALOGS); } view_port_update(text_viewer->view_port); } diff --git a/applications/external/totp/totp_app.c b/applications/external/totp/totp_app.c index bdd202067..301100b58 100644 --- a/applications/external/totp/totp_app.c +++ b/applications/external/totp/totp_app.c @@ -207,7 +207,7 @@ int32_t totp_app() { PluginEvent event; bool processing = true; while(processing) { - FuriStatus event_status = furi_message_queue_get(event_queue, &event, FuriWaitForever); + FuriStatus event_status = furi_message_queue_get(event_queue, &event, 100); if(furi_mutex_acquire(plugin_state->mutex, FuriWaitForever) == FuriStatusOk) { if(event_status == FuriStatusOk) {