fix 5 plugins ui update

This commit is contained in:
MX
2023-07-25 00:11:56 +03:00
parent c447dc45f1
commit f1a353d942
5 changed files with 254 additions and 244 deletions

View File

@@ -73,7 +73,8 @@ int32_t i2ctools_app(void* p) {
// Share scanner with sender // Share scanner with sender
i2ctools->sender->scanner = i2ctools->scanner; i2ctools->sender->scanner = i2ctools->scanner;
while(furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk) { while(1) {
if(furi_message_queue_get(event_queue, &event, 100) == FuriStatusOk) {
// Back // Back
if(event.key == InputKeyBack && event.type == InputTypeRelease) { if(event.key == InputKeyBack && event.type == InputTypeRelease) {
if(i2ctools->main_view->current_view == MAIN_VIEW) { if(i2ctools->main_view->current_view == MAIN_VIEW) {
@@ -213,6 +214,7 @@ int32_t i2ctools_app(void* p) {
} }
} }
} }
}
view_port_update(i2ctools->view_port); view_port_update(i2ctools->view_port);
} }
gui_remove_view_port(gui, i2ctools->view_port); gui_remove_view_port(gui, i2ctools->view_port);

View File

@@ -229,19 +229,21 @@ int32_t hex_viewer_app(void* p) {
hex_viewer_read_file(hex_viewer); hex_viewer_read_file(hex_viewer);
InputEvent input; InputEvent input;
while(furi_message_queue_get(hex_viewer->input_queue, &input, FuriWaitForever) == while(1) {
FuriStatusOk) { if(furi_message_queue_get(hex_viewer->input_queue, &input, 100) == FuriStatusOk) {
if(input.key == InputKeyBack) { if(input.key == InputKeyBack) {
break; break;
} else if(input.key == InputKeyUp) { } else if(input.key == InputKeyUp) {
furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); furi_check(
furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
if(hex_viewer->model->file_offset > 0) { if(hex_viewer->model->file_offset > 0) {
hex_viewer->model->file_offset -= HEX_VIEWER_BYTES_PER_LINE; hex_viewer->model->file_offset -= HEX_VIEWER_BYTES_PER_LINE;
if(!hex_viewer_read_file(hex_viewer)) break; if(!hex_viewer_read_file(hex_viewer)) break;
} }
furi_mutex_release(hex_viewer->mutex); furi_mutex_release(hex_viewer->mutex);
} else if(input.key == InputKeyDown) { } else if(input.key == InputKeyDown) {
furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); furi_check(
furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
uint32_t last_byte_on_screen = uint32_t last_byte_on_screen =
hex_viewer->model->file_offset + hex_viewer->model->file_read_bytes; hex_viewer->model->file_offset + hex_viewer->model->file_read_bytes;
@@ -251,7 +253,8 @@ int32_t hex_viewer_app(void* p) {
} }
furi_mutex_release(hex_viewer->mutex); furi_mutex_release(hex_viewer->mutex);
} else if(input.key == InputKeyLeft) { } else if(input.key == InputKeyLeft) {
furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk); furi_check(
furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
hex_viewer->model->mode = !hex_viewer->model->mode; hex_viewer->model->mode = !hex_viewer->model->mode;
furi_mutex_release(hex_viewer->mutex); furi_mutex_release(hex_viewer->mutex);
} else if(input.key == InputKeyRight) { } else if(input.key == InputKeyRight) {
@@ -266,7 +269,8 @@ int32_t hex_viewer_app(void* p) {
DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);
DialogMessage* message = dialog_message_alloc(); DialogMessage* message = dialog_message_alloc();
dialog_message_set_header(message, "Hex Viewer v1.1", 16, 2, AlignLeft, AlignTop); 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_icon(message, &I_hex_10px, 3, 2);
dialog_message_set_text( dialog_message_set_text(
message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop);
@@ -277,6 +281,7 @@ int32_t hex_viewer_app(void* p) {
dialog_message_free(message); dialog_message_free(message);
furi_record_close(RECORD_DIALOGS); furi_record_close(RECORD_DIALOGS);
} }
}
view_port_update(hex_viewer->view_port); view_port_update(hex_viewer->view_port);
} }

View File

@@ -140,8 +140,8 @@ int32_t ir_scope_app(void* p) {
InputEvent event; InputEvent event;
bool processing = true; bool processing = true;
while(processing && while(processing) {
furi_message_queue_get(event_queue, &event, FuriWaitForever) == FuriStatusOk) { if(furi_message_queue_get(event_queue, &event, 100) == FuriStatusOk) {
if(event.type == InputTypeRelease) { if(event.type == InputTypeRelease) {
furi_mutex_acquire(state.mutex, FuriWaitForever); furi_mutex_acquire(state.mutex, FuriWaitForever);
@@ -161,10 +161,11 @@ int32_t ir_scope_app(void* p) {
state.us_per_sample = 200; state.us_per_sample = 200;
} }
view_port_update(view_port);
furi_mutex_release(state.mutex); furi_mutex_release(state.mutex);
} }
} }
view_port_update(view_port);
}
// Clean up. // Clean up.
infrared_worker_rx_stop(worker); infrared_worker_rx_stop(worker);

View File

@@ -223,8 +223,8 @@ int32_t text_viewer_app(void* p) {
text_viewer_read_file(text_viewer); text_viewer_read_file(text_viewer);
InputEvent input; InputEvent input;
while(furi_message_queue_get(text_viewer->input_queue, &input, FuriWaitForever) == while(1) {
FuriStatusOk) { if(furi_message_queue_get(text_viewer->input_queue, &input, 100) == FuriStatusOk) {
if(input.key == InputKeyBack) { if(input.key == InputKeyBack) {
break; break;
} else if(input.key == InputKeyUp) { } else if(input.key == InputKeyUp) {
@@ -263,7 +263,8 @@ int32_t text_viewer_app(void* p) {
DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS); DialogsApp* dialogs = furi_record_open(RECORD_DIALOGS);
DialogMessage* message = dialog_message_alloc(); DialogMessage* message = dialog_message_alloc();
dialog_message_set_header(message, "Text Viewer v1.1", 16, 2, AlignLeft, AlignTop); 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_icon(message, &I_text_10px, 3, 2);
dialog_message_set_text( dialog_message_set_text(
message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop); message, furi_string_get_cstr(buffer), 3, 16, AlignLeft, AlignTop);
@@ -274,6 +275,7 @@ int32_t text_viewer_app(void* p) {
dialog_message_free(message); dialog_message_free(message);
furi_record_close(RECORD_DIALOGS); furi_record_close(RECORD_DIALOGS);
} }
}
view_port_update(text_viewer->view_port); view_port_update(text_viewer->view_port);
} }
} while(false); } while(false);

View File

@@ -207,7 +207,7 @@ int32_t totp_app() {
PluginEvent event; PluginEvent event;
bool processing = true; bool processing = true;
while(processing) { 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(furi_mutex_acquire(plugin_state->mutex, FuriWaitForever) == FuriStatusOk) {
if(event_status == FuriStatusOk) { if(event_status == FuriStatusOk) {