pof_scene_file_select.c 990 B

123456789101112131415161718192021222324252627282930313233
  1. #include "../portal_of_flipper_i.h"
  2. #include "../pof_token.h"
  3. #define TAG "PoFSceneFileSelect"
  4. void pof_scene_file_select_on_enter(void* context) {
  5. PoFApp* pof = context;
  6. VirtualPortal* virtual_portal = pof->virtual_portal;
  7. PoFToken* pof_token = pof_token_alloc();
  8. // Process file_select return
  9. pof_token_set_loading_callback(pof_token, pof_show_loading_popup, pof);
  10. if(pof_token && pof_file_select(pof_token)) {
  11. virtual_portal_load_token(virtual_portal, pof_token);
  12. scene_manager_next_scene(pof->scene_manager, PoFSceneMain);
  13. } else {
  14. scene_manager_search_and_switch_to_previous_scene(pof->scene_manager, PoFSceneMain);
  15. }
  16. pof_token_free(pof_token);
  17. pof_token_set_loading_callback(pof_token, NULL, pof);
  18. }
  19. bool pof_scene_file_select_on_event(void* context, SceneManagerEvent event) {
  20. UNUSED(context);
  21. UNUSED(event);
  22. return false;
  23. }
  24. void pof_scene_file_select_on_exit(void* context) {
  25. UNUSED(context);
  26. }