1
mirror of https://github.com/flipperdevices/flipperzero-firmware.git synced 2025-12-12 20:59:50 +04:00

[FL-1849] NFC and iButton gui fixes (#943)

* nfc: fix spaces between lines in delete and info scenes
* gui widget: add extern c
* ibutton: rework gui in info and delete scenes
* Loader, Desktop: fix debug apps and plugins start from cli, fix deadlock in archive

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
gornekich
2022-01-03 03:01:54 +03:00
committed by GitHub
parent 7e2f0fcc22
commit c98e54da10
12 changed files with 99 additions and 93 deletions

14
applications/ibutton/ibutton-view-manager.cpp Normal file → Executable file
View File

@@ -38,6 +38,12 @@ iButtonAppViewManager::iButtonAppViewManager() {
static_cast<uint32_t>(iButtonAppViewManager::Type::iButtonAppViewPopup),
popup_get_view(popup));
widget = widget_alloc();
view_dispatcher_add_view(
view_dispatcher,
static_cast<uint32_t>(iButtonAppViewManager::Type::iButtonAppViewWidget),
widget_get_view(widget));
gui = static_cast<Gui*>(furi_record_open("gui"));
view_dispatcher_attach_to_gui(view_dispatcher, gui, ViewDispatcherTypeFullscreen);
@@ -47,6 +53,7 @@ iButtonAppViewManager::iButtonAppViewManager() {
view_set_previous_callback(text_input_get_view(text_input), callback);
view_set_previous_callback(byte_input_get_view(byte_input), callback);
view_set_previous_callback(popup_get_view(popup), callback);
view_set_previous_callback(widget_get_view(widget), callback);
}
iButtonAppViewManager::~iButtonAppViewManager() {
@@ -65,6 +72,8 @@ iButtonAppViewManager::~iButtonAppViewManager() {
view_dispatcher_remove_view(
view_dispatcher,
static_cast<uint32_t>(iButtonAppViewManager::Type::iButtonAppViewByteInput));
view_dispatcher_remove_view(
view_dispatcher, static_cast<uint32_t>(iButtonAppViewManager::Type::iButtonAppViewWidget));
// free view modules
popup_free(popup);
@@ -72,6 +81,7 @@ iButtonAppViewManager::~iButtonAppViewManager() {
byte_input_free(byte_input);
submenu_free(submenu);
dialog_ex_free(dialog_ex);
widget_free(widget);
// free dispatcher
view_dispatcher_free(view_dispatcher);
@@ -104,6 +114,10 @@ ByteInput* iButtonAppViewManager::get_byte_input() {
return byte_input;
}
Widget* iButtonAppViewManager::get_widget() {
return widget;
}
void iButtonAppViewManager::receive_event(iButtonEvent* event) {
if(osMessageQueueGet(event_queue, event, NULL, 100) != osOK) {
event->type = iButtonEvent::Type::EventTypeTick;