From 9c3f465afdd40fcd576bc4372fef17c5865625b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=82=E3=81=8F?= Date: Thu, 19 May 2022 19:07:45 +0300 Subject: [PATCH] [FL-2537, FL-2539, FL-2534, FL-2534, FL-2525]: UI and UX improvements (#1246) * FL-2537: ON/OFF buttons * FL-2539: cancelable lowbatt shutdown * FL-2534: update storage format results screen, cleanup dialog_ex usage. * FL-2534: storage setting UX rework * FL-2525: unify arrows icons * Remove unused icons * UI: Rename Ok to OK --- applications/bt/bt_service/bt.c | 2 +- .../desktop/views/desktop_view_locked.c | 4 +- applications/gpio/scenes/gpio_scene_start.c | 4 +- .../scenes/ibutton_scene_read_crc_error.c | 6 +- .../scenes/ibutton_scene_read_not_key_error.c | 6 +- .../scenes/ibutton_scene_read_success.c | 7 +-- .../infrared/view/infrared_progress_view.c | 2 +- applications/power/power_service/power.c | 20 ++++++- .../power/power_service/views/power_off.c | 56 ++++++++++++++++-- .../power/power_service/views/power_off.h | 9 +++ .../scenes/storage_settings_scene_benchmark.c | 8 +-- .../storage_settings_scene_factory_reset.c | 13 ++-- .../storage_settings_scene_format_confirm.c | 8 +-- .../storage_settings_scene_formatting.c | 24 +++----- .../storage_settings_scene_internal_info.c | 9 +-- .../scenes/storage_settings_scene_sd_info.c | 9 +-- ... storage_settings_scene_unmount_confirm.c} | 17 +++--- ...d.c => storage_settings_scene_unmounted.c} | 15 ++--- .../subghz/scenes/subghz_scene_show_error.c | 2 +- applications/system/system_settings.c | 4 +- assets/compiled/assets_icons.c | 32 ---------- assets/compiled/assets_icons.h | 8 --- assets/icons/Dolphin/Flipper_young_80x60.png | Bin 643 -> 0 bytes assets/icons/Infrared/Back_15x10.png | Bin 3600 -> 0 bytes assets/icons/Infrared/Fill-marker_7x7.png | Bin 3595 -> 0 bytes assets/icons/Interface/Back3_45x8.png | Bin 3630 -> 0 bytes assets/icons/SDCard/SDError_43x35.png | Bin 1873 -> 0 bytes assets/icons/StatusBar/USBConnected_15x8.png | Bin 85 -> 0 bytes assets/icons/iButton/DolphinExcited_64x63.png | Bin 2304 -> 0 bytes .../iButton/iButtonDolphinSuccess_109x60.png | Bin 2178 -> 0 bytes .../targets/f7/furi_hal/furi_hal_resources.c | 2 +- 31 files changed, 122 insertions(+), 145 deletions(-) mode change 100755 => 100644 applications/power/power_service/views/power_off.c rename applications/storage_settings/scenes/{storage_settings_scene_eject_confirm.c => storage_settings_scene_unmount_confirm.c} (82%) rename applications/storage_settings/scenes/{storage_settings_scene_ejected.c => storage_settings_scene_unmounted.c} (76%) delete mode 100644 assets/icons/Dolphin/Flipper_young_80x60.png delete mode 100644 assets/icons/Infrared/Back_15x10.png delete mode 100644 assets/icons/Infrared/Fill-marker_7x7.png delete mode 100644 assets/icons/Interface/Back3_45x8.png delete mode 100644 assets/icons/SDCard/SDError_43x35.png delete mode 100644 assets/icons/StatusBar/USBConnected_15x8.png delete mode 100644 assets/icons/iButton/DolphinExcited_64x63.png delete mode 100644 assets/icons/iButton/iButtonDolphinSuccess_109x60.png diff --git a/applications/bt/bt_service/bt.c b/applications/bt/bt_service/bt.c index 111ebcb2..4a7b6f65 100755 --- a/applications/bt/bt_service/bt.c +++ b/applications/bt/bt_service/bt.c @@ -80,7 +80,7 @@ static bool bt_pin_code_verify_event_handler(Bt* bt, uint32_t pin) { string_init_printf(pin_str, "Verify code\n%06d", pin); dialog_message_set_text( bt->dialog_message, string_get_cstr(pin_str), 64, 4, AlignCenter, AlignTop); - dialog_message_set_buttons(bt->dialog_message, "Cancel", "Ok", NULL); + dialog_message_set_buttons(bt->dialog_message, "Cancel", "OK", NULL); DialogMessageButton button = dialog_message_show(bt->dialogs, bt->dialog_message); string_clear(pin_str); return button == DialogMessageButtonCenter; diff --git a/applications/desktop/views/desktop_view_locked.c b/applications/desktop/views/desktop_view_locked.c index 9f39c2ce..4b544988 100644 --- a/applications/desktop/views/desktop_view_locked.c +++ b/applications/desktop/views/desktop_view_locked.c @@ -125,7 +125,9 @@ static void desktop_view_locked_draw(Canvas* canvas, void* model) { canvas_set_font(canvas, FontSecondary); elements_bold_rounded_frame(canvas, 14, 2 + STATUS_BAR_Y_SHIFT, 99, 48); elements_multiline_text(canvas, 65, 20 + STATUS_BAR_Y_SHIFT, "To unlock\npress:"); - canvas_draw_icon(canvas, 65, 36 + STATUS_BAR_Y_SHIFT, &I_Back3_45x8); + canvas_draw_icon(canvas, 65, 36 + STATUS_BAR_Y_SHIFT, &I_Pin_back_arrow_10x8); + canvas_draw_icon(canvas, 80, 36 + STATUS_BAR_Y_SHIFT, &I_Pin_back_arrow_10x8); + canvas_draw_icon(canvas, 95, 36 + STATUS_BAR_Y_SHIFT, &I_Pin_back_arrow_10x8); canvas_draw_icon(canvas, 16, 7 + STATUS_BAR_Y_SHIFT, &I_WarningDolphin_45x42); canvas_draw_dot(canvas, 17, 61); } else if(view_state == DesktopViewLockedStateUnlockedHintShown) { diff --git a/applications/gpio/scenes/gpio_scene_start.c b/applications/gpio/scenes/gpio_scene_start.c index 4257ec39..4df74114 100644 --- a/applications/gpio/scenes/gpio_scene_start.c +++ b/applications/gpio/scenes/gpio_scene_start.c @@ -15,8 +15,8 @@ enum GpioOtg { }; const char* const gpio_otg_text[GpioOtgSettingsNum] = { - "Off", - "On", + "OFF", + "ON", }; static void gpio_scene_start_var_list_enter_callback(void* context, uint32_t index) { diff --git a/applications/ibutton/scenes/ibutton_scene_read_crc_error.c b/applications/ibutton/scenes/ibutton_scene_read_crc_error.c index 4df96d64..28d59d2d 100644 --- a/applications/ibutton/scenes/ibutton_scene_read_crc_error.c +++ b/applications/ibutton/scenes/ibutton_scene_read_crc_error.c @@ -61,11 +61,7 @@ void ibutton_scene_read_crc_error_on_exit(void* context) { ibutton_text_store_clear(ibutton); - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); ibutton_notification_message(ibutton, iButtonNotificationMessageRedOff); } diff --git a/applications/ibutton/scenes/ibutton_scene_read_not_key_error.c b/applications/ibutton/scenes/ibutton_scene_read_not_key_error.c index 76f14dae..45fbefe8 100644 --- a/applications/ibutton/scenes/ibutton_scene_read_not_key_error.c +++ b/applications/ibutton/scenes/ibutton_scene_read_not_key_error.c @@ -62,11 +62,7 @@ void ibutton_scene_read_not_key_error_on_exit(void* context) { ibutton_text_store_clear(ibutton); - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); ibutton_notification_message(ibutton, iButtonNotificationMessageRedOff); } diff --git a/applications/ibutton/scenes/ibutton_scene_read_success.c b/applications/ibutton/scenes/ibutton_scene_read_success.c index c3a13478..1c2bcdd2 100644 --- a/applications/ibutton/scenes/ibutton_scene_read_success.c +++ b/applications/ibutton/scenes/ibutton_scene_read_success.c @@ -76,12 +76,7 @@ void ibutton_scene_read_success_on_exit(void* context) { ibutton_text_store_clear(ibutton); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); + dialog_ex_reset(dialog_ex); ibutton_notification_message(ibutton, iButtonNotificationMessageGreenOff); } diff --git a/applications/infrared/view/infrared_progress_view.c b/applications/infrared/view/infrared_progress_view.c index c9075147..cd2a0754 100644 --- a/applications/infrared/view/infrared_progress_view.c +++ b/applications/infrared/view/infrared_progress_view.c @@ -59,7 +59,7 @@ static void infrared_progress_view_draw_callback(Canvas* canvas, void* _model) { elements_multiline_text_aligned( canvas, x + 33, y + 37, AlignCenter, AlignCenter, percents_string); - canvas_draw_icon(canvas, x + 11, y + height - 15, &I_Back_15x10); + canvas_draw_icon(canvas, x + 14, y + height - 14, &I_Pin_back_arrow_10x8); canvas_draw_str(canvas, x + 30, y + height - 6, "= stop"); } diff --git a/applications/power/power_service/power.c b/applications/power/power_service/power.c index ac1856e7..1315809e 100644 --- a/applications/power/power_service/power.c +++ b/applications/power/power_service/power.c @@ -168,10 +168,24 @@ static void power_check_low_battery(Power* power) { } // If battery low, update view and switch off power after timeout if(power->battery_low) { - if(power->power_off_timeout) { - power_off_set_time_left(power->power_off, power->power_off_timeout--); - } else { + PowerOffResponse response = power_off_get_response(power->power_off); + if(response == PowerOffResponseDefault) { + if(power->power_off_timeout) { + power_off_set_time_left(power->power_off, power->power_off_timeout--); + } else { + power_off(power); + } + } else if(response == PowerOffResponseOk) { power_off(power); + } else if(response == PowerOffResponseHide) { + view_dispatcher_switch_to_view(power->view_dispatcher, VIEW_NONE); + if(power->power_off_timeout) { + power_off_set_time_left(power->power_off, power->power_off_timeout--); + } else { + power_off(power); + } + } else if(response == PowerOffResponseCancel) { + view_dispatcher_switch_to_view(power->view_dispatcher, VIEW_NONE); } } } diff --git a/applications/power/power_service/views/power_off.c b/applications/power/power_service/views/power_off.c old mode 100755 new mode 100644 index 46344b9b..398ebe4a --- a/applications/power/power_service/views/power_off.c +++ b/applications/power/power_service/views/power_off.c @@ -7,6 +7,7 @@ struct PowerOff { }; typedef struct { + PowerOffResponse response; uint32_t time_left_sec; } PowerOffModel; @@ -21,18 +22,54 @@ static void power_off_draw_callback(Canvas* canvas, void* _model) { canvas_draw_icon(canvas, 0, 18, &I_BatteryBody_52x28); canvas_draw_icon(canvas, 16, 25, &I_FaceNopower_29x14); elements_bubble(canvas, 54, 17, 70, 30); + canvas_set_font(canvas, FontSecondary); - elements_multiline_text_aligned( - canvas, 70, 23, AlignLeft, AlignTop, "Connect me\n to charger."); - snprintf(buff, sizeof(buff), "Poweroff in %lds.", model->time_left_sec); - canvas_draw_str_aligned(canvas, 64, 60, AlignCenter, AlignBottom, buff); + if(model->response == PowerOffResponseDefault) { + snprintf(buff, sizeof(buff), "Charge me!\nOff in %lds!", model->time_left_sec); + elements_multiline_text_aligned(canvas, 70, 23, AlignLeft, AlignTop, buff); + + elements_button_left(canvas, "Cancel"); + elements_button_center(canvas, "OK"); + elements_button_right(canvas, "Hide"); + } else { + snprintf(buff, sizeof(buff), "Charge me!\nDont't forget!"); + elements_multiline_text_aligned(canvas, 70, 23, AlignLeft, AlignTop, buff); + + canvas_draw_str_aligned(canvas, 64, 60, AlignCenter, AlignBottom, "Hold a second..."); + } +} + +static bool power_off_input_callback(InputEvent* event, void* context) { + PowerOff* power_off = context; + + bool consumed = false; + PowerOffModel* model = view_get_model(power_off->view); + if(model->response == PowerOffResponseDefault && event->type == InputTypeShort) { + if(event->key == InputKeyOk) { + model->response = PowerOffResponseOk; + consumed = true; + } else if(event->key == InputKeyLeft) { + model->response = PowerOffResponseCancel; + consumed = true; + } else if(event->key == InputKeyRight) { + model->response = PowerOffResponseHide; + consumed = true; + } + } + view_commit_model(power_off->view, consumed); + + return true; } PowerOff* power_off_alloc() { PowerOff* power_off = malloc(sizeof(PowerOff)); + power_off->view = view_alloc(); view_allocate_model(power_off->view, ViewModelTypeLocking, sizeof(PowerOffModel)); + view_set_context(power_off->view, power_off); view_set_draw_callback(power_off->view, power_off_draw_callback); + view_set_input_callback(power_off->view, power_off_input_callback); + return power_off; } @@ -55,3 +92,14 @@ void power_off_set_time_left(PowerOff* power_off, uint8_t time_left) { return true; }); } + +PowerOffResponse power_off_get_response(PowerOff* power_off) { + furi_assert(power_off); + PowerOffResponse response; + with_view_model( + power_off->view, (PowerOffModel * model) { + response = model->response; + return false; + }); + return response; +} diff --git a/applications/power/power_service/views/power_off.h b/applications/power/power_service/views/power_off.h index 2e2e91f7..5137c2e9 100644 --- a/applications/power/power_service/views/power_off.h +++ b/applications/power/power_service/views/power_off.h @@ -2,6 +2,13 @@ typedef struct PowerOff PowerOff; +typedef enum { + PowerOffResponseDefault, + PowerOffResponseOk, + PowerOffResponseCancel, + PowerOffResponseHide, +} PowerOffResponse; + #include PowerOff* power_off_alloc(); @@ -11,3 +18,5 @@ void power_off_free(PowerOff* power_off); View* power_off_get_view(PowerOff* power_off); void power_off_set_time_left(PowerOff* power_off, uint8_t time_left); + +PowerOffResponse power_off_get_response(PowerOff* power_off); diff --git a/applications/storage_settings/scenes/storage_settings_scene_benchmark.c b/applications/storage_settings/scenes/storage_settings_scene_benchmark.c index e7cfd826..45fbce8f 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_benchmark.c +++ b/applications/storage_settings/scenes/storage_settings_scene_benchmark.c @@ -151,13 +151,7 @@ void storage_settings_scene_benchmark_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); string_reset(app->text_string); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_factory_reset.c b/applications/storage_settings/scenes/storage_settings_scene_factory_reset.c index 78a8363a..84119422 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_factory_reset.c +++ b/applications/storage_settings/scenes/storage_settings_scene_factory_reset.c @@ -18,7 +18,7 @@ void storage_settings_scene_factory_reset_on_enter(void* context) { dialog_ex_set_context(dialog_ex, app); dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_factory_reset_dialog_callback); - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_left_button_text(dialog_ex, "Cancel"); dialog_ex_set_right_button_text(dialog_ex, "Erase"); dialog_ex_set_header(dialog_ex, "Confirm Factory Reset", 64, 10, AlignCenter, AlignCenter); @@ -70,7 +70,10 @@ bool storage_settings_scene_factory_reset_on_event(void* context, SceneManagerEv consumed = true; break; } + } else if(event.type == SceneManagerEventTypeBack) { + consumed = true; } + return consumed; } @@ -78,13 +81,7 @@ void storage_settings_scene_factory_reset_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); string_reset(app->text_string); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_format_confirm.c b/applications/storage_settings/scenes/storage_settings_scene_format_confirm.c index a80215bc..db040d6e 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_format_confirm.c +++ b/applications/storage_settings/scenes/storage_settings_scene_format_confirm.c @@ -57,11 +57,5 @@ void storage_settings_scene_format_confirm_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_formatting.c b/applications/storage_settings/scenes/storage_settings_scene_formatting.c index 143bda95..2cbf97ee 100755 --- a/applications/storage_settings/scenes/storage_settings_scene_formatting.c +++ b/applications/storage_settings/scenes/storage_settings_scene_formatting.c @@ -39,18 +39,17 @@ void storage_settings_scene_formatting_on_enter(void* context) { notification_message(app->notification, &sequence_reset_formatting_leds); notification_message(app->notification, &sequence_blink_green_100); + dialog_ex_set_context(dialog_ex, app); + dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_formatting_dialog_callback); + if(error != FSE_OK) { dialog_ex_set_header(dialog_ex, "Cannot format SD Card", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text( dialog_ex, storage_error_get_desc(error), 64, 32, AlignCenter, AlignCenter); } else { - dialog_ex_set_header(dialog_ex, "SD card formatted", 64, 10, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, "Press back to return", 64, 32, AlignCenter, AlignCenter); + dialog_ex_set_header(dialog_ex, "Format complete!", 64, 32, AlignCenter, AlignCenter); } - - dialog_ex_set_context(dialog_ex, app); - dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_formatting_dialog_callback); - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_center_button_text(dialog_ex, "OK"); } bool storage_settings_scene_formatting_on_event(void* context, SceneManagerEvent event) { @@ -59,14 +58,13 @@ bool storage_settings_scene_formatting_on_event(void* context, SceneManagerEvent if(event.type == SceneManagerEventTypeCustom) { switch(event.event) { - case DialogExResultLeft: + case DialogExResultCenter: consumed = scene_manager_search_and_switch_to_previous_scene( app->scene_manager, StorageSettingsStart); break; } } else if(event.type == SceneManagerEventTypeBack) { - consumed = scene_manager_search_and_switch_to_previous_scene( - app->scene_manager, StorageSettingsStart); + consumed = true; } return consumed; @@ -76,11 +74,5 @@ void storage_settings_scene_formatting_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_internal_info.c b/applications/storage_settings/scenes/storage_settings_scene_internal_info.c index 971695b6..53f791bd 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_internal_info.c +++ b/applications/storage_settings/scenes/storage_settings_scene_internal_info.c @@ -18,7 +18,6 @@ void storage_settings_scene_internal_info_on_enter(void* context) { dialog_ex_set_context(dialog_ex, app); dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_internal_info_dialog_callback); - dialog_ex_set_left_button_text(dialog_ex, "Back"); if(error != FSE_OK) { dialog_ex_set_header( dialog_ex, "Internal storage error", 64, 10, AlignCenter, AlignCenter); @@ -56,13 +55,7 @@ void storage_settings_scene_internal_info_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); string_reset(app->text_string); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_sd_info.c b/applications/storage_settings/scenes/storage_settings_scene_sd_info.c index 297041a5..b64caeb2 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_sd_info.c +++ b/applications/storage_settings/scenes/storage_settings_scene_sd_info.c @@ -15,7 +15,6 @@ void storage_settings_scene_sd_info_on_enter(void* context) { dialog_ex_set_context(dialog_ex, app); dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_sd_info_dialog_callback); - dialog_ex_set_left_button_text(dialog_ex, "Back"); if(sd_status != FSE_OK) { dialog_ex_set_header(dialog_ex, "SD card not mounted", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text( @@ -62,13 +61,7 @@ void storage_settings_scene_sd_info_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); string_reset(app->text_string); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_eject_confirm.c b/applications/storage_settings/scenes/storage_settings_scene_unmount_confirm.c similarity index 82% rename from applications/storage_settings/scenes/storage_settings_scene_eject_confirm.c rename to applications/storage_settings/scenes/storage_settings_scene_unmount_confirm.c index 8fc6c871..f9499322 100644 --- a/applications/storage_settings/scenes/storage_settings_scene_eject_confirm.c +++ b/applications/storage_settings/scenes/storage_settings_scene_unmount_confirm.c @@ -11,9 +11,9 @@ void storage_settings_scene_unmount_confirm_on_enter(void* context) { StorageSettings* app = context; FS_Error sd_status = storage_sd_status(app->fs_api); DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_left_button_text(dialog_ex, "Back"); if(sd_status == FSE_NOT_READY) { + dialog_ex_set_center_button_text(dialog_ex, "OK"); dialog_ex_set_header(dialog_ex, "SD card not mounted", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text( dialog_ex, @@ -23,6 +23,7 @@ void storage_settings_scene_unmount_confirm_on_enter(void* context) { AlignCenter, AlignCenter); } else { + dialog_ex_set_left_button_text(dialog_ex, "Cancel"); dialog_ex_set_right_button_text(dialog_ex, "Unmount"); dialog_ex_set_header(dialog_ex, "Unmount SD card?", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text( @@ -42,6 +43,9 @@ bool storage_settings_scene_unmount_confirm_on_event(void* context, SceneManager if(event.type == SceneManagerEventTypeCustom) { switch(event.event) { + case DialogExResultCenter: + consumed = scene_manager_previous_scene(app->scene_manager); + break; case DialogExResultLeft: consumed = scene_manager_previous_scene(app->scene_manager); break; @@ -50,7 +54,10 @@ bool storage_settings_scene_unmount_confirm_on_event(void* context, SceneManager consumed = true; break; } + } else if(event.type == SceneManagerEventTypeBack) { + consumed = true; } + return consumed; } @@ -58,11 +65,5 @@ void storage_settings_scene_unmount_confirm_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); } diff --git a/applications/storage_settings/scenes/storage_settings_scene_ejected.c b/applications/storage_settings/scenes/storage_settings_scene_unmounted.c similarity index 76% rename from applications/storage_settings/scenes/storage_settings_scene_ejected.c rename to applications/storage_settings/scenes/storage_settings_scene_unmounted.c index 08208f87..ddd70d05 100755 --- a/applications/storage_settings/scenes/storage_settings_scene_ejected.c +++ b/applications/storage_settings/scenes/storage_settings_scene_unmounted.c @@ -12,7 +12,7 @@ void storage_settings_scene_unmounted_on_enter(void* context) { FS_Error error = storage_sd_unmount(app->fs_api); DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_center_button_text(dialog_ex, "OK"); if(error == FSE_OK) { dialog_ex_set_header(dialog_ex, "SD card unmounted", 64, 10, AlignCenter, AlignCenter); @@ -39,14 +39,13 @@ bool storage_settings_scene_unmounted_on_event(void* context, SceneManagerEvent if(event.type == SceneManagerEventTypeCustom) { switch(event.event) { - case DialogExResultLeft: + case DialogExResultCenter: consumed = scene_manager_search_and_switch_to_previous_scene( app->scene_manager, StorageSettingsStart); break; } } else if(event.type == SceneManagerEventTypeBack) { - consumed = scene_manager_search_and_switch_to_previous_scene( - app->scene_manager, StorageSettingsStart); + consumed = true; } return consumed; @@ -56,11 +55,5 @@ void storage_settings_scene_unmounted_on_exit(void* context) { StorageSettings* app = context; DialogEx* dialog_ex = app->dialog_ex; - dialog_ex_set_header(dialog_ex, NULL, 0, 0, AlignCenter, AlignCenter); - dialog_ex_set_text(dialog_ex, NULL, 0, 0, AlignCenter, AlignTop); - dialog_ex_set_icon(dialog_ex, 0, 0, NULL); - dialog_ex_set_left_button_text(dialog_ex, NULL); - dialog_ex_set_right_button_text(dialog_ex, NULL); - dialog_ex_set_result_callback(dialog_ex, NULL); - dialog_ex_set_context(dialog_ex, NULL); + dialog_ex_reset(dialog_ex); } diff --git a/applications/subghz/scenes/subghz_scene_show_error.c b/applications/subghz/scenes/subghz_scene_show_error.c index 2998bf8e..5632a859 100644 --- a/applications/subghz/scenes/subghz_scene_show_error.c +++ b/applications/subghz/scenes/subghz_scene_show_error.c @@ -37,7 +37,7 @@ void subghz_scene_show_error_on_enter(void* context) { if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneShowError) == SubGhzCustomEventManagerSet) { widget_add_button_element( - subghz->widget, GuiButtonTypeRight, "Ok", subghz_scene_show_error_callback, subghz); + subghz->widget, GuiButtonTypeRight, "OK", subghz_scene_show_error_callback, subghz); } else { notification_message(subghz->notifications, &subghs_sequence_sd_error); } diff --git a/applications/system/system_settings.c b/applications/system/system_settings.c index 97017c8d..7bbcdd7b 100644 --- a/applications/system/system_settings.c +++ b/applications/system/system_settings.c @@ -30,8 +30,8 @@ static void log_level_changed(VariableItem* item) { } const char* const debug_text[] = { - "Disable", - "Enable", + "OFF", + "ON", }; static void debug_changed(VariableItem* item) { diff --git a/assets/compiled/assets_icons.c b/assets/compiled/assets_icons.c index 709fab45..9046dddd 100644 --- a/assets/compiled/assets_icons.c +++ b/assets/compiled/assets_icons.c @@ -190,9 +190,6 @@ const uint8_t* const _I_DolphinFirstStart8_56x51[] = {_I_DolphinFirstStart8_56x5 const uint8_t _I_DolphinOkay_41x43_0[] = {0x01,0x00,0xa0,0x00,0x00,0x0f,0x82,0x3e,0x05,0x38,0xf7,0x80,0x08,0x58,0x08,0x0c,0x02,0x0e,0x05,0x1b,0x00,0x08,0x63,0x00,0x21,0x88,0x00,0x86,0x40,0x02,0x18,0x40,0x08,0x68,0x00,0x21,0x82,0x06,0x88,0x0a,0xf0,0x21,0x39,0x09,0x84,0x02,0x20,0x57,0x09,0x98,0x15,0x67,0xc0,0x54,0xbe,0x81,0x4f,0x01,0xfe,0x02,0x9d,0x03,0xc4,0x20,0x10,0x29,0x7c,0x80,0xa9,0xfe,0x02,0xac,0x14,0x0a,0x77,0xc8,0x58,0x8c,0xf0,0x11,0x51,0x79,0xff,0x61,0x44,0x93,0x81,0x02,0xc4,0x9e,0x60,0xb2,0xf0,0xa0,0x46,0x0c,0x17,0x14,0x99,0x1a,0x07,0x80,0x59,0x49,0x82,0x21,0xc0,0xa4,0x82,0x24,0xb9,0x20,0x88,0x1c,0x47,0xc2,0x07,0x11,0x54,0xa0,0x60,0x53,0xb8,0x0a,0x4b,0xf3,0x03,0x87,0x81,0x4a,0x0d,0xfc,0x1a,0x98,0x68,0xb8,0x01,0x51,0x13,0x15,0xe0,0x82,0x7f,0x8d,0x78,0x38,0xbf,0xff,0xfa,0xb8,0x60,0xbf,0x1b,0xf9,0x50,0x14,0xea,0xe7,0x02,0x02,0x8e,0xac,0x94,0x40,}; const uint8_t* const _I_DolphinOkay_41x43[] = {_I_DolphinOkay_41x43_0}; -const uint8_t _I_Flipper_young_80x60_0[] = {0x01,0x00,0xa3,0x01,0x00,0x1e,0x03,0xff,0xff,0x87,0x82,0x57,0xf1,0x83,0x90,0xde,0x01,0x2b,0x0e,0x83,0x70,0xfb,0x10,0x10,0x41,0xf8,0x27,0x70,0xcc,0x34,0xc6,0x0e,0x09,0x3e,0x04,0x86,0x21,0x0c,0x90,0xc3,0x03,0xa9,0xe7,0xb0,0x46,0x2c,0x51,0x40,0x4a,0x63,0x38,0x31,0x0a,0x34,0x90,0x12,0x91,0x8e,0x3c,0xff,0x89,0x4c,0x04,0xa4,0x43,0xfd,0xf3,0xc3,0xf2,0x01,0x29,0xe0,0x2b,0x8e,0x72,0xa0,0x46,0x4b,0xe0,0x30,0xba,0x10,0x22,0xca,0x1c,0x0b,0x26,0x09,0x3c,0x04,0x0c,0x08,0x59,0xc8,0x21,0x64,0xc4,0x47,0x98,0x82,0x81,0x0a,0xe0,0x21,0x39,0x04,0x34,0x88,0x60,0x93,0xa0,0x45,0x4b,0x06,0xa3,0x40,0x48,0xfc,0x20,0xf0,0x82,0xa2,0x4d,0x60,0x11,0xe9,0xc2,0x19,0x64,0xd0,0x08,0x1f,0x80,0x7e,0x60,0x01,0x92,0x60,0x20,0x38,0x05,0x21,0x7c,0x3f,0xf0,0x1a,0xe6,0x00,0xe6,0x21,0x32,0x1a,0x0c,0x0e,0x91,0x80,0x8f,0xc0,0x06,0x25,0xcc,0xbf,0xc1,0xaa,0x10,0x0b,0xfc,0x02,0x60,0x2e,0x2c,0x04,0x32,0xc1,0x00,0xff,0x40,0x68,0x00,0x91,0x89,0xc0,0x21,0x20,0x51,0xfe,0x41,0xf0,0x00,0x91,0xc4,0xcf,0xe2,0x40,0x51,0xfc,0x0c,0x86,0x07,0x80,0xe2,0xdf,0xda,0x25,0xf0,0x9f,0xc0,0x21,0x98,0x0f,0x27,0xfd,0xa2,0x5e,0x01,0x90,0xc4,0x30,0x1e,0x2f,0xfc,0xa1,0x3a,0x45,0x41,0xb0,0x60,0x3e,0x5e,0x79,0x4a,0x10,0xbf,0xe2,0x61,0xc0,0x82,0x52,0x01,0xff,0x36,0x8e,0x3b,0xe5,0xff,0x04,0x9f,0xf8,0x78,0x3b,0x8f,0x97,0xf8,0x12,0x7f,0xc3,0x78,0xf8,0x3e,0x5f,0xc0,0x49,0xfe,0x08,0xc2,0x17,0x1f,0xcd,0xa5,0xac,0x5f,0x02,0x30,0xc0,0x30,0x5f,0xfd,0x23,0xbc,0xbc,0x1f,0xf0,0xc1,0x5f,0xaa,0x8e,0x52,0x28,0x10,0x10,0x6f,0x1b,0x28,0x57,0x81,0x66,0x25,0x01,0x80,0x4e,0x28,0x15,0x98,0xad,0xc3,0xfd,0xff,0xff,0x91,0x87,0xc1,0x80,0xd4,0xc2,0xb2,0x03,0xb1,0x5b,0x13,0x34,0x6a,0xf1,0x58,0x84,0x0e,0x1d,0x00,0x23,0x14,0x0f,0x55,0x0a,0x88,0x67,0x0d,0x83,0x7c,0x04,0x8c,0x0a,0xa9,0x15,0x90,0x7c,0x07,0x23,0xf8,0x80,0xc1,0xa0,0xda,0x88,0x54,0x82,0x00,0x2f,0x1f,0xe4,0x3c,0x7a,0x35,0x08,0xab,0x20,0x7f,0x03,0xc1,0x2d,0x96,0x82,0x14,0xce,0x20,0x02,0x04,0xc6,0x00,0x60,0x20,0x01,0x84,0xc4,0x6a,0x21,0x36,0x3b,0x8c,0xf0,0x3c,0xc8,0x02,0x1b,0x88,0x01,0xe1,0x80,0x98,0x2d,0x10,0x01,0xb0,0x05,0xa1,0x00,0x3d,0xf8,0x13,0x17,0x81,0x47,0x80,0x0b,0xc0,0x28,0x8e,0x02,0xa4,0x81,0x2c,0xf0,0x20,0x01,0x00,}; -const uint8_t* const _I_Flipper_young_80x60[] = {_I_Flipper_young_80x60_0}; - const uint8_t _I_ArrowDownEmpty_14x15_0[] = {0x01,0x00,0x17,0x00,0xfc,0x41,0xe1,0x10,0x40,0x0c,0xc3,0xe7,0x90,0x19,0x04,0x0a,0x20,0x08,0x10,0x48,0xc4,0x20,0x52,0x08,0x0f,0x02,0x00,}; const uint8_t* const _I_ArrowDownEmpty_14x15[] = {_I_ArrowDownEmpty_14x15_0}; @@ -205,9 +202,6 @@ const uint8_t* const _I_ArrowUpEmpty_14x15[] = {_I_ArrowUpEmpty_14x15_0}; const uint8_t _I_ArrowUpFilled_14x15_0[] = {0x00,0xC0,0x00,0x20,0x01,0xD0,0x02,0xE8,0x05,0xF4,0x0B,0xFA,0x17,0x61,0x21,0xAF,0x3D,0x68,0x05,0xA8,0x05,0x68,0x05,0xA8,0x05,0xE8,0x05,0x08,0x04,0xF8,0x07,}; const uint8_t* const _I_ArrowUpFilled_14x15[] = {_I_ArrowUpFilled_14x15_0}; -const uint8_t _I_Back_15x10_0[] = {0x00,0x04,0x00,0x06,0x00,0xFF,0x0F,0x06,0x10,0x04,0x20,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x10,0xFE,0x0F,}; -const uint8_t* const _I_Back_15x10[] = {_I_Back_15x10_0}; - const uint8_t _I_DolphinReadingSuccess_59x63_0[] = {0x01,0x00,0x19,0x01,0x00,0x1d,0x00,0x0f,0xd2,0x00,0x21,0xe0,0x3f,0xf0,0xf9,0x00,0x40,0xee,0x00,0x11,0x88,0x04,0x0e,0x18,0x11,0x18,0x8c,0x40,0x0e,0x50,0x30,0x10,0xc0,0xa1,0x01,0xe2,0x05,0x14,0x12,0x08,0x33,0x58,0x44,0x08,0x66,0xa1,0xe3,0x01,0x9c,0x83,0x00,0x24,0x11,0x11,0x06,0xc4,0x76,0x20,0x75,0x15,0x99,0x48,0xc0,0xe9,0x0f,0x03,0x95,0xfc,0x86,0x3c,0x09,0x80,0x1c,0x7c,0x00,0x91,0x81,0x48,0x2f,0xc1,0x41,0x8c,0xc0,0x20,0x30,0x1c,0x87,0xfc,0x0e,0x30,0x70,0x70,0x81,0xc7,0xe6,0x07,0x18,0x08,0x1c,0xb9,0x1e,0x38,0x0f,0x02,0x01,0xf0,0x03,0xa0,0xa4,0x7f,0x90,0x30,0x38,0xff,0xe0,0x28,0x21,0xff,0x06,0x44,0x0e,0x46,0xe1,0x01,0x8c,0x03,0x34,0x2f,0x25,0x18,0x80,0xc7,0x2a,0x03,0x2e,0x01,0x3c,0x70,0x12,0xa2,0x39,0x78,0x27,0xe0,0x31,0xea,0x82,0xc4,0x6c,0x31,0xf0,0x78,0xea,0xb0,0x22,0x31,0xfc,0x1a,0xc6,0x01,0x55,0x25,0x88,0xf8,0x4b,0x02,0x1f,0x13,0xe1,0x7f,0x97,0x85,0x15,0x03,0x90,0xf8,0xa0,0x10,0xa1,0xb1,0x0e,0x88,0x00,0x7f,0x0f,0xc0,0x7c,0x57,0x27,0x3c,0xb0,0x7f,0x5f,0xa9,0x1f,0xc0,0x6a,0xc5,0x05,0xc0,0xf0,0x11,0x46,0xac,0x18,0x3f,0xf9,0x54,0x75,0x00,0x73,0x1f,0x0f,0xfe,0xfe,0xc6,0x30,0x01,0xbc,0x48,0x00,0x84,0x82,0x00,0x1b,0x64,0xc0,0x07,0x60,0x03,0xb4,0x70,0x0c,0xbf,0x82,0x31,0x01,0x8d,0x0c,0x40,0x02,0x37,0x08,0x1d,0x74,0x00,0x76,0xa0,0x01,0xdb,0x01,0xfe,0x85,0x8b,0x96,0xaa,0x9b,0x30,0x01,0x6a,0xa3,0x40,0x75,0xaa,0x03,0xdb,0x50,0xbb,0x30,0x01,0x54,0x24,0x25,0xe6,0x51,0x08,0x1f,0x68,0x00,0x7f,0x03,0xf2,0x79,0xc0,0xf4,}; const uint8_t* const _I_DolphinReadingSuccess_59x63[] = {_I_DolphinReadingSuccess_59x63_0}; @@ -217,9 +211,6 @@ const uint8_t* const _I_Down_25x27[] = {_I_Down_25x27_0}; const uint8_t _I_Down_hvr_25x27_0[] = {0x01,0x00,0x3a,0x00,0xfc,0x7f,0xe7,0xf0,0x0f,0xe7,0xfe,0xff,0x00,0xff,0x7f,0xff,0xf0,0x00,0x10,0xff,0xe0,0x20,0x3f,0x01,0x9c,0x3e,0x01,0xe0,0x01,0xa4,0x7e,0x01,0xf0,0x80,0x8b,0x47,0xf1,0x01,0x16,0x8f,0xf0,0x2e,0x23,0x11,0x01,0x88,0x04,0xf0,0x60,0x32,0xe3,0x80,0xcb,0xde,0x37,0xf0,0x1a,0x95,0xcc,0xbe,0x66,0x73,}; const uint8_t* const _I_Down_hvr_25x27[] = {_I_Down_hvr_25x27_0}; -const uint8_t _I_Fill_marker_7x7_0[] = {0x00,0x1C,0x32,0x6F,0x5F,0x7F,0x3E,0x1C,}; -const uint8_t* const _I_Fill_marker_7x7[] = {_I_Fill_marker_7x7_0}; - const uint8_t _I_InfraredArrowDown_4x8_0[] = {0x00,0xFF,0x7E,0x3C,0x18,}; const uint8_t* const _I_InfraredArrowDown_4x8[] = {_I_InfraredArrowDown_4x8_0}; @@ -268,9 +259,6 @@ const uint8_t* const _I_Vol_up_25x27[] = {_I_Vol_up_25x27_0}; const uint8_t _I_Vol_up_hvr_25x27_0[] = {0x01,0x00,0x28,0x00,0xfc,0x7f,0xe7,0xf0,0x0f,0xe7,0xfe,0xff,0x00,0xff,0x7f,0xff,0xf0,0x00,0x10,0xff,0xe0,0x20,0x38,0xf7,0x80,0xfc,0x06,0xa2,0xd1,0xfc,0x00,0xd0,0x2f,0xe0,0x38,0x21,0xd8,0x0c,0x8a,0xe6,0x5f,0x33,0x39,0x80,}; const uint8_t* const _I_Vol_up_hvr_25x27[] = {_I_Vol_up_hvr_25x27_0}; -const uint8_t _I_Back3_45x8_0[] = {0x00,0x04,0x00,0x10,0x00,0x40,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x7F,0x00,0xFC,0x01,0xF0,0x07,0x86,0x20,0x18,0x82,0x60,0x08,0x04,0x71,0x10,0xC4,0x41,0x10,0x00,0x21,0x00,0x84,0x00,0x10,0x80,0x00,0x00,0x02,0x00,0x08,0x7E,0x00,0xF8,0x01,0xE0,0x07,}; -const uint8_t* const _I_Back3_45x8[] = {_I_Back3_45x8_0}; - const uint8_t _I_DoorLeft_70x55_0[] = {0x01,0x00,0x19,0x01,0x00,0x2c,0x32,0x01,0x03,0x04,0x2c,0x18,0x10,0xf0,0x40,0x47,0x82,0x06,0x81,0x03,0xff,0x80,0x08,0x1a,0x20,0x82,0x15,0x28,0x21,0x87,0x82,0x08,0x6f,0xc0,0xb1,0xe6,0x10,0x10,0x8b,0x46,0x20,0x43,0x55,0x8f,0x82,0x10,0x32,0x73,0x0a,0x09,0x89,0x6c,0x1e,0x09,0x00,0x18,0x60,0xf0,0x0c,0x84,0x93,0x82,0x03,0x18,0x0c,0x02,0x1d,0x00,0x90,0x52,0x70,0x50,0x1e,0x00,0x58,0x63,0x90,0x0a,0x06,0x4a,0x09,0x03,0xb0,0x02,0x06,0x70,0x62,0x49,0xf8,0x0c,0x66,0x3f,0xf0,0x41,0x63,0x04,0x43,0x00,0x99,0x60,0x00,0x85,0xc8,0x06,0x14,0xd0,0x80,0x3f,0xc8,0x0d,0xb8,0x10,0x70,0xf8,0x34,0x13,0x03,0x39,0x04,0x1c,0x42,0x19,0xf8,0xa0,0xc2,0x01,0x07,0xef,0x02,0x8c,0x80,0x10,0x9d,0x00,0x43,0xec,0x00,0xa3,0x10,0x04,0x25,0xce,0x19,0xfc,0x88,0x82,0x12,0x0c,0x35,0x10,0x42,0x4c,0xa1,0x90,0x3f,0xc0,0x21,0x22,0x39,0x82,0xc8,0x88,0xd2,0x11,0xf0,0x01,0x88,0xd5,0x18,0xe2,0x08,0x68,0x10,0x0c,0xa8,0x00,0x83,0x81,0xcc,0xd5,0xc3,0x80,0x84,0x82,0x0e,0xcc,0xc0,0x15,0x79,0x02,0x0b,0x98,0xf8,0x11,0x88,0x82,0x0f,0x31,0x19,0x02,0x08,0x2c,0x9f,0x6a,0x1d,0x20,0x41,0x31,0x4c,0x10,0x8d,0x73,0x04,0x23,0xa4,0xc4,0x6c,0xde,0x20,0x42,0xcc,0x01,0x07,0x07,0xff,0x80,0x06,0x3e,0x08,0x38,0x70,0x20,0xa1,0xe0,0x83,0x8e,0x01,0x0c,0xf0,0x73,0x80,0x43,0x70,0x05,0x08,0x00,0x2c,0x04,0xc4,0x46,0x53,0x09,0x98,0x24,0x80,0x65,0x80,0xb0,0xd9,0x84,0x65,0x32,0x06,0x17,0x0f,0x98,0x23,0x63,0xe1,0x88,0xc4,0x08,0x5f,0xc1,0x30,0x9d,0x84,0x4e,0x66,0x94,0x11,0x98,0x75,0x26,0x00,}; const uint8_t* const _I_DoorLeft_70x55[] = {_I_DoorLeft_70x55_0}; @@ -558,9 +546,6 @@ const uint8_t* const _I_RFIDDolphinSend_97x61[] = {_I_RFIDDolphinSend_97x61_0}; const uint8_t _I_RFIDDolphinSuccess_108x57_0[] = {0x01,0x00,0xe7,0x01,0x00,0x0f,0x03,0xff,0x1f,0x06,0xd4,0xe2,0x01,0xe0,0x06,0xd4,0x18,0x04,0x30,0x30,0x64,0x60,0x20,0x20,0x31,0x86,0x03,0x62,0x80,0x03,0x28,0x80,0x36,0x24,0x00,0x36,0x00,0x28,0x5c,0xc3,0xe6,0x00,0x58,0x40,0xec,0xc1,0xb1,0x04,0x02,0x19,0x24,0x80,0x0b,0x02,0x02,0x40,0x37,0xc4,0x8c,0x2e,0x40,0x6f,0x93,0x8b,0x81,0x07,0x06,0xdc,0xc2,0x38,0x66,0x50,0x6a,0xe2,0x27,0xe0,0xd2,0xfc,0x08,0x09,0x0c,0x9c,0x4b,0x98,0x34,0xa0,0xe1,0xd5,0x06,0x8f,0x92,0xc2,0x05,0x1e,0x42,0xe1,0x81,0xa3,0xe2,0xf0,0xbc,0x4c,0x1a,0xff,0x2f,0x9b,0x80,0xd8,0xca,0x05,0x1f,0x97,0xfd,0xf8,0x60,0xd2,0x01,0x1e,0x00,0x1a,0x5c,0x00,0x08,0xc9,0xc1,0xab,0x40,0xf9,0x83,0x46,0x61,0x00,0xd8,0x4a,0x81,0xab,0xa0,0xf3,0x5f,0xc6,0x05,0x58,0x8a,0xa4,0x09,0x76,0x21,0xb1,0xf2,0x83,0x4f,0x5d,0x1a,0x01,0x8c,0x90,0x1a,0x31,0x0d,0x07,0xa9,0x16,0x50,0x0a,0xac,0x34,0xba,0x42,0xa1,0x88,0x50,0x23,0xaa,0x72,0xe0,0x6a,0xa1,0x4a,0x32,0x39,0x88,0x6c,0x60,0xc7,0x82,0xb0,0x55,0x60,0xa2,0x92,0x80,0xc0,0x43,0x63,0x03,0x25,0x96,0xe3,0x54,0x33,0x18,0xc4,0x90,0x22,0x21,0x81,0x81,0x03,0x4a,0xa9,0x55,0x7a,0x17,0xf3,0x82,0x9f,0x6d,0x5e,0xa9,0xb6,0x50,0x38,0x70,0x35,0x70,0x15,0x5a,0xa9,0xb8,0xa3,0x46,0x12,0x06,0x9f,0x83,0x54,0x8a,0x28,0x80,0x34,0xfc,0x08,0x93,0xaa,0xc7,0x40,0x83,0x83,0x81,0xd3,0xa1,0xd1,0x08,0x84,0x0c,0x24,0x3f,0xed,0x54,0x18,0x26,0x50,0x20,0xd9,0x42,0x21,0x90,0x4c,0x07,0xff,0xae,0x52,0x20,0x6a,0xc4,0x23,0x1f,0x88,0x3f,0xf0,0x1a,0x45,0x31,0xe7,0x03,0x4a,0x41,0xe0,0x69,0x0f,0xc2,0x1e,0x0d,0x19,0x80,0x48,0xa2,0x10,0xc5,0x68,0xdf,0x0a,0x82,0xb9,0x28,0x22,0x2c,0xe3,0x0a,0xd1,0x2b,0x0f,0x00,0x3c,0x22,0x91,0x53,0x9c,0x50,0x1a,0x30,0x08,0x39,0x1c,0x60,0x6d,0x12,0x3d,0x8c,0xc2,0x51,0x00,0x17,0x0c,0xe2,0x01,0xff,0x83,0x84,0xc6,0x40,0xb0,0x19,0x84,0xd0,0x1a,0x5c,0x08,0x1f,0xf8,0x8c,0x50,0x43,0x08,0xce,0x2d,0x06,0x71,0x5f,0x17,0xfe,0x12,0xdf,0x20,0x69,0x55,0x01,0xa6,0x00,0x18,0x40,0xa4,0x80,0x63,0x3c,0xb5,0x03,0x56,0x08,0x8b,0x20,0x10,0xcf,0x03,0x62,0x08,0x20,0x00,0x94,0xc6,0x01,0x70,0x01,0x0c,0xe8,0x36,0x20,0xd3,0xe0,0x00,0xcb,0x10,0x02,0x19,0xf3,0x9c,0x41,0xa3,0x15,0x31,0x90,0x00,0x70,0xc0,0x21,0xdd,0x86,0xc4,0x78,0x3e,0xa3,0x71,0xe0,0x30,0x20,0x31,0xbe,0x86,0xc4,0x1a,0x35,0x40,0x20,0x8d,0x89,0x28,0x5b,0xa0,0xd9,0xea,0x3d,0x44,0x42,0x87,0x83,0x48,0x36,0x49,0xe1,0xa0,0x75,0x67,0x8d,0x41,0x54,0x14,0x03,0xf5,0x2a,0x06,0x96,0x03,0x54,0xc4,0x14,0xd0,0x83,0x4a,0xfb,0x35,0x06,0x90,0x38,0x4e,0x46,0xb4,0x10,0xd9,0x81,0x49,0x72,0x40,0x01,0x0a,0x95,0xd4,0x36,0x20,0xd7,0x55,0x10,}; const uint8_t* const _I_RFIDDolphinSuccess_108x57[] = {_I_RFIDDolphinSuccess_108x57_0}; -const uint8_t _I_SDError_43x35_0[] = {0x01,0x00,0x6f,0x00,0xff,0x7f,0xc0,0x05,0x03,0x80,0x82,0x8e,0x08,0x05,0x59,0xe8,0x16,0x82,0x2d,0x30,0x8c,0x43,0x20,0xc0,0x51,0xb0,0x43,0x23,0x10,0x30,0x88,0xf0,0x20,0xdb,0x08,0x08,0x2c,0x70,0x10,0x3f,0x00,0x5c,0x80,0xa8,0x11,0x60,0xea,0x0a,0x54,0x8f,0xe5,0x99,0xfe,0x4f,0xc0,0xa6,0x70,0x10,0x89,0x60,0x23,0xff,0x91,0xa9,0x70,0x25,0xff,0x21,0xa9,0x70,0x2b,0xfe,0x42,0xc9,0x60,0x30,0x7e,0x40,0x89,0x42,0x30,0x12,0x08,0x80,0x14,0xa0,0x11,0x10,0x28,0xc0,0x66,0x10,0x08,0x74,0x30,0x8f,0xe0,0x58,0x5c,0x88,0x14,0xc0,0x43,0x01,0x8f,0x81,0x4f,0x05,0x20,0x02,0x9f,0xf3,0x80,0xcb,0x10,}; -const uint8_t* const _I_SDError_43x35[] = {_I_SDError_43x35_0}; - const uint8_t _I_SDQuestion_35x43_0[] = {0x01,0x00,0x67,0x00,0xf8,0x7f,0xc0,0x03,0x03,0xfc,0x01,0x0a,0x0f,0x38,0xa4,0xe4,0xa4,0x80,0x4f,0x0c,0x20,0x13,0xc0,0x9f,0x80,0x02,0x15,0xfe,0x00,0x04,0x29,0xfc,0x03,0xfd,0x07,0xfa,0x47,0xe7,0xdf,0xc8,0x3f,0xea,0x1f,0x7f,0xfc,0x41,0xff,0xb8,0xff,0xf8,0x10,0x7f,0xe0,0x4e,0xef,0x86,0x08,0x68,0x33,0xf1,0x10,0xff,0x3f,0xf1,0xf1,0x60,0x81,0x06,0x1e,0x36,0x10,0x20,0xe1,0xc0,0x87,0xc7,0x02,0x0f,0xd3,0xff,0xe3,0x02,0x0f,0xe8,0x08,0x7f,0xd0,0x21,0x89,0xc4,0x08,0x9f,0x70,0x21,0x9a,0x08,0x08,0xc1,0x89,0x02,0x20,0x62,0x40,0x8f,0xfe,0x68,0x98,}; const uint8_t* const _I_SDQuestion_35x43[] = {_I_SDQuestion_35x43_0}; @@ -609,9 +594,6 @@ const uint8_t* const _I_SDcardFail_11x8[] = {_I_SDcardFail_11x8_0}; const uint8_t _I_SDcardMounted_11x8_0[] = {0x01,0x00,0x09,0x00,0xff,0xc1,0xff,0xf0,0x40,0x1c,0xd9,0xe0,0x00,}; const uint8_t* const _I_SDcardMounted_11x8[] = {_I_SDcardMounted_11x8_0}; -const uint8_t _I_USBConnected_15x8_0[] = {0x00,0xF0,0x07,0x08,0x7C,0x04,0x44,0x07,0x54,0x07,0x54,0x04,0x44,0x08,0x7C,0xF0,0x07,}; -const uint8_t* const _I_USBConnected_15x8[] = {_I_USBConnected_15x8_0}; - const uint8_t _I_Lock_7x8_0[] = {0x00,0x1C,0x22,0x22,0x7F,0x7F,0x77,0x7F,0x3E,}; const uint8_t* const _I_Lock_7x8[] = {_I_Lock_7x8_0}; @@ -645,9 +627,6 @@ const uint8_t* const _I_Error_62x31[] = {_I_Error_62x31_0}; const uint8_t _I_Updating_32x40_0[] = {0x01,0x00,0x56,0x00,0xc0,0x7f,0xc0,0x03,0xc0,0x01,0x97,0x82,0x07,0x00,0xe0,0x5c,0x00,0x65,0x38,0x01,0x94,0x70,0x06,0x50,0xe0,0x19,0x41,0xc0,0x65,0xff,0x01,0xb4,0x0c,0x02,0x7e,0x08,0x38,0x0c,0x7c,0xd6,0x70,0x18,0xfb,0xfe,0xfc,0x0c,0x18,0xc8,0x78,0x20,0x33,0x81,0x8f,0x8a,0x07,0x3e,0xbe,0x70,0x38,0x71,0xff,0xc7,0x0f,0xc7,0x0f,0xf8,0x71,0xc0,0x76,0x13,0x30,0xd9,0x88,0xcc,0x5f,0x03,0xb2,0x21,0xa1,0x2c,0xc0,0x26,0x82,0x10,0x1f,0x80,0xd1,0x24,0x40,0x04,}; const uint8_t* const _I_Updating_32x40[] = {_I_Updating_32x40_0}; -const uint8_t _I_DolphinExcited_64x63_0[] = {0x01,0x00,0x36,0x01,0x00,0x25,0x00,0x0f,0xd2,0x00,0x3b,0xe0,0x00,0xeb,0x10,0x0c,0x34,0x40,0x30,0xd0,0x88,0x80,0x1d,0xa1,0x00,0x42,0xfc,0x7f,0xc0,0x63,0x04,0x01,0x0e,0x02,0x0f,0x00,0x00,0x8c,0x08,0x0e,0x37,0x00,0x10,0xc6,0x20,0x10,0x10,0xd9,0x11,0x92,0x1c,0x1a,0x3e,0x00,0x04,0x42,0x02,0x1a,0x20,0xb0,0xce,0x00,0x64,0x07,0x20,0x59,0x16,0x50,0x36,0x45,0x94,0x84,0x78,0x20,0x60,0x75,0x8e,0x43,0x06,0x63,0x3c,0x33,0x94,0x0c,0xd2,0x5c,0x30,0x38,0xe4,0x08,0x43,0x10,0xc0,0x5e,0x06,0x22,0x53,0x1a,0x02,0x08,0x7f,0xd0,0x32,0xc1,0x50,0x21,0x14,0x0e,0x70,0x1c,0x46,0xe2,0x07,0x19,0x06,0x3c,0xdc,0x20,0x91,0xae,0x01,0xcc,0xbe,0x30,0x09,0xfc,0x12,0x41,0xff,0x83,0xcc,0x0a,0xa3,0x1f,0x03,0x99,0xe8,0x7c,0x10,0xf8,0x25,0xa0,0x5e,0x50,0x0f,0x84,0x1e,0x09,0x54,0x03,0x9f,0xf2,0x07,0x02,0xd5,0x11,0xca,0x01,0xfe,0x80,0xc0,0xaa,0x9f,0xf0,0x39,0x5f,0xd0,0x43,0xaa,0x83,0x41,0x92,0xc3,0x1f,0x03,0x8d,0x52,0x02,0x2e,0x25,0xc9,0x6a,0x99,0x46,0xa6,0x2a,0xa0,0x1c,0xaf,0xca,0x62,0x94,0x28,0xcb,0x7e,0x0f,0x15,0x71,0xf8,0x3c,0x22,0x71,0x03,0x8a,0x84,0x67,0x18,0x0f,0xac,0x1c,0x0e,0x38,0x08,0x0c,0x3e,0x01,0xae,0xbd,0x13,0x0c,0x0e,0x35,0x8e,0xa8,0x1c,0xb0,0x1f,0xf8,0x06,0x83,0xf4,0x27,0x38,0x07,0xff,0xff,0x8f,0x03,0xa0,0x4c,0x80,0xed,0x60,0x03,0xb4,0x60,0x0e,0xd0,0x60,0x3a,0x87,0x84,0x0e,0xb7,0xc2,0xfa,0x18,0x05,0x44,0x20,0x73,0xff,0xf7,0xce,0xe4,0x07,0x2d,0x52,0x2c,0x80,0xe7,0x54,0xea,0x81,0xd7,0x50,0x0f,0x7a,0xaa,0x3d,0x41,0xe2,0x07,0x5a,0x80,0x3c,0xa0,0x40,0x72,0xd0,0x6a,0x80,0xa2,0x07,0x3a,0x05,0x54,0x8e,0x20,0x73,0xc0,0x03,0xd8,0x60,0x30,0x40,0x3a,0xc0,0x00,0xee,0xea,0x10,0x3b,0x80,}; -const uint8_t* const _I_DolphinExcited_64x63[] = {_I_DolphinExcited_64x63_0}; - const uint8_t _I_DolphinMafia_115x62_0[] = {0x01,0x00,0x21,0x02,0x00,0x1e,0x02,0x06,0x0e,0xcb,0x04,0x10,0x1d,0x91,0x88,0x40,0x3b,0x20,0xc0,0xec,0xc0,0x40,0x62,0x03,0xac,0x80,0x03,0xb2,0x31,0x00,0x90,0x03,0xae,0x5e,0x0e,0xcf,0xc4,0x56,0x01,0x40,0x07,0x56,0xbe,0x14,0x0e,0x2f,0xf1,0x5e,0x2a,0xa1,0xd1,0xc0,0x7c,0x3f,0xf0,0x70,0x73,0x70,0x35,0x41,0xd1,0xc0,0x7f,0xff,0xf0,0xf0,0x73,0x50,0x03,0xa4,0x0d,0x10,0x74,0x07,0x46,0x55,0xe0,0x07,0x10,0xb1,0xc3,0xa3,0x55,0xfe,0x03,0x88,0x94,0xe1,0xd1,0xd5,0x03,0x4a,0x3e,0x59,0x9e,0xaf,0xfe,0xff,0x05,0x60,0x4e,0xab,0xf5,0xff,0x95,0xb4,0xa4,0x3a,0x3f,0xd0,0xe0,0xfa,0x20,0x20,0xf8,0xd5,0xff,0xb5,0xf0,0x0f,0x88,0x3a,0x6a,0xbf,0xf8,0xaf,0x82,0x6f,0x03,0x07,0x47,0xaf,0xff,0x0a,0xfe,0x5f,0xc1,0xd3,0xf6,0xbf,0xe0,0x7f,0xfe,0xf0,0x73,0x41,0x00,0x43,0xfa,0xd7,0xf8,0x27,0xfe,0xe0,0x73,0x40,0x80,0x43,0xfe,0xab,0xfe,0x21,0xfc,0xe5,0x9b,0x05,0x48,0xea,0x3f,0xc8,0xfa,0xc4,0x66,0x07,0x44,0x0e,0x8f,0x00,0xb0,0x2b,0x31,0x07,0x0f,0x00,0x1c,0x72,0x00,0x70,0xf8,0x37,0xe5,0x81,0xff,0x89,0x08,0xf2,0x71,0x80,0x20,0xfe,0x2b,0xf0,0x5f,0xc0,0x38,0xc8,0xa5,0x60,0xc3,0x00,0xc7,0xf9,0xaf,0x81,0x2d,0x04,0x34,0x40,0xe1,0x98,0x47,0x68,0x04,0x92,0xab,0xc0,0x7e,0xb7,0xf7,0x39,0x03,0x85,0x8e,0x24,0xf1,0xc0,0x7f,0xf5,0x78,0x0f,0x53,0xb4,0xbc,0x1f,0xb8,0x1a,0x0c,0x61,0xc5,0x82,0xab,0xc0,0x3e,0xa3,0xa2,0xfc,0x07,0x46,0x09,0x60,0x19,0x8f,0x80,0xec,0x38,0x08,0x52,0x6c,0xb8,0xdc,0x28,0x7c,0x10,0x2a,0x5f,0x0f,0xfc,0x5a,0x01,0x05,0x1a,0x8e,0x02,0x02,0x1d,0x1f,0x81,0xa8,0xbe,0x13,0xf8,0x52,0x2c,0x8c,0x62,0x77,0x42,0x11,0x40,0xe0,0xca,0x93,0x8e,0x03,0x8a,0x30,0x10,0x48,0x54,0x03,0x04,0xbb,0x2c,0x00,0x0c,0x64,0x80,0xe4,0x0e,0x88,0x38,0x7c,0x10,0x04,0x09,0x48,0x83,0xac,0x1b,0x18,0xf3,0x44,0xc1,0xca,0x1d,0x15,0x40,0x8e,0x05,0x02,0x20,0xe6,0x24,0x12,0x8c,0x8b,0x05,0x21,0x07,0x24,0x14,0x08,0x73,0x80,0x19,0x78,0x43,0xb2,0xff,0x15,0x30,0xc4,0x01,0x26,0x8f,0x14,0x61,0xa9,0x8a,0x09,0x10,0x02,0x12,0x1c,0x80,0x84,0xaf,0x10,0x71,0xaa,0xc4,0x00,0x3b,0x04,0xea,0x24,0x48,0x1c,0xbd,0x8f,0xf8,0x00,0x67,0xf0,0x09,0x40,0x20,0x61,0x00,0xe4,0xf6,0x07,0x4b,0xc1,0x1f,0x07,0x14,0x40,0x1c,0x9d,0x66,0x79,0x24,0xc6,0xa0,0x0e,0x32,0x51,0xfa,0xce,0xe7,0x50,0x07,0x1c,0x80,0x30,0x58,0x0e,0xa2,0xcc,0xa0,0x19,0x00,0x71,0x42,0x13,0x27,0x40,0xf5,0x45,0x41,0xc5,0x08,0xb0,0x80,0xc6,0x18,0xf2,0x28,0x04,0x83,0xe8,0x58,0x10,0x30,0xc2,0x2c,0x40,0x91,0x89,0x3c,0x88,0x62,0x21,0xd2,0xff,0x03,0x87,0xc8,0x12,0x19,0x08,0x39,0x3e,0x83,0xb2,0x4a,0x0e,0xa2,0x0d,0xc0,0xe0,0x50,0x06,0xa7,0xe8,0x2c,0x94,0xc2,0x09,0x50,0x8c,0xce,0x20,0x34,0x70,0x71,0x41,0x3e,0x85,0xe2,0xe0,0x41,0x38,0x1e,0x28,0x3c,0x19,0xc8,0x70,0x4f,0xc1,0xdc,0xe0,0x74,0x01,0xd8,0xc6,0x24,0x00,0x82,0x81,0x7c,0x12,0xa6,0x7e,0x10,0x28,0xd8,0x22,0x00,0xe3,0xfc,0x34,0x53,0x00,0x23,0x1c,0x04,0x44,0x0e,0x50,0x10,0xeb,0x17,0xca,0x1c,0x07,0x20,}; const uint8_t* const _I_DolphinMafia_115x62[] = {_I_DolphinMafia_115x62_0}; @@ -657,9 +636,6 @@ const uint8_t* const _I_DolphinNice_96x59[] = {_I_DolphinNice_96x59_0}; const uint8_t _I_DolphinWait_61x59_0[] = {0x01,0x00,0x56,0x01,0x00,0x17,0xfa,0x1e,0x06,0x4f,0x84,0x06,0xe0,0x07,0x48,0x64,0x03,0x01,0x01,0x03,0x9c,0x0c,0x04,0x30,0x60,0x31,0x70,0x00,0x65,0x08,0x01,0x94,0xc0,0x06,0x51,0x00,0x5b,0x48,0x00,0x65,0x04,0x01,0x95,0x00,0x82,0xd8,0x00,0x19,0x40,0x7e,0x00,0x75,0x1f,0x88,0xe0,0x88,0x02,0x1a,0x1f,0x94,0x14,0x0e,0xbf,0x98,0x58,0x5c,0x42,0x45,0x00,0x9e,0x99,0x87,0x01,0x02,0x11,0x94,0xf2,0x2e,0x03,0x18,0x39,0x28,0x70,0x1f,0xc0,0x3e,0x42,0x00,0xe5,0x80,0xff,0xdf,0xc0,0xe5,0xf8,0x85,0xd8,0x10,0x27,0x40,0xf9,0xc2,0x63,0x88,0x12,0x82,0x6a,0x20,0x50,0x41,0xe9,0x42,0x20,0x95,0x48,0x6e,0x0c,0xfa,0x9a,0xaf,0xf9,0x90,0xe2,0x10,0x2e,0xac,0xe0,0x0e,0x98,0x29,0x52,0x11,0x13,0x23,0x15,0x3e,0x20,0x3c,0x61,0x40,0x52,0xfc,0x4f,0xe2,0x10,0x38,0x68,0x1c,0xa0,0xfc,0x08,0xbe,0x04,0x1e,0x5e,0x01,0xb9,0x03,0xc5,0x60,0x24,0xf2,0x84,0x60,0x63,0x40,0x71,0x27,0x9c,0x0e,0x2b,0x04,0x6c,0xa4,0x06,0x15,0x08,0x6c,0x99,0x8c,0xa6,0x0f,0x81,0x00,0x0c,0x08,0xf0,0x3c,0x05,0x61,0xc0,0x40,0x86,0xd0,0x30,0x78,0x80,0x0c,0xc6,0x2b,0x92,0x00,0x0d,0x51,0xf0,0x2d,0x42,0x0a,0x8e,0xaa,0x34,0x0f,0x4a,0x85,0x55,0x6e,0x20,0xf3,0xd5,0x6a,0x84,0xa2,0x66,0x2a,0x05,0xf7,0xaa,0x07,0x18,0xaf,0xfb,0x7f,0xea,0xc1,0xef,0xc0,0xe3,0xea,0x80,0xf8,0x27,0xf0,0x0a,0xc0,0x1c,0x67,0xa2,0xd1,0xb1,0xc0,0x34,0x00,0x71,0x14,0x8f,0x00,0x98,0x34,0x02,0x69,0xd0,0x37,0x90,0x16,0xf1,0x00,0x06,0xe1,0x84,0x31,0x89,0x14,0xe9,0xdc,0x40,0x38,0xa4,0xc4,0x4c,0x3c,0x1f,0x88,0x8c,0x5b,0xc3,0x01,0xbc,0x40,0x3f,0xf0,0xf6,0x71,0x0c,0x0b,0xe0,0x07,0x3c,0x0a,0xf8,0xa3,0xf0,0x03,0xb8,0xd8,0x80,0xe8,0x87,0x1b,0xa8,0x1c,0x78,0x1f,0xf8,0x0e,0x7e,0x01,0x6a,0x03,0x94,0x0f,0xfd,0xa0,0x80,0x7d,0x49,0x04,0x4d,0x12,0xc0,0xfa,0x83,0x83,0xbe,0x26,0x8d,0x02,0x05,0xd5,0xff,0xff,0xeb,0xe9,0x31,0x90,0x40,0x80,}; const uint8_t* const _I_DolphinWait_61x59[] = {_I_DolphinWait_61x59_0}; -const uint8_t _I_iButtonDolphinSuccess_109x60_0[] = {0x01,0x00,0xac,0x01,0x00,0x17,0xfe,0x1e,0x0c,0xaf,0x04,0x02,0xe0,0x0d,0xa8,0xf4,0x03,0x01,0x03,0x06,0x46,0x02,0x02,0x03,0x18,0xe0,0x36,0x2c,0x00,0x36,0x00,0x2c,0x40,0x3e,0x60,0xd8,0x84,0x01,0x0c,0x5a,0x40,0x05,0x82,0x01,0x0e,0x04,0x0d,0x70,0x42,0x04,0x90,0x49,0x02,0xe4,0x20,0x41,0x28,0xc0,0x07,0x40,0x06,0xf8,0x00,0xa4,0x00,0xd6,0x03,0xa8,0x37,0x44,0x2a,0x31,0x74,0xd3,0x83,0x57,0x80,0x0d,0xc7,0x18,0xa9,0xa8,0x36,0x2a,0x86,0x06,0x8d,0xfc,0x36,0x60,0xd7,0xc0,0x3b,0x8c,0x36,0xf0,0x4a,0x05,0xf9,0x6e,0x5e,0x06,0x23,0x41,0x24,0x1f,0xf6,0x01,0x74,0x01,0xb1,0xe3,0x82,0x81,0x47,0x40,0x0d,0x7c,0x87,0x8e,0x12,0x05,0x1a,0x84,0x0d,0xb6,0xa0,0xd2,0x85,0x86,0xc8,0x1a,0x50,0x40,0x69,0x40,0xb2,0x1f,0xf0,0x69,0x50,0x01,0xa5,0x08,0xfc,0x03,0x5f,0x60,0x0d,0x28,0x84,0x1a,0x07,0x18,0x06,0xaf,0x00,0x1a,0x3c,0x03,0xb8,0xc3,0x20,0xd0,0x28,0x87,0xfc,0x8a,0x50,0x08,0x78,0x08,0x70,0x77,0x0c,0x44,0x06,0x05,0x30,0xff,0x18,0x4a,0x01,0x30,0x01,0x0d,0x33,0x19,0x11,0x1b,0x8c,0xa2,0xf8,0x7d,0x27,0x71,0xd0,0x20,0x51,0x20,0x68,0xd5,0x00,0x42,0x0d,0x2c,0x00,0x08,0x64,0x10,0x19,0x20,0x28,0x75,0x07,0x53,0x3d,0x18,0x35,0x2a,0x9f,0xf4,0x9a,0x41,0x90,0x23,0x00,0x94,0x43,0xe0,0x5e,0xae,0x03,0x9d,0xb4,0xe0,0xd1,0x0d,0x8c,0xd0,0x52,0xb1,0x00,0xd9,0x83,0x46,0x34,0x45,0x41,0xa8,0x9f,0x86,0x01,0x14,0x05,0x08,0x08,0x81,0xa6,0x62,0x10,0x68,0xe5,0x20,0x70,0x41,0x80,0x80,0x10,0xc4,0x34,0x48,0x04,0x2a,0x38,0x0d,0x99,0x16,0x02,0x1a,0xd5,0x10,0x6c,0x5e,0x2e,0x0b,0xa1,0x4b,0x0a,0x60,0xc1,0xa7,0x84,0xfc,0x58,0x01,0xb5,0x02,0x82,0xb4,0xc4,0x16,0x22,0xa5,0x06,0x96,0x19,0x20,0x20,0xd7,0x30,0x8c,0x0f,0x08,0x05,0x10,0x68,0xa1,0x44,0x1a,0x98,0x08,0x14,0x11,0x28,0x21,0x91,0x1d,0x8f,0x83,0xfe,0x07,0x1b,0x00,0x34,0x61,0x00,0xd3,0x1d,0x8c,0x7a,0x01,0x7e,0x80,0x56,0x30,0x06,0xb1,0x4a,0x08,0xd4,0xbf,0xc1,0x31,0xc0,0x7f,0xe8,0xf0,0x08,0x3c,0x40,0x1a,0x80,0x04,0x5a,0x8c,0x10,0x80,0x40,0xd7,0x05,0x08,0x36,0xc0,0xe2,0x0d,0xb8,0x30,0x34,0x45,0x82,0x0d,0x72,0x49,0x03,0x5a,0x41,0x55,0xf8,0x7f,0xff,0xe8,0x72,0x06,0xae,0x03,0xf4,0x0c,0x1d,0xf8,0x18,0x60,0x40,0xd2,0x4b,0x9f,0xd0,0x1a,0x35,0x71,0x48,0xc0,0x95,0x42,0x0d,0x4d,0x50,0x70,0x75,0x40,0xd1,0x80,0x83,0x5a,0xa1,0x55,0x00,0x0c,0x05,0xa4,0x20,0xd2,}; -const uint8_t* const _I_iButtonDolphinSuccess_109x60[] = {_I_iButtonDolphinSuccess_109x60_0}; - const uint8_t _I_iButtonDolphinVerySuccess_108x52_0[] = {0x01,0x00,0xc2,0x01,0x00,0x0f,0xe2,0xfe,0x0d,0xb8,0x3e,0x02,0x06,0x0c,0x9f,0x00,0x08,0x61,0x80,0xd9,0x8c,0x00,0x86,0x60,0x0d,0x98,0x30,0x08,0x6a,0x00,0xd9,0x80,0x80,0x87,0x40,0x0c,0x8c,0x00,0x0c,0xa8,0x01,0x12,0x00,0x2d,0x00,0x22,0x70,0x20,0x6b,0xc8,0x02,0x26,0x62,0x88,0x80,0x6c,0xc9,0x24,0x0d,0x9a,0x07,0x17,0xfe,0x1d,0x68,0x40,0x6c,0xe7,0x48,0x04,0x28,0x10,0x34,0xe8,0x10,0xd1,0x11,0xc4,0x01,0xa5,0x04,0x06,0x96,0xa0,0xa6,0x24,0xc2,0x88,0x17,0x88,0x1a,0x7d,0x43,0x78,0x82,0x4a,0x40,0x03,0x20,0xb0,0xff,0x20,0x16,0xa3,0xb2,0x48,0x03,0xe4,0x0d,0x1f,0xfc,0x06,0x3a,0x0d,0x4a,0x00,0x34,0xf8,0x00,0xd1,0x37,0x0f,0x82,0x9e,0x95,0x58,0x17,0x83,0xff,0x81,0x1b,0x0f,0xf1,0xfe,0x71,0xe0,0x69,0x7c,0x3f,0xe0,0x82,0xff,0xcf,0xc0,0x85,0x61,0x80,0x43,0xb0,0x5f,0xa8,0x79,0xdc,0x81,0xa5,0x70,0xc0,0x68,0x3c,0x10,0x1a,0x17,0xd5,0x28,0x42,0xd1,0x8f,0x84,0x46,0x83,0xb0,0x8e,0x40,0x34,0x5f,0xa8,0x38,0x34,0x45,0xa2,0x0d,0x18,0x04,0x9b,0x50,0x03,0x1a,0x14,0x35,0x36,0x5f,0x8f,0xf8,0xb8,0xa4,0x19,0x40,0x18,0xe8,0xa0,0xca,0x22,0xfe,0x7f,0xc4,0x05,0x20,0xa5,0x80,0xc6,0x82,0xcb,0x3f,0xf3,0x44,0xfc,0x12,0x40,0x18,0xe8,0x51,0x82,0x52,0x28,0xfc,0x38,0x0a,0x3e,0x48,0x98,0x6c,0x8f,0x43,0x00,0xe0,0x63,0xe0,0x62,0xe2,0x91,0x90,0x0a,0x02,0x0d,0x2f,0x82,0x50,0x41,0xa3,0x80,0x90,0x41,0x04,0xc3,0x01,0xc0,0x83,0x46,0x71,0x30,0x06,0x95,0x82,0x21,0x02,0x6e,0x88,0x6c,0x43,0x83,0x1f,0x2f,0x88,0x34,0x62,0x00,0xd1,0x15,0x08,0x2c,0x60,0xcc,0x51,0x0f,0x08,0xcc,0x81,0xa2,0x12,0x10,0x68,0xc6,0x3f,0x06,0xc2,0x06,0x8e,0x02,0x16,0x41,0x20,0x10,0xf8,0x01,0x85,0x00,0x19,0x0d,0x82,0x18,0x07,0x20,0x81,0x00,0x0c,0x9c,0x31,0x08,0x42,0x74,0x81,0xab,0x80,0x03,0x0c,0x32,0x11,0x0b,0x06,0xb9,0xc0,0x43,0xa3,0x10,0x8b,0x83,0x5c,0xe0,0x20,0x81,0xc8,0x26,0x49,0x4c,0x40,0x02,0x86,0x0a,0xc5,0x22,0x32,0x50,0x6b,0x93,0x86,0xc0,0x0d,0x19,0x18,0x35,0x8c,0x84,0x79,0x1a,0x84,0x84,0x1a,0xdf,0xc2,0xe0,0x8a,0xc7,0x51,0x22,0x06,0xb5,0x5e,0x3f,0x00,0x77,0x0d,0x60,0x36,0xfa,0xa9,0xd7,0x00,0x08,0x3a,0xc9,0x02,0x48,0xc0,0x05,0x54,0xba,0x98,0x8a,0xa8,0xf1,0x20,0x6a,0x6a,0x3d,0x43,0x61,0x80,0x4a,0x81,0xaf,0x40,0xea,0x8d,0x86,0x01,0x56,0x06,0x93,0x60,0x80,0x05,0xea,0x01,0x94,0xac,0x1b,0x11,0x80,0x19,0x45,0x41,0x44,0x0d,0x58,0x33,0x18,0xa1,0x4f,0xf3,0x06,0x1f,0x01,0x76,0x58,0x00,0xd9,0x83,0x52,0x7c,0x11,0x38,0x51,0x40,0x80,}; const uint8_t* const _I_iButtonDolphinVerySuccess_108x52[] = {_I_iButtonDolphinVerySuccess_108x52_0}; @@ -720,16 +696,13 @@ const Icon I_DolphinFirstStart6_58x54 = {.width=58,.height=54,.frame_count=1,.fr const Icon I_DolphinFirstStart7_61x51 = {.width=61,.height=51,.frame_count=1,.frame_rate=0,.frames=_I_DolphinFirstStart7_61x51}; const Icon I_DolphinFirstStart8_56x51 = {.width=56,.height=51,.frame_count=1,.frame_rate=0,.frames=_I_DolphinFirstStart8_56x51}; const Icon I_DolphinOkay_41x43 = {.width=41,.height=43,.frame_count=1,.frame_rate=0,.frames=_I_DolphinOkay_41x43}; -const Icon I_Flipper_young_80x60 = {.width=80,.height=60,.frame_count=1,.frame_rate=0,.frames=_I_Flipper_young_80x60}; const Icon I_ArrowDownEmpty_14x15 = {.width=14,.height=15,.frame_count=1,.frame_rate=0,.frames=_I_ArrowDownEmpty_14x15}; const Icon I_ArrowDownFilled_14x15 = {.width=14,.height=15,.frame_count=1,.frame_rate=0,.frames=_I_ArrowDownFilled_14x15}; const Icon I_ArrowUpEmpty_14x15 = {.width=14,.height=15,.frame_count=1,.frame_rate=0,.frames=_I_ArrowUpEmpty_14x15}; const Icon I_ArrowUpFilled_14x15 = {.width=14,.height=15,.frame_count=1,.frame_rate=0,.frames=_I_ArrowUpFilled_14x15}; -const Icon I_Back_15x10 = {.width=15,.height=10,.frame_count=1,.frame_rate=0,.frames=_I_Back_15x10}; const Icon I_DolphinReadingSuccess_59x63 = {.width=59,.height=63,.frame_count=1,.frame_rate=0,.frames=_I_DolphinReadingSuccess_59x63}; const Icon I_Down_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_Down_25x27}; const Icon I_Down_hvr_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_Down_hvr_25x27}; -const Icon I_Fill_marker_7x7 = {.width=7,.height=7,.frame_count=1,.frame_rate=0,.frames=_I_Fill_marker_7x7}; const Icon I_InfraredArrowDown_4x8 = {.width=8,.height=4,.frame_count=1,.frame_rate=0,.frames=_I_InfraredArrowDown_4x8}; const Icon I_InfraredArrowUp_4x8 = {.width=8,.height=4,.frame_count=1,.frame_rate=0,.frames=_I_InfraredArrowUp_4x8}; const Icon I_InfraredLearnShort_128x31 = {.width=128,.height=31,.frame_count=1,.frame_rate=0,.frames=_I_InfraredLearnShort_128x31}; @@ -746,7 +719,6 @@ const Icon I_Vol_down_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0 const Icon I_Vol_down_hvr_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_Vol_down_hvr_25x27}; const Icon I_Vol_up_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_Vol_up_25x27}; const Icon I_Vol_up_hvr_25x27 = {.width=25,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_Vol_up_hvr_25x27}; -const Icon I_Back3_45x8 = {.width=45,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_Back3_45x8}; const Icon I_DoorLeft_70x55 = {.width=70,.height=55,.frame_count=1,.frame_rate=0,.frames=_I_DoorLeft_70x55}; const Icon I_DoorLocked_10x56 = {.width=10,.height=56,.frame_count=1,.frame_rate=0,.frames=_I_DoorLocked_10x56}; const Icon I_DoorRight_70x55 = {.width=70,.height=55,.frame_count=1,.frame_rate=0,.frames=_I_DoorRight_70x55}; @@ -810,7 +782,6 @@ const Icon I_RFIDBigChip_37x36 = {.width=37,.height=36,.frame_count=1,.frame_rat const Icon I_RFIDDolphinReceive_97x61 = {.width=97,.height=61,.frame_count=1,.frame_rate=0,.frames=_I_RFIDDolphinReceive_97x61}; const Icon I_RFIDDolphinSend_97x61 = {.width=97,.height=61,.frame_count=1,.frame_rate=0,.frames=_I_RFIDDolphinSend_97x61}; const Icon I_RFIDDolphinSuccess_108x57 = {.width=108,.height=57,.frame_count=1,.frame_rate=0,.frames=_I_RFIDDolphinSuccess_108x57}; -const Icon I_SDError_43x35 = {.width=43,.height=35,.frame_count=1,.frame_rate=0,.frames=_I_SDError_43x35}; const Icon I_SDQuestion_35x43 = {.width=35,.height=43,.frame_count=1,.frame_rate=0,.frames=_I_SDQuestion_35x43}; const Icon I_Cry_dolph_55x52 = {.width=55,.height=52,.frame_count=1,.frame_rate=0,.frames=_I_Cry_dolph_55x52}; const Icon I_Attention_5x8 = {.width=5,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_Attention_5x8}; @@ -827,7 +798,6 @@ const Icon I_PlaceholderL_11x13 = {.width=11,.height=13,.frame_count=1,.frame_ra const Icon I_PlaceholderR_30x13 = {.width=30,.height=13,.frame_count=1,.frame_rate=0,.frames=_I_PlaceholderR_30x13}; const Icon I_SDcardFail_11x8 = {.width=11,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_SDcardFail_11x8}; const Icon I_SDcardMounted_11x8 = {.width=11,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_SDcardMounted_11x8}; -const Icon I_USBConnected_15x8 = {.width=15,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_USBConnected_15x8}; const Icon I_Lock_7x8 = {.width=7,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_Lock_7x8}; const Icon I_MHz_25x11 = {.width=25,.height=11,.frame_count=1,.frame_rate=0,.frames=_I_MHz_25x11}; const Icon I_Quest_7x8 = {.width=7,.height=8,.frame_count=1,.frame_rate=0,.frames=_I_Quest_7x8}; @@ -839,11 +809,9 @@ const Icon I_Connected_62x31 = {.width=62,.height=31,.frame_count=1,.frame_rate= const Icon I_Drive_112x35 = {.width=112,.height=35,.frame_count=1,.frame_rate=0,.frames=_I_Drive_112x35}; const Icon I_Error_62x31 = {.width=62,.height=31,.frame_count=1,.frame_rate=0,.frames=_I_Error_62x31}; const Icon I_Updating_32x40 = {.width=32,.height=40,.frame_count=1,.frame_rate=0,.frames=_I_Updating_32x40}; -const Icon I_DolphinExcited_64x63 = {.width=64,.height=63,.frame_count=1,.frame_rate=0,.frames=_I_DolphinExcited_64x63}; const Icon I_DolphinMafia_115x62 = {.width=115,.height=62,.frame_count=1,.frame_rate=0,.frames=_I_DolphinMafia_115x62}; const Icon I_DolphinNice_96x59 = {.width=96,.height=59,.frame_count=1,.frame_rate=0,.frames=_I_DolphinNice_96x59}; const Icon I_DolphinWait_61x59 = {.width=61,.height=59,.frame_count=1,.frame_rate=0,.frames=_I_DolphinWait_61x59}; -const Icon I_iButtonDolphinSuccess_109x60 = {.width=109,.height=60,.frame_count=1,.frame_rate=0,.frames=_I_iButtonDolphinSuccess_109x60}; const Icon I_iButtonDolphinVerySuccess_108x52 = {.width=108,.height=52,.frame_count=1,.frame_rate=0,.frames=_I_iButtonDolphinVerySuccess_108x52}; const Icon I_iButtonKey_49x44 = {.width=49,.height=44,.frame_count=1,.frame_rate=0,.frames=_I_iButtonKey_49x44}; diff --git a/assets/compiled/assets_icons.h b/assets/compiled/assets_icons.h index 12ddb78e..64cd3d36 100644 --- a/assets/compiled/assets_icons.h +++ b/assets/compiled/assets_icons.h @@ -55,16 +55,13 @@ extern const Icon I_DolphinFirstStart6_58x54; extern const Icon I_DolphinFirstStart7_61x51; extern const Icon I_DolphinFirstStart8_56x51; extern const Icon I_DolphinOkay_41x43; -extern const Icon I_Flipper_young_80x60; extern const Icon I_ArrowDownEmpty_14x15; extern const Icon I_ArrowDownFilled_14x15; extern const Icon I_ArrowUpEmpty_14x15; extern const Icon I_ArrowUpFilled_14x15; -extern const Icon I_Back_15x10; extern const Icon I_DolphinReadingSuccess_59x63; extern const Icon I_Down_25x27; extern const Icon I_Down_hvr_25x27; -extern const Icon I_Fill_marker_7x7; extern const Icon I_InfraredArrowDown_4x8; extern const Icon I_InfraredArrowUp_4x8; extern const Icon I_InfraredLearnShort_128x31; @@ -81,7 +78,6 @@ extern const Icon I_Vol_down_25x27; extern const Icon I_Vol_down_hvr_25x27; extern const Icon I_Vol_up_25x27; extern const Icon I_Vol_up_hvr_25x27; -extern const Icon I_Back3_45x8; extern const Icon I_DoorLeft_70x55; extern const Icon I_DoorLocked_10x56; extern const Icon I_DoorRight_70x55; @@ -145,7 +141,6 @@ extern const Icon I_RFIDBigChip_37x36; extern const Icon I_RFIDDolphinReceive_97x61; extern const Icon I_RFIDDolphinSend_97x61; extern const Icon I_RFIDDolphinSuccess_108x57; -extern const Icon I_SDError_43x35; extern const Icon I_SDQuestion_35x43; extern const Icon I_Cry_dolph_55x52; extern const Icon I_Attention_5x8; @@ -162,7 +157,6 @@ extern const Icon I_PlaceholderL_11x13; extern const Icon I_PlaceholderR_30x13; extern const Icon I_SDcardFail_11x8; extern const Icon I_SDcardMounted_11x8; -extern const Icon I_USBConnected_15x8; extern const Icon I_Lock_7x8; extern const Icon I_MHz_25x11; extern const Icon I_Quest_7x8; @@ -174,10 +168,8 @@ extern const Icon I_Connected_62x31; extern const Icon I_Drive_112x35; extern const Icon I_Error_62x31; extern const Icon I_Updating_32x40; -extern const Icon I_DolphinExcited_64x63; extern const Icon I_DolphinMafia_115x62; extern const Icon I_DolphinNice_96x59; extern const Icon I_DolphinWait_61x59; -extern const Icon I_iButtonDolphinSuccess_109x60; extern const Icon I_iButtonDolphinVerySuccess_108x52; extern const Icon I_iButtonKey_49x44; diff --git a/assets/icons/Dolphin/Flipper_young_80x60.png b/assets/icons/Dolphin/Flipper_young_80x60.png deleted file mode 100644 index 4725aab90846789e5a613fec49a1288c304a526f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 643 zcmV-}0(||6P)y0EK41}v%o5clj`G;{qY#enzz>N*Y%{-8Hr0u~UWsGflC>#xD4>MaH0O`yL-B!$) z&p-y05g~vO7i0}2fZHl1Vn$x2Isp*WETqOCt_pw@_qPT@0tvJah#W))7fyj)fys~$ z#BkOV&!Q|dH%kk3+eJCd39wDNRmh(s3ZN`tr@(L${lhMeq73wNNK4k0&!3z43}l{S z=6!Q^gyjiX;iAkg@%oH6cEco=K{>%0g=)?}q~2k1)5w?#$TQj?0#i`t<94WT5Ge;7 zS$dbNSBBXBeg@A8Yp3f4fx~NR;Z1sz5wy!a6%|}on8rQNP2_#>#L;fddQzz^FO(iv zx<-*m3kox@m-6R{&^4Co9{BAMA9xVwjgp%>Z*%50)l0P_c*qs-6B*W*yg<(brxxX0 z4n#Lc6Y{<@xWzs5LPkWflglQk=*y1y;CEXI>uH^;jTWoa?_$g?K)&yUm6Cf=23+c) zb_RAUS?ATjJ#o4h=@eKHA<5zu(~@v? zvkcoEpM}_2Douk(lSZsWOu(mr3rHK+sxT%@S*g+#UKE~Q-Zvvr_$4A->glv3*StC$ z@4@50A46H>z_)<=cc-_3pD_2QWmgp*#{RY9^d03`;hTOR{3`Mq^C9E>PXb>7{{002 d{K3Cd;D3fJQb|_1G&%qP002ovPDHLkV1f?0B#Zz6 diff --git a/assets/icons/Infrared/Back_15x10.png b/assets/icons/Infrared/Back_15x10.png deleted file mode 100644 index fe9ac5aadfb8653053291fdca4c32010150ac3d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3600 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 Q%z^^e7Ix-krk+v%1Ac@~CIA2c diff --git a/assets/icons/Interface/Back3_45x8.png b/assets/icons/Interface/Back3_45x8.png deleted file mode 100644 index 6cb945f6297dda14d46e8bb2e77496a572c600fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3630 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 diff --git a/assets/icons/iButton/DolphinExcited_64x63.png b/assets/icons/iButton/DolphinExcited_64x63.png deleted file mode 100644 index e695c85f08109523700392e311416ab7413a624e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2304 zcmbVO32+lt7~ZzhR?1;1Xu&Bg3(6szJ#uxIMre~_YnxIa*eVKac3+Z(WH;_^o20dZ z6b38E;0%H=a+IMS2w0V4T2!iKP)3wPF0YoB0jxL_R7OtqB@MA62;2>PM{0={1A;GS>u9!j-L%Q)Ct_8WWhRj?!r(}uwW%dJ8Ab@fk(`% zP{5RmA_reFn`Z=U+@ok#kc9+3pmAu>=ap18Xu%@9ENq8|2@H)uwAmIcJ8TdwwHKpS zSpld?N8&t5(x{oyQ6_`IM2c$7m%rDiaip2y%Xc(vjhiB0zzU;rwNaH)34i3E%}jAZaSZQZcOGBWtqik#9pC zoBoFZD6QQdvvEsbe7=|oRm&}hVMGPFC0cca{D7DYRJlyyL2fy8b67YUKWkM0r^$*# zmc2JNs`!S>C{5{TbYzJr335Ok)olT=aT>5-aMviDq~YzLX;yDwN#i3F$&zFj)GiC6 zD|8c7?;tZ-(!}ab|A4}j5jc&zBUs>Bm#p|W7_jK$+<@>)ZVZjd$XaEutU$xiJAL=@ ze5Ij#)_D)_GYf2TC{h{hY$VS_Bl;g1HpghjwL*)8|Ju zIob)Q&utl1uKd5nxVz-⁢8g{(TPqj~G#*c@HPK0j$|XBp4!G-MY4!xH$tNbKNQ- zR5LOJ%WJq9tLv~6`(*$Uq*h?vUtGK5Qv`|U^KID<&kIMMDtNyc?NwdaIR~`NTYkP* z@;A@rZ2fWTsMP!Sn8-`_%^RE0QdvzM>p7*oy?@;Hw!oR>rt>X3{$O*E!OvgoOpQkx zr<@JNHQ62}*F10_e&EqP#{*=&a{SWe4Zj`y<&91usbj$On$dNNbm+l@SO@J%$=S87 zVRxbXohAH2Y0JfijEw^a>~hR_uViVqws&u6?6T@4s%}w5#_^dSsk-^&Pdn$nR9m@e z#Ll#yUo3BA>w9lTMyAbm?7!b%mD}vCnZI{ZsB&Au&pj-MB%%| z`=$-OXF-y5F!!eyCwd1ZW&~46t@ThdpLO!Rt8wHtkhOGv;@RtcJN71shfVI?2Zmo5 za-nkmGVi#$VU>f7e0%z-tn2A{{r6pZVNOYDXJdSOy>EI(!;Jdn`wR5CW95=mb!G9G z^;OrH0^yOZ8?TK_eEh66`B>T12kKqwz|o{3Z~T#jh9MiP_FLZUc>iq+(mr%*V?#~9 z=JvRKnWeQ`d(GbwswU2%!cI9TI7`rEyLHX+SED}IlR)^Lz{Rcttho=+L-#Mk(Hgkf=N5t zHfDd^nzZ)xsVhr%_6u67kF9ye+xT<#ERvM_jjw1rvG9YenXlzuJ(q&7%3Z-!^eSyz z_=9WmzW~;NICua6 diff --git a/assets/icons/iButton/iButtonDolphinSuccess_109x60.png b/assets/icons/iButton/iButtonDolphinSuccess_109x60.png deleted file mode 100644 index f234aba9043fc3ab21e63d5ae71fc1634ee50dd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2178 zcmbVOX;2eq7!H+M#M>TXCqvhjAEHh600LP_6%vk!5hPHt$JAwaLv~2AOLidv6j1SM z1r?Dxh%FS0bQHYt>Ub11^(tNrT57A{pcVnef+w|KIMPnX*49im`yJ2wy!Sg<88bU# zr03h75{YD_Hc}G{-e&Lwd%OaETO!N#;5CeooF_;m!(VqkZj#~>FNx&Ux7fG@F+n$r zpg6Ofq`5>!Za4D)4TPuLd6G(IL@1F-Vl67T^Ux6(VrdmTH$aE#cr{~WBQvawK4W$q zm61#-X?Xg3P_Uf<1ZGAgA-maR5eT~q?&BrE+Ift?P#;80R>2`og;0Vn22yiY22#jT z8HJ)a6sVMA3V(kE`Ywc{IEtVF2!_ir1%dh#SRgd;fq^zFZ6IPb;RCwBP6Zo9ktYzu zX0yp{esa#5gkVag5vkAUVEdv6Kh7=hU46=sFP#k>YaGXFDguh}ch7u^+57mJ> zph=PZZ(xpQ4e2k0(iCCftY#8Ki8Yf+48mKI`n2hEgw`U6q=jO%8Wjvom9s2OD5$_7 z45e`yi75kQ3P1lqSrAGYWC0kiV3a7T3?Tch1@an>N_A#%P@evu^3hfnbP#EJc^+4W z2sLNotU8VcQTBtOKhL#lb&QoWuqJRJ#72Zd+Ay^OQz{fPT#h*ly|3ViNLBz@O&@3- zJ(Du9GOJ53+oO6 z#v{&#?e_!uyNi8ye`)SPIG7mDrE64yjceF37BJzgV3cwAh~W~+ka1c~NSwW-z4&TI zE#$E*HM;Xz(e5F0+h(|p9btGf>amG^n)z9d&!dCYbXkdC=IVw7x9$&2pWM@W>8>s) z+LfrSx_x^^@aS7o$F8i}71b_B5U`G|p&!oY;B!Kuz00pOopP zUinW(-iRrD!*M9>%F4;hrJbqqjYKYq zN1UvvesFDRLtE?Qrp4*A>h(T(e(rUbE|*ueYlgnIc~xWMhuxn#I)+=8RB5CvWnz*G zn4ccA4eiEl>syN+l|PE@g^FztXHE&+BU?t4)p=8em7XWJ9ge;}Wy{_8+&O8x0~KFS z4a{vdX6`?s$r+hO?iHXh^(mWmwZ1!Qrq0to90p(W%sM^fU8${LXF9dWFsZQVLSc7{ zzDYgpX2;B??1&{@Ju9vT*PQCD-@k53@M7;AetFj-uT1v|(&Ug;&t~ep0WgOKN zAz91k?~?{M$6*^5=Cy;(sEaM}TlUMU3X*5l~Aqu$#~`BuGhkcd3$QpeCp@ebBU;+33uKf9lqk;kI%kRrPZJRZg*#; zadY+$shLI8){aj-_9g6Fa9~_-ulG`)vhuC-qT`K4N4lla{wL?{lYi2()m-{8#E|S> zz*dbnHpIT8dcS4F$J>xsz8+f>eJ1qhnTa9#9l3!`b;)birXJbUUbTMxn;Z4jyUt`j z#ZUPjnHc@ih=}aCZx7!S?@IF@c<=n;=p4IyQPkQCn?(7l9%JSD@ey}R3$n5f75o;K zv*Bq_+Qf=qwtv2DbXl9Dc3sxfa))yJtj3;4?zb-9HW5wt^Mi)e`2Ak!(Q+|F^lY0J nlt1Pie{4%#{jRRld57H^dV=R~_ifK|{!7q?&DK