evil_portal_scene_select_html.c 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "../evil_portal_app_i.h"
  2. #include "../helpers/evil_portal_storage.h"
  3. void evil_portal_show_loading_popup(Evil_PortalApp* app, bool show) {
  4. TaskHandle_t timer_task = xTaskGetHandle(configTIMER_SERVICE_TASK_NAME);
  5. ViewStack* view_stack = app->view_stack;
  6. Loading* loading = app->loading;
  7. if(show) {
  8. // Raise timer priority so that animations can play
  9. vTaskPrioritySet(timer_task, configMAX_PRIORITIES - 1);
  10. view_stack_add_view(view_stack, loading_get_view(loading));
  11. } else {
  12. view_stack_remove_view(view_stack, loading_get_view(loading));
  13. // Restore default timer priority
  14. vTaskPrioritySet(timer_task, configTIMER_TASK_PRIORITY);
  15. }
  16. }
  17. void evil_portal_scene_select_html_on_enter(void* context) {
  18. Evil_PortalApp* app = context;
  19. DialogsFileBrowserOptions browser_options;
  20. evil_portal_create_html_folder_if_not_exists();
  21. dialog_file_browser_set_basic_options(&browser_options, HTML_EXTENSION, &I_evil_portal_10px);
  22. browser_options.base_path = HTML_FOLDER;
  23. FuriString* path;
  24. path = furi_string_alloc();
  25. furi_string_set(path, HTML_FOLDER);
  26. bool success = dialog_file_browser_show(app->dialogs, app->file_path, path, &browser_options);
  27. furi_string_free(path);
  28. if(success) {
  29. //Replace HTML File
  30. evil_portal_show_loading_popup(app, true);
  31. evil_portal_replace_index_html(app->file_path);
  32. evil_portal_show_loading_popup(app, false);
  33. }
  34. scene_manager_search_and_switch_to_previous_scene(app->scene_manager, Evil_PortalSceneStart);
  35. }
  36. bool evil_portal_scene_select_html_on_event(void* context, SceneManagerEvent event) {
  37. UNUSED(context);
  38. UNUSED(event);
  39. bool consumed = true;
  40. return consumed;
  41. }
  42. void evil_portal_scene_select_html_on_exit(void* context) {
  43. UNUSED(context);
  44. }